(** Conversions from 64-bit integers to single-precision floats can be expressed as conversion to a double-precision float followed by a [Float32.of_double] conversion. To avoid double rounding when the integer is large (above [2^53]), a round to odd must be performed on the integer before conversion to double-precision float. *)

Theorem of_long_double_1:
forall n,
Z.abs (Int64.signed n) <= 2^53 ->
of_long n = of_double (Float.of_long n).