the calculations are all done internally as floating point with no loss,
This is a fallacy; floating point (or fixed point, for that matter) calculations are not lossless
*. There is no such thing as infinite precision in computing.
Integer calculations, on the other hand,
are lossless as long as you don't go out of bounds.
* Not all floating point or fixed point calculations are lossy, though.