What size is the float in materials

I have realised I am have a problem with the limitations of precision with floats. Specifically, storing a number ~25000 in a FFloat16 is not precise enough for what I need. My plan to solve this was to reduce the values saved in the texture by say a factor of 10 or 100 and then multiply in the material back up to the original values.

This doesn’t appear to be working, is this because when I am manipulating floats and colours in material networks it is using 16 bit floats? I couldn’t find any technical documentation detailing the specifics of it.

HLSL spec seems to suggest it would be a 32 bit float but for some reason my HLSL code window doesn’t seem to be showing anything useful.

It would appear the value is a full size Float32 as expected. (No source for this, experimental data)

This was not the problem: by using a texture coordinate node and times by 25000 the precision was stil great enough to avoid the stepping. Instead the problem seems to be to do with the saving to render target itself.