This fails on ARM? I'd expect an exact conversion for all floating point sizes, no?