summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog8
-rw-r--r--backend/CMtypecheck.ml2
-rw-r--r--backend/Cminor.v14
-rw-r--r--backend/PrintCminor.ml2
-rw-r--r--backend/SelectLong.vp11
-rw-r--r--backend/SelectLongproof.v24
-rw-r--r--backend/Selection.v2
-rw-r--r--backend/Selectionproof.v2
-rw-r--r--cfrontend/Cminorgenproof.v2
-rw-r--r--cfrontend/Cop.v12
-rw-r--r--cfrontend/Cshmgen.v12
-rw-r--r--cfrontend/Cshmgenproof.v6
-rw-r--r--cfrontend/SimplLocalsproof.v3
-rw-r--r--common/Values.v12
-rw-r--r--lib/Floats.v18
-rw-r--r--test/regression/Results/int64360
-rw-r--r--test/regression/int64.c5
17 files changed, 475 insertions, 20 deletions
diff --git a/Changelog b/Changelog
index 321e9ad..a7151c6 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,11 @@
+Development trunk:
+==================
+
+- Avoid double rounding issues in conversion from 64-bit integers
+ to single-precision floats.
+- PowerPC: more efficient implementation of division on 64-bit integers.
+
+
Release 2.0, 2013-06-21
=======================
diff --git a/backend/CMtypecheck.ml b/backend/CMtypecheck.ml
index 1ca13ff..f78f470 100644
--- a/backend/CMtypecheck.ml
+++ b/backend/CMtypecheck.ml
@@ -115,6 +115,8 @@ let type_unary_operation = function
| Olonguoffloat -> tfloat, tlong
| Ofloatoflong -> tlong, tfloat
| Ofloatoflongu -> tlong, tfloat
+ | Osingleoflong -> tlong, tfloat
+ | Osingleoflongu -> tlong, tfloat
let type_binary_operation = function
| Oadd -> tint, tint, tint
diff --git a/backend/Cminor.v b/backend/Cminor.v
index 6b36b4d..9f7244b 100644
--- a/backend/Cminor.v
+++ b/backend/Cminor.v
@@ -49,7 +49,7 @@ Inductive unary_operation : Type :=
| Onotint: unary_operation (**r bitwise complement *)
| Onegf: unary_operation (**r float opposite *)
| Oabsf: unary_operation (**r float absolute value *)
- | Osingleoffloat: unary_operation (**r float truncation *)
+ | Osingleoffloat: unary_operation (**r float truncation to float32 *)
| Ointoffloat: unary_operation (**r signed integer to float *)
| Ointuoffloat: unary_operation (**r unsigned integer to float *)
| Ofloatofint: unary_operation (**r float to signed integer *)
@@ -59,10 +59,12 @@ Inductive unary_operation : Type :=
| Ointoflong: unary_operation (**r long to int *)
| Olongofint: unary_operation (**r signed int to long *)
| Olongofintu: unary_operation (**r unsigned int to long *)
- | Olongoffloat: unary_operation (**r signed long to float *)
- | Olonguoffloat: unary_operation (**r unsigned long to float *)
- | Ofloatoflong: unary_operation (**r float to signed long *)
- | Ofloatoflongu: unary_operation. (**r float to unsigned long *)
+ | Olongoffloat: unary_operation (**r float to signed long *)
+ | Olonguoffloat: unary_operation (**r float to unsigned long *)
+ | Ofloatoflong: unary_operation (**r signed long to float *)
+ | Ofloatoflongu: unary_operation (**r unsigned long to float *)
+ | Osingleoflong: unary_operation (**r signed long to float32 *)
+ | Osingleoflongu: unary_operation. (**r unsigned long to float32 *)
Inductive binary_operation : Type :=
| Oadd: binary_operation (**r integer addition *)
@@ -271,6 +273,8 @@ Definition eval_unop (op: unary_operation) (arg: val) : option val :=
| Olonguoffloat => Val.longuoffloat arg
| Ofloatoflong => Val.floatoflong arg
| Ofloatoflongu => Val.floatoflongu arg
+ | Osingleoflong => Val.singleoflong arg
+ | Osingleoflongu => Val.singleoflongu arg
end.
Definition eval_binop
diff --git a/backend/PrintCminor.ml b/backend/PrintCminor.ml
index 4fbc600..ad02ed8 100644
--- a/backend/PrintCminor.ml
+++ b/backend/PrintCminor.ml
@@ -69,6 +69,8 @@ let name_of_unop = function
| Olonguoffloat -> "longuoffloat"
| Ofloatoflong -> "floatoflong"
| Ofloatoflongu -> "floatoflongu"
+ | Osingleoflong -> "singleoflong"
+ | Osingleoflongu -> "singleoflongu"
let comparison_name = function
| Ceq -> "=="
diff --git a/backend/SelectLong.vp b/backend/SelectLong.vp
index aad9d60..76cc79d 100644
--- a/backend/SelectLong.vp
+++ b/backend/SelectLong.vp
@@ -31,6 +31,8 @@ Record helper_functions : Type := mk_helper_functions {
i64_dtou: ident; (**r float -> unsigned long *)
i64_stod: ident; (**r signed long -> float *)
i64_utod: ident; (**r unsigned long -> float *)
+ i64_stof: ident; (**r signed long -> float32 *)
+ i64_utof: ident; (**r unsigned long -> float32 *)
i64_neg: ident; (**r opposite *)
i64_add: ident; (**r addition *)
i64_sub: ident; (**r subtraction *)
@@ -46,6 +48,7 @@ Record helper_functions : Type := mk_helper_functions {
Definition sig_l_l := mksignature (Tlong :: nil) (Some Tlong).
Definition sig_l_f := mksignature (Tlong :: nil) (Some Tfloat).
+Definition sig_l_s := mksignature (Tlong :: nil) (Some Tsingle).
Definition sig_f_l := mksignature (Tfloat :: nil) (Some Tlong).
Definition sig_ll_l := mksignature (Tlong :: Tlong :: nil) (Some Tlong).
Definition sig_li_l := mksignature (Tlong :: Tint :: nil) (Some Tlong).
@@ -135,6 +138,10 @@ Definition floatoflong (arg: expr) :=
Eexternal hf.(i64_stod) sig_l_f (arg ::: Enil).
Definition floatoflongu (arg: expr) :=
Eexternal hf.(i64_utod) sig_l_f (arg ::: Enil).
+Definition singleoflong (arg: expr) :=
+ Eexternal hf.(i64_stof) sig_l_s (arg ::: Enil).
+Definition singleoflongu (arg: expr) :=
+ Eexternal hf.(i64_utof) sig_l_s (arg ::: Enil).
Definition andl (e1 e2: expr) :=
splitlong2 e1 e2 (fun h1 l1 h2 l2 => makelong (and h1 h2) (and l1 l2)).
@@ -361,6 +368,8 @@ Definition get_helpers (ge: Cminor.genv): res helper_functions :=
do i64_dtou <- get_helper ge "__i64_dtou" sig_f_l ;
do i64_stod <- get_helper ge "__i64_stod" sig_l_f ;
do i64_utod <- get_helper ge "__i64_utod" sig_l_f ;
+ do i64_stof <- get_helper ge "__i64_stof" sig_l_s ;
+ do i64_utof <- get_helper ge "__i64_utof" sig_l_s ;
do i64_neg <- get_builtin "__builtin_negl" sig_l_l ;
do i64_add <- get_builtin "__builtin_addl" sig_ll_l ;
do i64_sub <- get_builtin "__builtin_subl" sig_ll_l ;
@@ -373,6 +382,6 @@ Definition get_helpers (ge: Cminor.genv): res helper_functions :=
do i64_shr <- get_helper ge "__i64_shr" sig_li_l ;
do i64_sar <- get_helper ge "__i64_sar" sig_li_l ;
OK (mk_helper_functions
- i64_dtos i64_dtou i64_stod i64_utod
+ i64_dtos i64_dtou i64_stod i64_utod i64_stof i64_utof
i64_neg i64_add i64_sub i64_mul i64_sdiv i64_udiv i64_smod i64_umod
i64_shl i64_shr i64_sar).
diff --git a/backend/SelectLongproof.v b/backend/SelectLongproof.v
index 3eeeeb5..3978828 100644
--- a/backend/SelectLongproof.v
+++ b/backend/SelectLongproof.v
@@ -51,6 +51,8 @@ Definition i64_helpers_correct (hf: helper_functions) : Prop :=
/\(forall x z, Val.longuoffloat x = Some z -> helper_implements hf.(i64_dtou) sig_f_l (x::nil) z)
/\(forall x z, Val.floatoflong x = Some z -> helper_implements hf.(i64_stod) sig_l_f (x::nil) z)
/\(forall x z, Val.floatoflongu x = Some z -> helper_implements hf.(i64_utod) sig_l_f (x::nil) z)
+ /\(forall x z, Val.singleoflong x = Some z -> helper_implements hf.(i64_stof) sig_l_s (x::nil) z)
+ /\(forall x z, Val.singleoflongu x = Some z -> helper_implements hf.(i64_utof) sig_l_s (x::nil) z)
/\(forall x, builtin_implements hf.(i64_neg) sig_l_l (x::nil) (Val.negl x))
/\(forall x y, builtin_implements hf.(i64_add) sig_ll_l (x::y::nil) (Val.addl x y))
/\(forall x y, builtin_implements hf.(i64_sub) sig_ll_l (x::y::nil) (Val.subl x y))
@@ -433,6 +435,28 @@ Proof.
auto.
Qed.
+Theorem eval_singleoflong:
+ forall le a x y,
+ eval_expr ge sp e m le a x ->
+ Val.singleoflong x = Some y ->
+ exists v, eval_expr ge sp e m le (singleoflong hf a) v /\ Val.lessdef y v.
+Proof.
+ intros; unfold singleoflong. econstructor; split.
+ eapply eval_helper_1; eauto. UseHelper.
+ auto.
+Qed.
+
+Theorem eval_singleoflongu:
+ forall le a x y,
+ eval_expr ge sp e m le a x ->
+ Val.singleoflongu x = Some y ->
+ exists v, eval_expr ge sp e m le (singleoflongu hf a) v /\ Val.lessdef y v.
+Proof.
+ intros; unfold singleoflongu. econstructor; split.
+ eapply eval_helper_1; eauto. UseHelper.
+ auto.
+Qed.
+
Theorem eval_andl: binary_constructor_sound andl Val.andl.
Proof.
red; intros. unfold andl. apply eval_splitlong2; auto.
diff --git a/backend/Selection.v b/backend/Selection.v
index edc63cd..b35c891 100644
--- a/backend/Selection.v
+++ b/backend/Selection.v
@@ -98,6 +98,8 @@ Definition sel_unop (op: Cminor.unary_operation) (arg: expr) : expr :=
| Cminor.Olonguoffloat => longuoffloat hf arg
| Cminor.Ofloatoflong => floatoflong hf arg
| Cminor.Ofloatoflongu => floatoflongu hf arg
+ | Cminor.Osingleoflong => singleoflong hf arg
+ | Cminor.Osingleoflongu => singleoflongu hf arg
end.
Definition sel_binop (op: Cminor.binary_operation) (arg1 arg2: expr) : expr :=
diff --git a/backend/Selectionproof.v b/backend/Selectionproof.v
index 93a5c51..e94f85d 100644
--- a/backend/Selectionproof.v
+++ b/backend/Selectionproof.v
@@ -203,6 +203,8 @@ Proof.
eapply eval_longuoffloat; eauto.
eapply eval_floatoflong; eauto.
eapply eval_floatoflongu; eauto.
+ eapply eval_singleoflong; eauto.
+ eapply eval_singleoflongu; eauto.
Qed.
Lemma eval_sel_binop:
diff --git a/cfrontend/Cminorgenproof.v b/cfrontend/Cminorgenproof.v
index d6b99ed..672f804 100644
--- a/cfrontend/Cminorgenproof.v
+++ b/cfrontend/Cminorgenproof.v
@@ -1532,6 +1532,8 @@ Proof.
inv H0; simpl in H; inv H. simpl. destruct (Float.longuoffloat f0); simpl in *; inv H1. TrivialExists.
inv H0; simpl in H; inv H. simpl. TrivialExists.
inv H0; simpl in H; inv H. simpl. TrivialExists.
+ inv H0; simpl in H; inv H. simpl. TrivialExists.
+ inv H0; simpl in H; inv H. simpl. TrivialExists.
Qed.
(** Compatibility of [eval_binop] with respect to [val_inject]. *)
diff --git a/cfrontend/Cop.v b/cfrontend/Cop.v
index 4932bad..1148d09 100644
--- a/cfrontend/Cop.v
+++ b/cfrontend/Cop.v
@@ -151,10 +151,12 @@ Definition cast_int_long (si: signedness) (i: int) : int64 :=
| Unsigned => Int64.repr (Int.unsigned i)
end.
-Definition cast_long_float (si : signedness) (i: int64) : float :=
- match si with
- | Signed => Float.floatoflong i
- | Unsigned => Float.floatoflongu i
+Definition cast_long_float (si: signedness) (sz: floatsize) (i: int64) : float :=
+ match si, sz with
+ | Signed, F64 => Float.floatoflong i
+ | Unsigned, F64 => Float.floatoflongu i
+ | Signed, F32 => Float.singleoflong i
+ | Unsigned, F32 => Float.singleoflongu i
end.
Definition cast_float_long (si : signedness) (f: float) : option int64 :=
@@ -229,7 +231,7 @@ Definition sem_cast (v: val) (t1 t2: type) : option val :=
end
| cast_case_l2f si1 sz2 =>
match v with
- | Vlong i => Some (Vfloat (cast_float_float sz2 (cast_long_float si1 i)))
+ | Vlong i => Some (Vfloat (cast_long_float si1 sz2 i))
| _ => None
end
| cast_case_f2l si2 =>
diff --git a/cfrontend/Cshmgen.v b/cfrontend/Cshmgen.v
index ad89a2d..c8a030c 100644
--- a/cfrontend/Cshmgen.v
+++ b/cfrontend/Cshmgen.v
@@ -72,10 +72,12 @@ Definition make_longofint (e: expr) (sg: signedness) :=
| Unsigned => Eunop Olongofintu e
end.
-Definition make_floatoflong (e: expr) (sg: signedness) :=
- match sg with
- | Signed => Eunop Ofloatoflong e
- | Unsigned => Eunop Ofloatoflongu e
+Definition make_floatoflong (e: expr) (sg: signedness) (sz: floatsize) :=
+ match sg, sz with
+ | Signed, F64 => Eunop Ofloatoflong e
+ | Unsigned, F64 => Eunop Ofloatoflongu e
+ | Signed, F32 => Eunop Osingleoflong e
+ | Unsigned, F32 => Eunop Osingleoflongu e
end.
Definition make_longoffloat (e: expr) (sg: signedness) :=
@@ -123,7 +125,7 @@ Definition make_cast (from to: type) (e: expr) :=
| cast_case_l2l => OK e
| cast_case_i2l si1 => OK (make_longofint e si1)
| cast_case_l2i sz2 si2 => OK (make_cast_int (Eunop Ointoflong e) sz2 si2)
- | cast_case_l2f si1 sz2 => OK (make_cast_float (make_floatoflong e si1) sz2)
+ | cast_case_l2f si1 sz2 => OK (make_floatoflong e si1 sz2)
| cast_case_f2l si2 => OK (make_longoffloat e si2)
| cast_case_f2bool => OK (Ebinop (Ocmpf Cne) e (make_floatconst Float.zero))
| cast_case_l2bool => OK (Ebinop (Ocmpl Cne) e (make_longconst Int64.zero))
diff --git a/cfrontend/Cshmgenproof.v b/cfrontend/Cshmgenproof.v
index 11f8011..3d5bbba 100644
--- a/cfrontend/Cshmgenproof.v
+++ b/cfrontend/Cshmgenproof.v
@@ -172,12 +172,12 @@ Proof.
Qed.
Lemma make_floatoflong_correct:
- forall a n sg e le m,
+ forall a n sg sz e le m,
eval_expr ge e le m a (Vlong n) ->
- eval_expr ge e le m (make_floatoflong a sg) (Vfloat(cast_long_float sg n)).
+ eval_expr ge e le m (make_floatoflong a sg sz) (Vfloat(cast_long_float sg sz n)).
Proof.
intros. unfold make_floatoflong, cast_int_long.
- destruct sg; econstructor; eauto.
+ destruct sg; destruct sz; econstructor; eauto.
Qed.
Lemma make_longoffloat_correct:
diff --git a/cfrontend/SimplLocalsproof.v b/cfrontend/SimplLocalsproof.v
index 515049a..ad8a06a 100644
--- a/cfrontend/SimplLocalsproof.v
+++ b/cfrontend/SimplLocalsproof.v
@@ -287,7 +287,8 @@ Proof.
(* float *)
destruct ty; simpl in H; try discriminate; destruct v; inv H.
constructor. apply cast_float_float_idem.
- constructor. apply cast_float_float_idem.
+ constructor. unfold cast_float_float, cast_long_float.
+ destruct f; destruct s; auto. apply Float.singleoflong_idem. apply Float.singleoflongu_idem.
constructor. apply cast_float_float_idem.
(* pointer *)
destruct ty; simpl in H; try discriminate; destruct v; inv H; try constructor.
diff --git a/common/Values.v b/common/Values.v
index 7caf551..b937071 100644
--- a/common/Values.v
+++ b/common/Values.v
@@ -438,6 +438,18 @@ Definition floatoflongu (v: val) : option val :=
| _ => None
end.
+Definition singleoflong (v: val) : option val :=
+ match v with
+ | Vlong n => Some (Vfloat (Float.singleoflong n))
+ | _ => None
+ end.
+
+Definition singleoflongu (v: val) : option val :=
+ match v with
+ | Vlong n => Some (Vfloat (Float.singleoflongu n))
+ | _ => None
+ end.
+
Definition addl (v1 v2: val): val :=
match v1, v2 with
| Vlong n1, Vlong n2 => Vlong(Int64.add n1 n2)
diff --git a/lib/Floats.v b/lib/Floats.v
index 3edf39c..9df4106 100644
--- a/lib/Floats.v
+++ b/lib/Floats.v
@@ -174,11 +174,17 @@ Definition floatofint (n:int): float := (**r conversion from signed 32-bit int *
binary_normalize64 (Int.signed n) 0 false.
Definition floatofintu (n:int): float:= (**r conversion from unsigned 32-bit int *)
binary_normalize64 (Int.unsigned n) 0 false.
+
Definition floatoflong (n:int64): float := (**r conversion from signed 64-bit int *)
binary_normalize64 (Int64.signed n) 0 false.
Definition floatoflongu (n:int64): float:= (**r conversion from unsigned 64-bit int *)
binary_normalize64 (Int64.unsigned n) 0 false.
+Definition singleoflong (n:int64): float := (**r conversion from signed 64-bit int to single-precision float *)
+ floatofbinary32 (binary_normalize32 (Int64.signed n) 0 false).
+Definition singleoflongu (n:int64): float:= (**r conversion from unsigned 64-bit int to single-precision float *)
+ floatofbinary32 (binary_normalize32 (Int64.unsigned n) 0 false).
+
Definition add: float -> float -> float := b64_plus mode_NE. (**r addition *)
Definition sub: float -> float -> float := b64_minus mode_NE. (**r subtraction *)
Definition mul: float -> float -> float := b64_mult mode_NE. (**r multiplication *)
@@ -319,6 +325,18 @@ Proof.
intros; unfold singleoffloat; rewrite binary32offloatofbinary32; reflexivity.
Qed.
+Theorem singleoflong_idem:
+ forall n, singleoffloat (singleoflong n) = singleoflong n.
+Proof.
+ intros; unfold singleoffloat, singleoflong; rewrite binary32offloatofbinary32; reflexivity.
+Qed.
+
+Theorem singleoflongu_idem:
+ forall n, singleoffloat (singleoflongu n) = singleoflongu n.
+Proof.
+ intros; unfold singleoffloat, singleoflongu; rewrite binary32offloatofbinary32; reflexivity.
+Qed.
+
Definition is_single (f: float) : Prop := exists s, f = floatofbinary32 s.
Theorem singleoffloat_is_single:
diff --git a/test/regression/Results/int64 b/test/regression/Results/int64
index 6e536f7..307d088 100644
--- a/test/regression/Results/int64
+++ b/test/regression/Results/int64
@@ -25,6 +25,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 1
@@ -53,6 +55,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = ffffffffffffffff
@@ -81,6 +85,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 7fffffff
@@ -109,6 +115,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 80000000
@@ -137,6 +145,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 7fffffffffffffff
@@ -165,6 +175,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 8000000000000000
@@ -193,6 +205,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 100000003
@@ -221,6 +235,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 0
y = 14057b7ef767814f
@@ -249,6 +265,8 @@ utod x = 0
dtou f = 0
stod x = 0
dtos f = 0
+utof x = 0
+stof x = 0
x = 1a08ee1184ba6d32
y = 0
@@ -277,6 +295,8 @@ utod x = 43ba08ee1184ba6d
dtou f = aa9f48f29aaf
stod x = 43ba08ee1184ba6d
dtos f = aa9f48f29aaf
+utof x = 5dd04771
+stof x = 5dd04771
x = 1
y = 0
@@ -305,6 +325,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 1
@@ -333,6 +355,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = ffffffffffffffff
@@ -361,6 +385,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 7fffffff
@@ -389,6 +415,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 80000000
@@ -417,6 +445,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 7fffffffffffffff
@@ -445,6 +475,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 8000000000000000
@@ -473,6 +505,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 100000003
@@ -501,6 +535,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 1
y = 9af678222e728119
@@ -529,6 +565,8 @@ utod x = 3ff0000000000000
dtou f = 0
stod x = 3ff0000000000000
dtos f = 0
+utof x = 3f800000
+stof x = 3f800000
x = 66b61ae97f2099b4
y = 1
@@ -557,6 +595,8 @@ utod x = 43d9ad86ba5fc826
dtou f = 2a1210c1f1b75
stod x = 43d9ad86ba5fc826
dtos f = 2a1210c1f1b75
+utof x = 5ecd6c36
+stof x = 5ecd6c36
x = ffffffffffffffff
y = 0
@@ -585,6 +625,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 1
@@ -613,6 +655,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = ffffffffffffffff
@@ -641,6 +685,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 7fffffff
@@ -669,6 +715,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 80000000
@@ -697,6 +745,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 7fffffffffffffff
@@ -725,6 +775,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 8000000000000000
@@ -753,6 +805,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 100000003
@@ -781,6 +835,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = ffffffffffffffff
y = 62354cda6226d1f3
@@ -809,6 +865,8 @@ utod x = 43f0000000000000
dtou f = 68db8bac710cb
stod x = bff0000000000000
dtos f = 0
+utof x = 5f800000
+stof x = bf800000
x = 8f947f36d0d0f606
y = ffffffffffffffff
@@ -837,6 +895,8 @@ utod x = 43e1f28fe6da1a1f
dtou f = 3acf760d70f97
stod x = c3dc1ae0324bcbc2
dtos f = fffd1f3ea60ffecc
+utof x = 5f0f947f
+stof x = dee0d702
x = 7fffffff
y = 0
@@ -865,6 +925,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 1
@@ -893,6 +955,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = ffffffffffffffff
@@ -921,6 +985,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 7fffffff
@@ -949,6 +1015,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 80000000
@@ -977,6 +1045,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 7fffffffffffffff
@@ -1005,6 +1075,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 8000000000000000
@@ -1033,6 +1105,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 100000003
@@ -1061,6 +1135,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7fffffff
y = 144093704fadba5d
@@ -1089,6 +1165,8 @@ utod x = 41dfffffffc00000
dtou f = 346dc
stod x = 41dfffffffc00000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 5b21778e3c8666a8
y = 7fffffff
@@ -1117,6 +1195,8 @@ utod x = 43d6c85de38f219a
dtou f = 2553bfeb9de93
stod x = 43d6c85de38f219a
dtos f = 2553bfeb9de93
+utof x = 5eb642ef
+stof x = 5eb642ef
x = 80000000
y = 0
@@ -1145,6 +1225,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 1
@@ -1173,6 +1255,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = ffffffffffffffff
@@ -1201,6 +1285,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 7fffffff
@@ -1229,6 +1315,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 80000000
@@ -1257,6 +1345,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 7fffffffffffffff
@@ -1285,6 +1375,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 8000000000000000
@@ -1313,6 +1405,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 100000003
@@ -1341,6 +1435,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 80000000
y = 7b985bc1e7bce4d7
@@ -1369,6 +1465,8 @@ utod x = 41e0000000000000
dtou f = 346dc
stod x = 41e0000000000000
dtos f = 346dc
+utof x = 4f000000
+stof x = 4f000000
x = 7252e9376e45641a
y = 80000000
@@ -1397,6 +1495,8 @@ utod x = 43dc94ba4ddb9159
dtou f = 2ed3ba0c0e099
stod x = 43dc94ba4ddb9159
dtos f = 2ed3ba0c0e099
+utof x = 5ee4a5d2
+stof x = 5ee4a5d2
x = 7fffffffffffffff
y = 0
@@ -1425,6 +1525,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 1
@@ -1453,6 +1555,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = ffffffffffffffff
@@ -1481,6 +1585,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 7fffffff
@@ -1509,6 +1615,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 80000000
@@ -1537,6 +1645,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 7fffffffffffffff
@@ -1565,6 +1675,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 8000000000000000
@@ -1593,6 +1705,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = 100000003
@@ -1621,6 +1735,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 7fffffffffffffff
y = a220229ec164ffe1
@@ -1649,6 +1765,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = 43e0000000000000
dtos f = 346dc5d638865
+utof x = 5f000000
+stof x = 5f000000
x = 5d7d4da4cb0e1adc
y = 7fffffffffffffff
@@ -1677,6 +1795,8 @@ utod x = 43d75f536932c387
dtou f = 264b14be61190
stod x = 43d75f536932c387
dtos f = 264b14be61190
+utof x = 5ebafa9b
+stof x = 5ebafa9b
x = 8000000000000000
y = 0
@@ -1705,6 +1825,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 1
@@ -1733,6 +1855,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = ffffffffffffffff
@@ -1761,6 +1885,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 7fffffff
@@ -1789,6 +1915,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 80000000
@@ -1817,6 +1945,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 7fffffffffffffff
@@ -1845,6 +1975,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 8000000000000000
@@ -1873,6 +2005,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = 100000003
@@ -1901,6 +2035,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 8000000000000000
y = c73aa0d9a415dfb
@@ -1929,6 +2065,8 @@ utod x = 43e0000000000000
dtou f = 346dc5d638865
stod x = c3e0000000000000
dtos f = fffcb923a29c779b
+utof x = 5f000000
+stof x = df000000
x = 18e9107ab99b8b6e
y = 8000000000000000
@@ -1957,6 +2095,8 @@ utod x = 43b8e9107ab99b8b
dtou f = a340baa47edc
stod x = 43b8e9107ab99b8b
dtos f = a340baa47edc
+utof x = 5dc74884
+stof x = 5dc74884
x = 100000003
y = 0
@@ -1985,6 +2125,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 1
@@ -2013,6 +2155,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = ffffffffffffffff
@@ -2041,6 +2185,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 7fffffff
@@ -2069,6 +2215,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 80000000
@@ -2097,6 +2245,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 7fffffffffffffff
@@ -2125,6 +2275,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 8000000000000000
@@ -2153,6 +2305,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = 100000003
@@ -2181,6 +2335,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 100000003
y = e9bcd26890f095a5
@@ -2209,6 +2365,8 @@ utod x = 41f0000000300000
dtou f = 68db8
stod x = 41f0000000300000
dtos f = 68db8
+utof x = 4f800000
+stof x = 4f800000
x = 329cb23ce0f7aa50
y = 100000003
@@ -2237,6 +2395,8 @@ utod x = 43c94e591e707bd5
dtou f = 14bb101261e18
stod x = 43c94e591e707bd5
dtos f = 14bb101261e18
+utof x = 5e4a72c9
+stof x = 5e4a72c9
x = 8362aa9340fe215f
y = f986342416ec8002
@@ -2265,6 +2425,8 @@ utod x = 43e06c5552681fc4
dtou f = 35d0c262d14d7
stod x = c3df27555b2fc078
dtos f = fffccf536b66040d
+utof x = 5f0362ab
+stof x = def93aab
x = 368083376ba4ffa9
y = 6912b247b79a4904
@@ -2293,6 +2455,8 @@ utod x = 43cb40419bb5d280
dtou f = 1652f2fb41ccc
stod x = 43cb40419bb5d280
dtos f = 1652f2fb41ccc
+utof x = 5e5a020d
+stof x = 5e5a020d
x = aefab65d77135303
y = bfc7666ab0ba95d6
@@ -2321,6 +2485,8 @@ utod x = 43e5df56cbaee26a
dtou f = 47abea07f9115
stod x = c3d4415268a23b2b
dtos f = fffded05e5b8804b
+utof x = 5f2efab6
+stof x = dea20a93
x = dec3f99f561701ed
y = 307892d5fe586af8
@@ -2349,6 +2515,8 @@ utod x = 43ebd87f33eac2e0
dtou f = 5b3ea899bcdcc
stod x = c3c09e033054f47f
dtos f = ffff2631ced4bd02
+utof x = 5f5ec3fa
+stof x = de04f01a
x = 7c15eb1a6c5b56e7
y = 74078c767c0560ea
@@ -2377,6 +2545,8 @@ utod x = 43df057ac69b16d6
dtou f = 32d351f657ccf
stod x = 43df057ac69b16d6
dtos f = 32d351f657ccf
+utof x = 5ef82bd6
+stof x = 5ef82bd6
x = 2d2acce24f9fa071
y = 6f47682e14d3c42c
@@ -2405,6 +2575,8 @@ utod x = 43c695667127cfd0
dtou f = 12801f7ddfe5a
stod x = 43c695667127cfd0
dtos f = 12801f7ddfe5a
+utof x = 5e34ab34
+stof x = 5e34ab34
x = 13621127ec8ed10b
y = 9a109dfc559db53e
@@ -2433,6 +2605,8 @@ utod x = 43b3621127ec8ed1
dtou f = 7f076703304d
stod x = 43b3621127ec8ed1
dtos f = 7f076703304d
+utof x = 5d9b1089
+stof x = 5d9b1089
x = 4ab009d226201f35
y = da130a0806148a0
@@ -2461,6 +2635,8 @@ utod x = 43d2ac0274898808
dtou f = 1e979155aadac
stod x = 43d2ac0274898808
dtos f = 1e979155aadac
+utof x = 5e956014
+stof x = 5e956014
x = a8f485b490a8a56f
y = 2dd1b3c84cb9a6d2
@@ -2489,6 +2665,8 @@ utod x = 43e51e90b6921515
dtou f = 45343bae4fbb7
stod x = c3d5c2de92dbd5d7
dtos f = fffdc58b001deaec
+utof x = 5f28f486
+stof x = deae16f5
x = ac82b442fe060239
y = ba09c177d0bd2c54
@@ -2517,6 +2695,8 @@ utod x = 43e59056885fc0c0
dtou f = 46a90b2a98617
stod x = c3d4df52ef407e7f
dtos f = fffddcd7f7e2754d
+utof x = 5f2c82b4
+stof x = dea6fa97
x = b18070243e89f813
y = 8b9a402e6ec889a6
@@ -2545,6 +2725,8 @@ utod x = 43e6300e0487d13f
dtou f = 48b46746f5fb1
stod x = c3d39fe3f6f05d82
dtos f = fffdfd8db9a84ee6
+utof x = 5f318070
+stof x = de9cff20
x = 81dc3a61528f0d7d
y = 20670ecc67fee348
@@ -2573,6 +2755,8 @@ utod x = 43e03b874c2a51e2
dtou f = 3530d5f787ce7
stod x = c3df88f167ab5c3d
dtos f = fffcc554a4b16c1d
+utof x = 5f01dc3a
+stof x = defc478b
x = 148943805ade2cf7
y = b623237a886f1ba
@@ -2601,6 +2785,8 @@ utod x = 43b48943805ade2d
dtou f = 869600d40a9a
stod x = 43b48943805ade2d
dtos f = 869600d40a9a
+utof x = 5da44a1c
+stof x = 5da44a1c
x = 3596d7e2724d4501
y = 200951a3d9cd217c
@@ -2629,6 +2815,8 @@ utod x = 43cacb6bf13926a3
dtou f = 15f33cfbad626
stod x = 43cacb6bf13926a3
dtos f = 15f33cfbad626
+utof x = 5e565b60
+stof x = 5e565b60
x = 8364db7a513ee81b
y = 39c53d919052b30e
@@ -2657,6 +2845,8 @@ utod x = 43e06c9b6f4a27dd
dtou f = 35d1a821b799f
stod x = c3df26c9216bb046
dtos f = fffccf61c75468d5
+utof x = 5f0364db
+stof x = def93649
x = ca6ee36ebbeaecc5
y = 7fe0e5d6d5d1daf0
@@ -2685,6 +2875,8 @@ utod x = 43e94ddc6dd77d5e
dtou f = 52eaa7b41d752
stod x = c3cac88e48a20a8a
dtos f = fffea0f1c07ac687
+utof x = 5f4a6ee3
+stof x = de564472
x = e9872a956980d7f
y = 5abe9b0d2dbee1a2
@@ -2713,6 +2905,8 @@ utod x = 43ad30e552ad301b
dtou f = 5fa72f57d2bd
stod x = 43ad30e552ad301b
dtos f = 5fa72f57d2bd
+utof x = 5d69872b
+stof x = 5d69872b
x = cc90a3111f2e88c9
y = fdb739ffd16e43a4
@@ -2741,6 +2935,8 @@ utod x = 43e992146223e5d1
dtou f = 53ca3196c85e7
stod x = c3c9b7ae777068bc
dtos f = fffeaeea5ea5751c
+utof x = 5f4c90a3
+stof x = de4dbd74
x = f6d06b7289cbc123
y = f78231121267d176
@@ -2769,6 +2965,8 @@ utod x = 43eeda0d6e513978
dtou f = 6518569bde544
stod x = c3a25f291aec687e
dtos f = ffffc3ccaef6d47a
+utof x = 5f76d06b
+stof x = dd12f949
x = 1f75e527a63edd0d
y = cab61a6fe4aecf98
@@ -2797,6 +2995,8 @@ utod x = 43bf75e527a63edd
dtou f = ce2e01d58fbd
stod x = 43bf75e527a63edd
dtos f = ce2e01d58fbd
+utof x = 5dfbaf29
+stof x = 5dfbaf29
x = 67d900b4d6966707
y = 2953a6185807168a
@@ -2825,6 +3025,8 @@ utod x = 43d9f6402d35a59a
dtou f = 2a893795d8eb4
stod x = 43d9f6402d35a59a
dtos f = 2a893795d8eb4
+utof x = 5ecfb201
+stof x = 5ecfb201
x = 89d196850b26ed91
y = 756ef4168e7f32cc
@@ -2853,6 +3055,8 @@ utod x = 43e13a32d0a164de
dtou f = 387356a372c01
stod x = c3dd8b9a5ebd3645
dtos f = fffcf97caf701b36
+utof x = 5f09d197
+stof x = deec5cd3
x = 25ea5203eb2a32b
y = d27bb23d57c784de
@@ -2881,6 +3085,8 @@ utod x = 4382f52901f59519
dtou f = f87b5758598
stod x = 4382f52901f59519
dtos f = f87b5758598
+utof x = 5c17a948
+stof x = 5c17a948
x = 57e7846b9d99fe55
y = 933550ac541e6140
@@ -2909,6 +3115,8 @@ utod x = 43d5f9e11ae76680
dtou f = 240170cfeb5b5
stod x = 43d5f9e11ae76680
dtos f = 240170cfeb5b5
+utof x = 5eafcf09
+stof x = 5eafcf09
x = 7f83a526d3d598f
y = 3562759c2ed93072
@@ -2937,6 +3145,8 @@ utod x = 439fe0e949b4f566
dtou f = 343ad6486db4
stod x = 439fe0e949b4f566
dtos f = 343ad6486db4
+utof x = 5cff074a
+stof x = 5cff074a
x = e2e88e05fcf79359
y = 6d0fe1876fd28ef4
@@ -2965,6 +3175,8 @@ utod x = 43ec5d11c0bf9ef2
dtou f = 5cf112710b749
stod x = c3bd1771fa03086d
dtos f = ffff41586c49a67e
+utof x = 5f62e88e
+stof x = dde8bb90
x = d3099a8b859ae33
y = 8fa8587c64456d46
@@ -2993,6 +3205,8 @@ utod x = 43aa61335170b35c
dtou f = 5670e3244231
stod x = 43aa61335170b35c
dtos f = 5670e3244231
+utof x = 5d53099b
+stof x = 5d53099b
x = b62ea5426a8f709d
y = 31b8858d02dd2fe8
@@ -3021,6 +3235,8 @@ utod x = 43e6c5d4a84d51ee
dtou f = 4a9f307066a12
stod x = c3d27456af655c24
dtos f = fffe1c3a4c3f5948
+utof x = 5f362ea5
+stof x = de93a2b5
x = 2e94ca71f5150517
y = 5f844de64402cf5a
@@ -3049,6 +3265,8 @@ utod x = 43c74a6538fa8a83
dtou f = 131464f1a5831
stod x = 43c74a6538fa8a83
dtos f = 131464f1a5831
+utof x = 5e3a532a
+stof x = 5e3a532a
x = 61bd0eb9b8259a21
y = 134717f07eaef81c
@@ -3077,6 +3295,8 @@ utod x = 43d86f43ae6e0967
dtou f = 2808a00a88ddd
stod x = 43d86f43ae6e0967
dtos f = 2808a00a88ddd
+utof x = 5ec37a1d
+stof x = 5ec37a1d
x = 3b12fa08c18b023b
y = 812e51fdc3492aae
@@ -3105,6 +3325,8 @@ utod x = 43cd897d0460c581
dtou f = 18325f0a8cb71
stod x = 43cd897d0460c581
dtos f = 18325f0a8cb71
+utof x = 5e6c4be8
+stof x = 5e6c4be8
x = 341b83d316b653e5
y = 5153bc26395bdb90
@@ -3133,6 +3355,8 @@ utod x = 43ca0dc1e98b5b2a
dtou f = 1557dd8590e16
stod x = 43ca0dc1e98b5b2a
dtos f = 1557dd8590e16
+utof x = 5e506e0f
+stof x = 5e506e0f
x = 605604a12949899f
y = c5e6d8ea02259342
@@ -3161,6 +3385,8 @@ utod x = 43d81581284a5262
dtou f = 27759007077d8
stod x = 43d81581284a5262
dtos f = 27759007077d8
+utof x = 5ec0ac09
+stof x = 5ec0ac09
x = 94e3e5e2497a21e9
y = 6f2836d5614f0e44
@@ -3189,6 +3415,8 @@ utod x = 43e29c7cbc492f44
dtou f = 3cfc45959f1ec
stod x = c3dac706876da178
dtos f = fffd420b9e92e122
+utof x = 5f14e3e6
+stof x = ded63834
x = 2c62677ac7f4bf43
y = 58ff1a48be4e5d16
@@ -3217,6 +3445,8 @@ utod x = 43c63133bd63fa60
dtou f = 122e0a6fbb2b5
stod x = 43c63133bd63fa60
dtos f = 122e0a6fbb2b5
+utof x = 5e31899e
+stof x = 5e31899e
x = 54328cce0129c82d
y = e66196f0c43f0438
@@ -3245,6 +3475,8 @@ utod x = 43d50ca333804a72
dtou f = 227cbe624e4ce
stod x = 43d50ca333804a72
dtos f = 227cbe624e4ce
+utof x = 5ea8651a
+stof x = 5ea8651a
x = 764480f2ce2b0727
y = e847cd7a4b371c2a
@@ -3273,6 +3505,8 @@ utod x = 43dd91203cb38ac2
dtou f = 30714183cfbc6
stod x = 43dd91203cb38ac2
dtos f = 30714183cfbc6
+utof x = 5eec8902
+stof x = 5eec8902
x = 86e8642063824ab1
y = 200894ad1d61716c
@@ -3301,6 +3535,8 @@ utod x = 43e0dd0c840c7049
dtou f = 37421b15de363
stod x = c3de45e6f7e71f6d
dtos f = fffce668f696d298
+utof x = 5f06e864
+stof x = def22f38
x = f22c66df8ca9054b
y = 3237edb3e364a47e
@@ -3329,6 +3565,8 @@ utod x = 43ee458cdbf19521
dtou f = 6331b9e80f041
stod x = c3aba73240e6adf5
dtos f = ffffa562e3b9df77
+utof x = 5f722c67
+stof x = dd5d3992
x = a952be7c0308ed75
y = f80f290ededf49e0
@@ -3357,6 +3595,8 @@ utod x = 43e52a57cf80611e
dtou f = 455ad38d511d7
stod x = c3d5ab5060ff3dc5
dtos f = fffdc7f47e0e010d
+utof x = 5f2952be
+stof x = dead5a83
x = e36991f169ad9daf
y = 240b76fb67010a12
@@ -3385,6 +3625,8 @@ utod x = 43ec6d323e2d35b4
dtou f = 5d25eaad6e0cf
stod x = c3bc966e0e965262
dtos f = ffff44a5f00fd005
+utof x = 5f636992
+stof x = dde4b370
x = 75714d8bcb0f3479
y = f306b780aa88c194
@@ -3413,6 +3655,8 @@ utod x = 43dd5c5362f2c3cd
dtou f = 301abf81c22cb
stod x = 43dd5c5362f2c3cd
dtos f = 301abf81c22cb
+utof x = 5eeae29b
+stof x = 5eeae29b
x = 941f83cb649df453
y = ea181038dbafa0e6
@@ -3441,6 +3685,8 @@ utod x = 43e283f0796c93bf
dtou f = 3cabd55143047
stod x = c3daf81f0d26d883
dtos f = fffd3d049a4d1f7d
+utof x = 5f141f84
+stof x = ded7c0f8
x = 789d0be4a3f6e3bd
y = 278ae68eedc94c88
@@ -3469,6 +3715,8 @@ utod x = 43de2742f928fdb9
dtou f = 31673cfc93710
stod x = 43de2742f928fdb9
dtos f = 31673cfc93710
+utof x = 5ef13a18
+stof x = 5ef13a18
x = 2ff5275f8be96d37
y = f35327a741a0fcfa
@@ -3497,6 +3745,8 @@ utod x = 43c7fa93afc5f4b7
dtou f = 13a4b8e1e9d87
stod x = 43c7fa93afc5f4b7
dtos f = 13a4b8e1e9d87
+utof x = 5e3fd49d
+stof x = 5e3fd49d
x = cba92b33d3b5ff41
y = 1f0ddcc454db9ebc
@@ -3525,6 +3775,8 @@ utod x = 43e97525667a76c0
dtou f = 536b62630d660
stod x = c3ca2b6a66162500
dtos f = fffea8fd6b69c595
+utof x = 5f4ba92b
+stof x = de515b53
x = 48d35e1a092dac5b
y = 32d5df5f91e6f24e
@@ -3553,6 +3805,8 @@ utod x = 43d234d786824b6b
dtou f = 1dd452c7e644a
stod x = 43d234d786824b6b
dtos f = 1dd452c7e644a
+utof x = 5e91a6bc
+stof x = 5e91a6bc
x = be9793bd5e9acb05
y = 1b8eddf6093dac30
@@ -3581,6 +3835,8 @@ utod x = 43e7d2f277abd359
dtou f = 4e1107ad00a84
stod x = c3d05a1b10a8594d
dtos f = fffe5357c008f9b9
+utof x = 5f3e9794
+stof x = de82d0d9
x = 6a5642c7a79a95bf
y = 8a9c14bdfa0894e2
@@ -3609,6 +3865,8 @@ utod x = 43da9590b1e9e6a5
dtou f = 2b8e3cf0b40fc
stod x = 43da9590b1e9e6a5
dtos f = 2b8e3cf0b40fc
+utof x = 5ed4ac86
+stof x = 5ed4ac86
x = 457806d9ec4fcb09
y = 71e74b55ef64a8e4
@@ -3637,6 +3895,8 @@ utod x = 43d15e01b67b13f3
dtou f = 1c74565d5b77e
stod x = 43d15e01b67b13f3
dtos f = 1c74565d5b77e
+utof x = 5e8af00e
+stof x = 5e8af00e
x = 9f2932af8964d63
y = cfbf03aa8d638b6
@@ -3665,6 +3925,8 @@ utod x = 43a3e52655f12c9b
dtou f = 41313bac4077
stod x = 43a3e52655f12c9b
dtos f = 41313bac4077
+utof x = 5d1f2933
+stof x = 5d1f2933
x = f20b1d13f51fc34d
y = 9ce1509c57b108d8
@@ -3693,6 +3955,8 @@ utod x = 43ee4163a27ea3f8
dtou f = 632417610ecbe
stod x = c3abe9c5d815c079
dtos f = ffffa488bb49dbf3
+utof x = 5f720b1d
+stof x = dd5f4e2f
x = f68a3d1d7aa13747
y = 6db1793cc07d71ca
@@ -3721,6 +3985,8 @@ utod x = 43eed147a3af5427
dtou f = 64fb979962f8b
stod x = c3a2eb85c50abd91
dtos f = ffffc200becf1ec1
+utof x = 5f768a3d
+stof x = dd175c2e
x = d849bdf83b79b7d1
y = 6a1649c9d6a2800c
@@ -3749,6 +4015,8 @@ utod x = 43eb0937bf076f37
dtou f = 5897724416b90
stod x = c3c3db2103e24324
dtos f = fffefbbe697a5ac6
+utof x = 5f5849be
+stof x = de1ed908
x = e725b2286679f76b
y = 6d152baf41dd141e
@@ -3777,6 +4045,8 @@ utod x = 43ece4b6450ccf3f
dtou f = 5ead8bbcfd53f
stod x = c3b8da4dd7998609
dtos f = ffff5d200108c475
+utof x = 5f6725b2
+stof x = ddc6d26f
x = 2e8033e5d5b4ec95
y = 5ff552a5384c0280
@@ -3805,6 +4075,8 @@ utod x = 43c74019f2eada76
dtou f = 130bf620b348e
stod x = 43c74019f2eada76
dtos f = 130bf620b348e
+utof x = 5e3a00d0
+stof x = 5e3a00d0
x = ef43bef3068171cf
y = b7c320f5051933b2
@@ -3833,6 +4105,8 @@ utod x = 43ede877de60d02e
dtou f = 6200b71208662
stod x = c3b0bc410cf97e8e
dtos f = ffff9252b6597598
+utof x = 5f6f43bf
+stof x = dd85e208
x = 90d105664c14e599
y = 457cda70c307c434
@@ -3861,6 +4135,8 @@ utod x = 43e21a20acc9829d
dtou f = 3b511c0437bd3
stod x = c3dbcbbea66cfac7
dtos f = fffd2759057c6b08
+utof x = 5f10d105
+stof x = dede5df5
x = 7cb0b0fabc5eca73
y = 24bef482136f2486
@@ -3889,6 +4165,8 @@ utod x = 43df2c2c3eaf17b3
dtou f = 3312b71530e4e
stod x = 43df2c2c3eaf17b3
dtos f = 3312b71530e4e
+utof x = 5ef96162
+stof x = 5ef96162
x = 2a1c70168f0d66dd
y = f58c569d3d6b3928
@@ -3917,6 +4195,8 @@ utod x = 43c50e380b4786b3
dtou f = 113faad6dbfa0
stod x = 43c50e380b4786b3
dtos f = 113faad6dbfa0
+utof x = 5e2871c0
+stof x = 5e2871c0
x = c864770318e36557
y = 6a00ab1df6497a9a
@@ -3945,6 +4225,8 @@ utod x = 43e90c8ee0631c6d
dtou f = 5214aba09a5f9
stod x = c3cbcdc47e738e4d
dtos f = fffe9391ff42952f
+utof x = 5f486477
+stof x = de5e6e24
x = 9714eb2dc9c67461
y = 466bcdc06b7b155c
@@ -3973,6 +4255,8 @@ utod x = 43e2e29d65b938cf
dtou f = 3de210ddea9bd
stod x = c3da3ac5348d8e63
dtos f = fffd5068531798f3
+utof x = 5f1714eb
+stof x = ded1d62a
x = 680ca5caaa2ee67b
y = 20cfe3e3cf9409ee
@@ -4001,6 +4285,8 @@ utod x = 43da032972aa8bba
dtou f = 2a9e5ef11df9d
stod x = 43da032972aa8bba
dtos f = 2a9e5ef11df9d
+utof x = 5ed0194c
+stof x = 5ed0194c
x = caa0e97754e05225
y = 45366c07f71f4cd0
@@ -4029,6 +4315,8 @@ utod x = 43e9541d2eea9c0a
dtou f = 52ff250e0fec7
stod x = c3caaf8b44558fd7
dtos f = fffea2399619edfd
+utof x = 5f4aa0e9
+stof x = de557c5a
x = 8fb54d13641331df
y = 3896e8ba4f4fe682
@@ -4057,6 +4345,8 @@ utod x = 43e1f6a9a26c8266
dtou f = 3adce5d10e5de
stod x = c3dc12acbb26fb34
dtos f = fffd2015a249d513
+utof x = 5f0fb54d
+stof x = dee09566
x = 5fde20614d778429
y = 4cb55308f7d71384
@@ -4085,6 +4375,8 @@ utod x = 43d7f78818535de1
dtou f = 2744747b69de3
stod x = 43d7f78818535de1
dtos f = 2744747b69de3
+utof x = 5ebfbc41
+stof x = 5ebfbc41
x = 9e0edf33c6b86b83
y = 46d59276da676456
@@ -4113,6 +4405,8 @@ utod x = 43e3c1dbe678d70d
dtou f = 40bd97a285016
stod x = c3d87c48330e51e5
dtos f = fffd7e20bf613f4c
+utof x = 5f1e0edf
+stof x = dec3e242
x = 42419bd19468ce6d
y = f28e83678dacdd78
@@ -4141,6 +4435,8 @@ utod x = 43d09066f4651a34
dtou f = 1b237993b1864
stod x = 43d09066f4651a34
dtos f = 1b237993b1864
+utof x = 5e848338
+stof x = 5e848338
x = a10909702780f767
y = 355cb86c76c2176a
@@ -4169,6 +4465,8 @@ utod x = 43e421212e04f01f
dtou f = 41f5c66d044d6
stod x = c3d7bdbda3f61fc2
dtos f = fffd91a3ac09340c
+utof x = 5f210909
+stof x = debdeded
x = b62b990739d534f1
y = ea2aeea1436a5eac
@@ -4197,6 +4495,8 @@ utod x = 43e6c57320e73aa7
dtou f = 4a9df0db3a812
stod x = c3d27519be318ab3
dtos f = fffe1c2652ec9747
+utof x = 5f362b99
+stof x = de93a8ce
x = 9e2dd389c02d798b
y = ff1135085098d3be
@@ -4225,6 +4525,8 @@ utod x = 43e3c5ba713805af
dtou f = 40ca45715b69e
stod x = c3d8748b1d8ff4a2
dtos f = fffd7eeb9c4ea5d3
+utof x = 5f1e2dd4
+stof x = dec3a459
x = eceb862698e5fbb5
y = b6f3d882c0c8b20
@@ -4253,6 +4555,8 @@ utod x = 43ed9d70c4d31cbf
dtou f = 610add3ee9d70
stod x = c3b31479d9671a04
dtos f = ffff82f519278ca6
+utof x = 5f6ceb86
+stof x = dd98a3cf
x = 3b5e2b836840d5ef
y = 8984a692ed09ad52
@@ -4281,6 +4585,8 @@ utod x = 43cdaf15c1b4206b
dtou f = 18512ba0bae1a
stod x = 43cdaf15c1b4206b
dtos f = 18512ba0bae1a
+utof x = 5e6d78ae
+stof x = 5e6d78ae
x = 8bb41c6aa7d0a6b9
y = e7cba3f3ef7796d4
@@ -4309,6 +4615,8 @@ utod x = 43e176838d54fa15
dtou f = 3938fad8898cc
stod x = c3dd12f8e5560bd6
dtos f = fffd05d6f2c18801
+utof x = 5f0bb41c
+stof x = dee897c7
x = 5e14c5d21ca43093
y = dd468d765debf826
@@ -4337,6 +4645,8 @@ utod x = 43d785317487290c
dtou f = 26891f773d4b0
stod x = 43d785317487290c
dtos f = 26891f773d4b0
+utof x = 5ebc298c
+stof x = 5ebc298c
x = 7265a096401af9fd
y = b918a7193a6af5c8
@@ -4365,6 +4675,8 @@ utod x = 43dc9968259006be
dtou f = 2edb6497a791c
stod x = 43dc9968259006be
dtos f = 2edb6497a791c
+utof x = 5ee4cb41
+stof x = 5ee4cb41
x = 529ef449b98aed77
y = 998d65c70ae4483a
@@ -4393,6 +4705,8 @@ utod x = 43d4a7bd126e62bb
dtou f = 21d76e4ce45e9
stod x = 43d4a7bd126e62bb
dtos f = 21d76e4ce45e9
+utof x = 5ea53de9
+stof x = 5ea53de9
x = d4c53464631ef981
y = d79a311745b55bfc
@@ -4421,6 +4735,8 @@ utod x = 43ea98a68c8c63df
dtou f = 57269613000cb
stod x = c3c59d65cdce7083
dtos f = fffee4b0a668f000
+utof x = 5f54c534
+stof x = de2ceb2e
x = cb016d548a96b09b
y = 59b7d17de3b8718e
@@ -4449,6 +4765,8 @@ utod x = 43e9602daa9152d6
dtou f = 5326ad656497d
stod x = c3ca7f4955bab4a8
dtos f = fffea4b21b8f38b3
+utof x = 5f4b016d
+stof x = de53fa4b
x = e9b85c9ebecee945
y = eff4c4de68a8bd70
@@ -4477,6 +4795,8 @@ utod x = 43ed370b93d7d9dd
dtou f = 5fbb55dc42afb
stod x = c3b647a361413117
dtos f = ffff6dfca2fd1a30
+utof x = 5f69b85d
+stof x = ddb23d1b
x = f6e37ba6953b5dff
y = f751e9180fe38822
@@ -4505,6 +4825,8 @@ utod x = 43eedc6f74d2a76c
dtou f = 6520258a4622f
stod x = c3a23908b2d58944
dtos f = ffffc4499ddd5165
+utof x = 5f76e37c
+stof x = dd11c846
x = 6b48866df6b94d49
y = 560a70d9eace4e24
@@ -4533,6 +4855,8 @@ utod x = 43dad2219b7dae53
dtou f = 2bf178305165b
stod x = 43dad2219b7dae53
dtos f = 2bf178305165b
+utof x = 5ed6910d
+stof x = 5ed6910d
x = c48462e3c16319a3
y = fc0b2696f69dff6
@@ -4561,6 +4885,8 @@ utod x = 43e8908c5c782c63
dtou f = 507e50a560d2f
stod x = c3cdbdce8e1f4e73
dtos f = fffe7a2c4f8efc65
+utof x = 5f448463
+stof x = de6dee74
x = 81c143a7754ce98d
y = 2595000288da8218
@@ -4589,6 +4915,8 @@ utod x = 43e0382874eea99d
dtou f = 3525ca9c3ecab
stod x = c3df8faf1622acc6
dtos f = fffcc4a3eefcdbe1
+utof x = 5f01c144
+stof x = defc7d79
x = 185201da44524787
y = 6207869c80ed0d0a
@@ -4617,6 +4945,8 @@ utod x = 43b85201da445248
dtou f = 9f62c2d2a520
stod x = 43b85201da445248
dtos f = 9f62c2d2a520
+utof x = 5dc2900f
+stof x = 5dc2900f
x = 4c00590c95cc211
y = 733d576e60e10d4c
@@ -4645,6 +4975,8 @@ utod x = 4393001643257308
dtou f = 1f2151f0acc4
stod x = 4393001643257308
dtos f = 1f2151f0acc4
+utof x = 5c9800b2
+stof x = 5c9800b2
x = 49769540f1cb8bab
y = 737fa1db80ffe35e
@@ -4673,6 +5005,8 @@ utod x = 43d25da5503c72e3
dtou f = 1e172d28eff11
stod x = 43d25da5503c72e3
dtos f = 1e172d28eff11
+utof x = 5e92ed2b
+stof x = 5e92ed2b
x = e43d7008d3e41ad5
y = df82555639c8e3c0
@@ -4701,6 +5035,8 @@ utod x = 43ec87ae011a7c83
dtou f = 5d7cb29987887
stod x = c3bbc28ff72c1be5
dtos f = ffff4a126ed167bc
+utof x = 5f643d70
+stof x = ddde1480
x = fbbe909b5773ca0f
y = f9520e33d6ba76f2
@@ -4729,6 +5065,8 @@ utod x = 43ef77d2136aee79
dtou f = 671d501edc23f
stod x = c39105bd92a230d8
dtos f = ffffe41c4726b175
+utof x = 5f7bbe91
+stof x = dc882ded
x = 8f2098834a0a77d9
y = a889851f5a003974
@@ -4757,6 +5095,8 @@ utod x = 43e1e4131069414f
dtou f = 3a9ffceeea4ed
stod x = c3dc37d9df2d7d62
dtos f = fffd1c4714279423
+utof x = 5f0f2099
+stof x = dee1becf
x = cdb48c3bc67626b3
y = 7253c92e218e1bc6
@@ -4785,6 +5125,8 @@ utod x = 43e9b6918778cec5
dtou f = 5441c2a7d80c5
stod x = c3c925b9e21cc4ed
dtos f = fffeb6636fb66ffb
+utof x = 5f4db48c
+stof x = de492dcf
x = b9770d034f679d1d
y = b10aa58461708268
@@ -4813,6 +5155,8 @@ utod x = 43e72ee1a069ecf4
dtou f = 4bf76b520c0b5
stod x = c3d1a23cbf2c2619
dtos f = fffe31bdfa59afea
+utof x = 5f39770d
+stof x = de8d11e6
x = 7df56995af680597
y = 83202d927c5965da
@@ -4841,6 +5185,8 @@ utod x = 43df7d5a656bda01
dtou f = 3397b88f3b261
stod x = 43df7d5a656bda01
dtos f = 3397b88f3b261
+utof x = 5efbead3
+stof x = 5efbead3
x = 553ac3862c878ea1
y = 596019b6dab2729c
@@ -4869,6 +5215,8 @@ utod x = 43d54eb0e18b21e4
dtou f = 22e8f73417278
stod x = 43d54eb0e18b21e4
dtos f = 22e8f73417278
+utof x = 5eaa7587
+stof x = 5eaa7587
x = 20fcd070f46d0abb
y = b8bcea21c9bc292e
@@ -4897,6 +5245,8 @@ utod x = 43c07e68387a3685
dtou f = d82fef3b1880
stod x = 43c07e68387a3685
dtos f = d82fef3b1880
+utof x = 5e03f342
+stof x = 5e03f342
x = 37d0c25765ae9065
y = 2c73a7867781fe10
@@ -4925,6 +5275,8 @@ utod x = 43cbe8612bb2d748
dtou f = 16dcacfdb480d
stod x = 43cbe8612bb2d748
dtos f = 16dcacfdb480d
+utof x = 5e5f4309
+stof x = 5e5f4309
x = 7c44b251159b1a1f
y = 6922cff21dab79c2
@@ -4953,6 +5305,8 @@ utod x = 43df112c944566c7
dtou f = 32e67b027dfed
stod x = 43df112c944566c7
dtos f = 32e67b027dfed
+utof x = 5ef88965
+stof x = 5ef88965
x = 9a9aa1d3b5dd2669
y = 1674a822c7258c4
@@ -4981,6 +5335,8 @@ utod x = 43e353543a76bba5
dtou f = 3f5368608c070
stod x = c3d959578b1288b6
dtos f = fffd677dcb41afa6
+utof x = 5f1a9aa2
+stof x = decacabc
x = d6d263c95b9e57c3
y = e51588d59845ab96
@@ -5009,6 +5365,8 @@ utod x = 43eada4c792b73cb
dtou f = 57fdb3ba1ae09
stod x = c3c496ce1b5230d4
dtos f = fffef22280da9d3f
+utof x = 5f56d264
+stof x = de24b671
x = 1b76f070b21414ad
y = c3a4c9e29fe1f6b8
@@ -5037,4 +5395,6 @@ utod x = 43bb76f070b21415
dtou f = b3fdf698d581
stod x = 43bb76f070b21415
dtos f = b3fdf698d581
+utof x = 5ddbb784
+stof x = 5ddbb784
diff --git a/test/regression/int64.c b/test/regression/int64.c
index 5b32ccd..0012216 100644
--- a/test/regression/int64.c
+++ b/test/regression/int64.c
@@ -38,6 +38,7 @@ static void test1(u64 x, u64 y)
s64 y3;
int i;
double f;
+ float s;
printf("x = %llx\n", x);
printf("y = %llx\n", y);
@@ -75,6 +76,10 @@ static void test1(u64 x, u64 y)
printf("stod x = %llx\n", *((u64*) &f));
f = f * 0.0001;
printf("dtos f = %llx\n", (s64) f);
+ s = (float) x;
+ printf("utof x = %x\n", *((unsigned*) &s));
+ s = (float) ((s64) x);
+ printf("stof x = %x\n", *((unsigned*) &s));
printf("\n");
}