Does the Ocaml implementation make guarantees about the stable representation of floats? In particular, if I use Int64.float_of_bits to create a particular NaN representation, am I guaranteed that its bit pattern is maintained no matter where the value is stored or passed?
We are currently in the process of implementing a reference interpreter for a little low-level language, and that tries to be as accurate as possible about float representations.