diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-29 14:10:47 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-29 14:10:47 +0200 |
commit | 9dadf82c52a9ad11b31b21986bc88a108b845d0b (patch) | |
tree | 273b8ed951b7bb7bda27d59357f6ab78846ad33c /mppa_k1c/SelectOpproof.v | |
parent | 76a75a7fa3d4f8a81868a00af99c449f1ce519b9 (diff) | |
download | compcert-kvx-9dadf82c52a9ad11b31b21986bc88a108b845d0b.tar.gz compcert-kvx-9dadf82c52a9ad11b31b21986bc88a108b845d0b.zip |
float of int = float of long o long of int
Diffstat (limited to 'mppa_k1c/SelectOpproof.v')
-rw-r--r-- | mppa_k1c/SelectOpproof.v | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/mppa_k1c/SelectOpproof.v b/mppa_k1c/SelectOpproof.v index e07bc51c..6fa93fd8 100644 --- a/mppa_k1c/SelectOpproof.v +++ b/mppa_k1c/SelectOpproof.v @@ -1180,9 +1180,22 @@ Theorem eval_floatofint: Val.floatofint x = Some y -> exists v, eval_expr ge sp e m le (floatofint a) v /\ Val.lessdef y v. Proof. - intros until y; unfold floatofint. case (floatofint_match a); intros. - InvEval. simpl in H0. TrivialExists. - TrivialExists. + intros. + unfold floatofint. + destruct (floatofint_match a). + - InvEval. + TrivialExists. + - InvEval. + TrivialExists. + constructor. econstructor. constructor. eassumption. constructor. + simpl. f_equal. constructor. + simpl. + destruct x; simpl; trivial. + f_equal. + inv H0. + f_equal. + rewrite Float.of_int_of_long. + reflexivity. Qed. Theorem eval_intofsingle: |