aboutsummaryrefslogtreecommitdiffstats
path: root/kvx
diff options
context:
space:
mode:
authorDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2021-12-15 14:39:51 +0100
committerDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2021-12-15 14:39:51 +0100
commit3c48c9f0c53ca01cdee579cf1f2ca11879f8874f (patch)
treeea16e9d419128dfbfc05381b684830ec488a3c7a /kvx
parent8c60bfedbad045a1d60994d46362d3c61e8b20a8 (diff)
downloadcompcert-kvx-3c48c9f0c53ca01cdee579cf1f2ca11879f8874f.tar.gz
compcert-kvx-3c48c9f0c53ca01cdee579cf1f2ca11879f8874f.zip
progress
Diffstat (limited to 'kvx')
-rw-r--r--kvx/FPDivision.v16
1 files changed, 10 insertions, 6 deletions
diff --git a/kvx/FPDivision.v b/kvx/FPDivision.v
index be0fedfd..28c7fe72 100644
--- a/kvx/FPDivision.v
+++ b/kvx/FPDivision.v
@@ -35,7 +35,7 @@ Definition approx_inv b :=
let x := Eop Ofmaddf (invb_d_var ::: alpha ::: invb_d_var ::: Enil) in
Elet b (Elet invb_d x).
-Definition approx_inv_thresh := (0.000000000000001)%R.
+Definition approx_inv_thresh := (0.1)%R.
(*
Lemma BofZ_exact_zero:
@@ -121,7 +121,7 @@ Proof.
fold invb_d in C3.
rewrite Rlt_bool_true in C3; cycle 1.
{ clear C3. admit. }
- change (is_finite 24 128 (BofZ 24 128 eq_refl eq_refl 1)) with true in C2F.
+ change (is_finite 24 128 (BofZ 24 128 (@eq_refl Datatypes.comparison Lt) (@eq_refl Datatypes.comparison Lt) 1)) with true in C2F.
destruct (C3 C2F) as (C3E & C3F & C3S).
unfold Float.fma.
assert (is_finite _ _ (Float.neg invb_d) = true) as invb_d_F.
@@ -131,7 +131,7 @@ Proof.
assumption.
}
- pose proof (BofZ_correct 53 1024 eq_refl eq_refl b') as C4.
+ pose proof (BofZ_correct 53 1024 (@eq_refl Datatypes.comparison Lt) (@eq_refl Datatypes.comparison Lt) b') as C4.
rewrite Rlt_bool_true in C4; cycle 1.
{ clear C4.
admit.
@@ -155,10 +155,14 @@ Proof.
{ admit. }
destruct C5 as (C5E & C5F & C5S).
- pose proof (Bfma_correct 53 1024 eq_refl eq_refl Float.fma_nan mode_NE
- (Bfma 53 1024 eq_refl eq_refl Float.fma_nan mode_NE
+ pose proof (Bfma_correct 53 1024 (@eq_refl Datatypes.comparison Lt) (@eq_refl Datatypes.comparison Lt) Float.fma_nan mode_NE
+ (Bfma 53 1024 (@eq_refl Datatypes.comparison Lt) (@eq_refl Datatypes.comparison Lt) Float.fma_nan mode_NE
(Float.neg invb_d) b_d ExtFloat.one) invb_d invb_d C5F C3F C3F) as C6.
-
+ rewrite Rlt_bool_true in C6; cycle 1.
+ { admit. }
+ destruct C6 as (C6E & C6F & C6S).
+ split.
+ { exact C6F. }
Admitted.
Definition approx_div a b :=