Floating point calculations on a low level processor like a mcu can have horrible performance, it has to do with the fact that the floating point unit is usually HUGE and takes up alot of space on the die, some times I really wonder exactly why they are even necessary for RISC processors that are not intended to handle mathematical calculations which require a convergence to zero or infinity, ie calculus.
Try changing your unit of representation for the number from volts to mv or something smaller your accuracy will go up and you won't need floating point calculations and if the processor runs only at 20 mhz, geeeeezzzz you want to avoid floating point calculations as much as you can.
I use this method of changing the unit representation all the time to avoid using floating point numbers, and trust me the accuracy is just as good (depending on what unit you chose to use ) or in plenty of cases I've seen better and the performance is as well.