From 5cda474f09f130558c256234d129bee59780bd32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr>
Date: Wed, 5 Feb 2020 17:45:24 +0100
Subject: [PATCH] [Eva] Eval_terms: minor simplification in the evaluation of
 TLogic_coerce.

---
 src/plugins/value/legacy/eval_terms.ml | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/src/plugins/value/legacy/eval_terms.ml b/src/plugins/value/legacy/eval_terms.ml
index 45ec10860ae..843617e78ab 100644
--- a/src/plugins/value/legacy/eval_terms.ml
+++ b/src/plugins/value/legacy/eval_terms.ml
@@ -992,21 +992,15 @@ let rec eval_term ~alarm_mode env t =
                   || Logic_const.is_boolean_type t.term_type -> r
      | Ctype typ when Cil.isIntegralOrPointerType typ -> r
      | Lreal ->
-       if Logic_typing.is_integral_type t.term_type
-       then (* Needs to be converted to reals *)
-         let eover = V.cast_int_to_float Fval.Real r.eover in
-         { etype = Cil.longDoubleType; (** hack until logic type *)
-           ldeps = r.ldeps;
-           eunder = under_from_over eover;
-           eover;
-           empty = r.empty; }
-       else
-         let eover = V.cast_float_to_float Fval.Real r.eover in
-         { etype = Cil.longDoubleType; (** hack until logic type *)
-           ldeps = r.ldeps;
-           eunder = under_from_over eover;
-           eover;
-           empty = r.empty }
+       let eover =
+         if Logic_typing.is_integral_type t.term_type
+         then V.cast_int_to_float Fval.Real r.eover
+         else V.cast_float_to_float Fval.Real r.eover
+       in
+       { etype = Cil.longDoubleType; (** hack until logic type *)
+         ldeps = r.ldeps;
+         eover; eunder = under_from_over eover;
+         empty = r.empty }
      | _ ->
        if Logic_const.is_boolean_type ltyp
        && Logic_typing.is_integral_type t.term_type
-- 
GitLab