Rounding error happens. It's worse if you do add/subtract a very big number and a very small number.
Rounding error increases as you do more operations.
Depending on your platform, you may need to accomodate NaN's and positive/negative infinity.
Old programmers joke from the time when cpus didn't have floating point co-processors.
It's possible, but it certainly is tedious.