Issues with float mathematics (Can't add 0.000000000000000001 + storedfloat);

That’s because in example 2, you are adding two floats together who are in relatively the same range (very small numbers). The problem occurs when you have floats of widely different values being used together. It’s called floating-point error and is a well known caveat of any and all floating-point operations. Sometimes, things work by fluke - other times they won’t.

Most FMath functions work only with floats, and will therefore convert/cast your double to a float when you use them - so often you have to call the platform-specific implementation directly. If you do all of your floating-point operations in doubles and cast back to floats at the VERY end, you might be able to use them.