How can you get those values?
Compile with -al, check generated assembler source.
Do you mean than 25.144927032417758 is stored as 25.14492703241775?
Why?
Floating point is binary, not decimal. Rounded down to the floating point value that has the lowest bit one lower.
This can be seen in the change from 102 to 101 in the code that I quoted. The first byte is probably the least significant of the mantissa, and that went from binary "10" at the end to "01".