Actually, I noticed something very similar the other day: I was working with type var and they only seemed to have float precision instead of double, which is concerning.

I will test some more when I have time.

You can do arithmetic operations instead of printf to test the accuracy. For example, you can subtract close values, like 1.00000001 - 1.0,
and check the result which would be 0 for type float but >0 for type double.