(** Conversion of single-precision floats to integers can be decomposed into a [Float32.to_double] extension, followed by a double-precision-to-int conversion. *)

(* Specifications: *)
Theorem to_int_double:
forall f n, to_int f = Some n -> Float.to_int (to_double f) = Some n.
Theorem to_intu_double:
forall f n, to_intu f = Some n -> Float.to_intu (to_double f) = Some n.
Theorem to_long_double:
forall f n, to_long f = Some n -> Float.to_long (to_double f) = Some n.
Theorem to_longu_double:
forall f n, to_longu f = Some n -> Float.to_longu (to_double f) = Some n.
Theorem to_int_double:
forall f n, to_int f = Some n -> Float.to_int (to_double f) = Some n.
Theorem to_intu_double:
forall f n, to_intu f = Some n -> Float.to_intu (to_double f) = Some n.
Theorem to_long_double:
forall f n, to_long f = Some n -> Float.to_long (to_double f) = Some n.
Theorem to_longu_double:
forall f n, to_longu f = Some n -> Float.to_longu (to_double f) = Some n.