(** Conversions to/from 32-bit integers can be implemented by going through 64-bit integers. *)
Remark ZofB_range_widen:
forall (f: float) n min1 max1 min2 max2,
ZofB_range _ _ f min1 max1 = Some n ->
min2 <= min1 -> max1 <= max2 ->
ZofB_range _ _ f min2 max2 = Some n.

(* Specifications: *)
Theorem to_int_to_long:
forall f n, to_int f = Some n -> to_long f = Some (Int64.repr (Int.signed n)).
Theorem to_intu_to_longu:
forall f n, to_intu f = Some n -> to_longu f = Some (Int64.repr (Int.unsigned n)).
Theorem to_intu_to_long:
forall f n, to_intu f = Some n -> to_long f = Some (Int64.repr (Int.unsigned n)).
Theorem of_int_of_long:
forall n, of_int n = of_long (Int64.repr (Int.signed n)).
Theorem of_intu_of_longu:
forall n, of_intu n = of_longu (Int64.repr (Int.unsigned n)).
Theorem of_intu_of_long:
forall n, of_intu n = of_long (Int64.repr (Int.unsigned n)).
Theorem to_int_to_long:
forall f n, to_int f = Some n -> to_long f = Some (Int64.repr (Int.signed n)).
Theorem to_intu_to_longu:
forall f n, to_intu f = Some n -> to_longu f = Some (Int64.repr (Int.unsigned n)).
Theorem to_intu_to_long:
forall f n, to_intu f = Some n -> to_long f = Some (Int64.repr (Int.unsigned n)).
Theorem of_int_of_long:
forall n, of_int n = of_long (Int64.repr (Int.signed n)).
Theorem of_intu_of_longu:
forall n, of_intu n = of_longu (Int64.repr (Int.unsigned n)).
Theorem of_intu_of_long:
forall n, of_intu n = of_long (Int64.repr (Int.unsigned n)).