diff options
author | David Monniaux <David.Monniaux@univ-grenoble-alpes.fr> | 2022-01-07 15:27:56 +0100 |
---|---|---|
committer | David Monniaux <David.Monniaux@univ-grenoble-alpes.fr> | 2022-01-07 15:27:56 +0100 |
commit | af9f4682a8e7f06fdf9eba707d008bc21873d1ce (patch) | |
tree | 2a30e96c0b4f0859bca5f746785712552ddd06ec /kvx/FPDivision64.v | |
parent | 4f8bd24d05bcea0a8b9793ee61450b1e0c7234c1 (diff) | |
download | compcert-kvx-af9f4682a8e7f06fdf9eba707d008bc21873d1ce.tar.gz compcert-kvx-af9f4682a8e7f06fdf9eba707d008bc21873d1ce.zip |
progress in proof
Diffstat (limited to 'kvx/FPDivision64.v')
-rw-r--r-- | kvx/FPDivision64.v | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/kvx/FPDivision64.v b/kvx/FPDivision64.v index 424dfc77..a44de06e 100644 --- a/kvx/FPDivision64.v +++ b/kvx/FPDivision64.v @@ -184,9 +184,26 @@ Proof. fold b_d. set (r_invb_d := B2R 53 1024 invb_d) in *. set (r_b_d := B2R 53 1024 b_d) in *. - - unfold invb_d. - unfold invb_s. gappa. } + fold b_d in C6. + destruct C6 as (C6R & C6F & _). + + pose proof (Bfma_correct 53 1024 re re Float.fma_nan mode_NE + (Bfma 53 1024 re re Float.fma_nan mode_NE + (Bopp 53 1024 Float.neg_nan invb_d) b_d (BofZ 53 1024 re re 1)) + invb_d invb_d C6F C3F C3F) as C7. + rewrite Rlt_bool_true in C7; cycle 1. + { clear C7. + rewrite C6R. + rewrite B2R_Bopp. + eapply (Rabs_relax (bpow radix2 64)). + { apply bpow_lt. lia. } + rewrite C4R. + cbn. + set (r_invb_d := B2R 53 1024 invb_d) in *. + set (r_b_d := B2R 53 1024 b_d) in *. + gappa. + } + Admitted. |