diff options
-rw-r--r-- | Changelog | 8 | ||||
-rw-r--r-- | backend/CMtypecheck.ml | 2 | ||||
-rw-r--r-- | backend/Cminor.v | 14 | ||||
-rw-r--r-- | backend/PrintCminor.ml | 2 | ||||
-rw-r--r-- | backend/SelectLong.vp | 11 | ||||
-rw-r--r-- | backend/SelectLongproof.v | 24 | ||||
-rw-r--r-- | backend/Selection.v | 2 | ||||
-rw-r--r-- | backend/Selectionproof.v | 2 | ||||
-rw-r--r-- | cfrontend/Cminorgenproof.v | 2 | ||||
-rw-r--r-- | cfrontend/Cop.v | 12 | ||||
-rw-r--r-- | cfrontend/Cshmgen.v | 12 | ||||
-rw-r--r-- | cfrontend/Cshmgenproof.v | 6 | ||||
-rw-r--r-- | cfrontend/SimplLocalsproof.v | 3 | ||||
-rw-r--r-- | common/Values.v | 12 | ||||
-rw-r--r-- | lib/Floats.v | 18 | ||||
-rw-r--r-- | test/regression/Results/int64 | 360 | ||||
-rw-r--r-- | test/regression/int64.c | 5 |
17 files changed, 475 insertions, 20 deletions
@@ -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"); } |