diff --git a/src/plugins/e-acsl/misc.ml b/src/plugins/e-acsl/misc.ml
index 719707304b160f506ce197b5af31eb5009f6c7f2..8cb157d0d62775175559a050ad825df3ace4a5bb 100644
--- a/src/plugins/e-acsl/misc.ml
+++ b/src/plugins/e-acsl/misc.ml
@@ -59,7 +59,7 @@ let mk_e_acsl_guard ?(reverse=false) kind e p =
       (Pretty_utils.sfprintf "%a@?" Cil.d_predicate_named) p 
   in
   let line = (fst loc).Lexing.pos_lnum in
-  let e = if reverse then new_exp ~loc:e.eloc (UnOp(LNot, e, intType)) else e in
+  let e = if reverse then e else new_exp ~loc:e.eloc (UnOp(LNot, e, intType)) in
   mk_call 
     ~loc 
     "e_acsl_assert" 
diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl.h b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
index 76c024ea13f57f3c2b55e7ae6e2768677d6fc08b..91e52a86c0b7e07463d08d91be4546513ccb0edd 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl.h
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
@@ -36,8 +36,9 @@ extern int printf(const char *, ...);
 /* Dedicated E-ACSL function */
 /*****************************/
 
+/*@ requires predicate != 0; */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n", 
 	   kind, line, pred_txt); 
     exit(1);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle
index 72477dd8610c8e2df60b6c6a6b0abac63ace125b..3bd2589edfffa65dbdef2cee69c3e76cb69454da 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -21,9 +22,10 @@ PROJECT_FILE.i:234:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,7 +39,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert &x ≡ &x; */ ;
-  e_acsl_assert(! (& x == & x),(char *)"Assertion",(char *)"(&x == &x)",9);
+  e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"(&x == &x)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle
index 72477dd8610c8e2df60b6c6a6b0abac63ace125b..3bd2589edfffa65dbdef2cee69c3e76cb69454da 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -21,9 +22,10 @@ PROJECT_FILE.i:234:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,7 +39,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert &x ≡ &x; */ ;
-  e_acsl_assert(! (& x == & x),(char *)"Assertion",(char *)"(&x == &x)",9);
+  e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"(&x == &x)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
index c85391c6a7ea9dcbdbc51337658f9c3d8fd8274c..2e932beb96c1aeeea419c7dc91ae80f926602103 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
@@ -12,156 +12,129 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:128:[value] Function __gmpz_neg: precondition got status valid.
 PROJECT_FILE.i:129:[value] Function __gmpz_neg: precondition got status valid.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:247.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:248.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:250.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:254:[value] Assertion got status valid.
+PROJECT_FILE.i:255:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:265.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:266.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:266.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:267.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:272:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:269.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:273:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_com <- main.
-        Called from PROJECT_FILE.i:279.
+        Called from PROJECT_FILE.i:280.
 PROJECT_FILE.i:167:[value] Function __gmpz_com: precondition got status valid.
 PROJECT_FILE.i:168:[value] Function __gmpz_com: precondition got status valid.
 [value] Done for function __gmpz_com
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:280.
+        Called from PROJECT_FILE.i:281.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:281.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:282.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:283.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:287:[value] Assertion got status valid.
+PROJECT_FILE.i:288:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:297.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:297.
+        Called from PROJECT_FILE.i:298.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:299.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:299.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:302.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:303.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:303.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:304.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:304.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:305.
 [value] Done for function __gmpz_clear
@@ -174,47 +147,41 @@ PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:308.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:312:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:309.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:313:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:321.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- main.
-        Called from PROJECT_FILE.i:323.
+        Called from PROJECT_FILE.i:324.
 PROJECT_FILE.i:139:[value] Function __gmpz_sub: precondition got status valid.
 PROJECT_FILE.i:140:[value] Function __gmpz_sub: precondition got status valid.
 PROJECT_FILE.i:141:[value] Function __gmpz_sub: precondition got status valid.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:324.
+        Called from PROJECT_FILE.i:325.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:325.
+        Called from PROJECT_FILE.i:326.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:326.
+        Called from PROJECT_FILE.i:327.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:327.
+        Called from PROJECT_FILE.i:328.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:328.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:329.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:329.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:330.
 [value] Done for function __gmpz_clear
@@ -227,47 +194,41 @@ PROJECT_FILE.i:141:[value] Function __gmpz_sub: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:333.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:337:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:334.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:338:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:345.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:346.
+        Called from PROJECT_FILE.i:347.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_mul <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:349.
 PROJECT_FILE.i:145:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:146:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:147:[value] Function __gmpz_mul: precondition got status valid.
 [value] Done for function __gmpz_mul
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:350.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:350.
+        Called from PROJECT_FILE.i:351.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:351.
+        Called from PROJECT_FILE.i:352.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:352.
+        Called from PROJECT_FILE.i:353.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:353.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:354.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:354.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:355.
 [value] Done for function __gmpz_clear
@@ -280,64 +241,52 @@ PROJECT_FILE.i:147:[value] Function __gmpz_mul: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:358.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:362:[value] Assertion got status valid.
-[value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:372.
-[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:359.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:363:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:373.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:374.
 [value] Done for function __gmpz_init_set_si
-[value] computing for function __gmpz_cmp <- main.
+[value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:375.
+[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_cmp <- main.
+        Called from PROJECT_FILE.i:376.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:376.
+        Called from PROJECT_FILE.i:377.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:377:[value] Assertion got status valid.
+PROJECT_FILE.i:378:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:378.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:379.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_q <- main.
-        Called from PROJECT_FILE.i:379.
+        Called from PROJECT_FILE.i:380.
 PROJECT_FILE.i:151:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:152:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid.
 [value] Done for function __gmpz_tdiv_q
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:380.
+        Called from PROJECT_FILE.i:381.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:381.
+        Called from PROJECT_FILE.i:382.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:382.
+        Called from PROJECT_FILE.i:383.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:383.
+        Called from PROJECT_FILE.i:384.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:384.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:385.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:385.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:386.
 [value] Done for function __gmpz_clear
@@ -353,123 +302,96 @@ PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:390.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:394:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:391.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:395:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_str <- main.
-        Called from PROJECT_FILE.i:402.
+        Called from PROJECT_FILE.i:403.
 PROJECT_FILE.i:86:[value] Function __gmpz_init_set_str: postcondition got status valid.
 [value] Done for function __gmpz_init_set_str
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:403.
+        Called from PROJECT_FILE.i:404.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:404.
+        Called from PROJECT_FILE.i:405.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:405.
+        Called from PROJECT_FILE.i:406.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:406:[value] Assertion got status valid.
+PROJECT_FILE.i:407:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:407.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:408.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_q <- main.
-        Called from PROJECT_FILE.i:408.
+        Called from PROJECT_FILE.i:410.
 [value] Done for function __gmpz_tdiv_q
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:411.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:410.
+        Called from PROJECT_FILE.i:412.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:411.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:413.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:413.
+        Called from PROJECT_FILE.i:415.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:414.
+        Called from PROJECT_FILE.i:416.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:415.
+        Called from PROJECT_FILE.i:417.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:416.
+        Called from PROJECT_FILE.i:418.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:420:[value] Assertion got status valid.
+PROJECT_FILE.i:422:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:430.
+        Called from PROJECT_FILE.i:432.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:431.
+        Called from PROJECT_FILE.i:433.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:432.
+        Called from PROJECT_FILE.i:434.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:433.
+        Called from PROJECT_FILE.i:435.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:434.
+        Called from PROJECT_FILE.i:436.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:435:[value] Assertion got status valid.
+PROJECT_FILE.i:437:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:436.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:438.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_r <- main.
-        Called from PROJECT_FILE.i:437.
+        Called from PROJECT_FILE.i:439.
 PROJECT_FILE.i:157:[value] Function __gmpz_tdiv_r: precondition got status valid.
 PROJECT_FILE.i:158:[value] Function __gmpz_tdiv_r: precondition got status valid.
 PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid.
 [value] Done for function __gmpz_tdiv_r
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:438.
+        Called from PROJECT_FILE.i:440.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:439.
+        Called from PROJECT_FILE.i:441.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:440.
+        Called from PROJECT_FILE.i:442.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:441.
+        Called from PROJECT_FILE.i:443.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:442.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:444.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:443.
-[value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:444.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:445.
 [value] Done for function __gmpz_clear
@@ -482,76 +404,64 @@ PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:448.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:452:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:449.
+[value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:450.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:454:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:464.
+        Called from PROJECT_FILE.i:466.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:465.
+        Called from PROJECT_FILE.i:467.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:466.
+        Called from PROJECT_FILE.i:468.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:469.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:468.
+        Called from PROJECT_FILE.i:470.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:469.
+        Called from PROJECT_FILE.i:471.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:470.
+        Called from PROJECT_FILE.i:472.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:471.
+        Called from PROJECT_FILE.i:473.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:472.
+        Called from PROJECT_FILE.i:474.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:473:[value] Assertion got status valid.
+PROJECT_FILE.i:475:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:474.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:476.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_r <- main.
-        Called from PROJECT_FILE.i:475.
+        Called from PROJECT_FILE.i:477.
 [value] Done for function __gmpz_tdiv_r
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:476.
+        Called from PROJECT_FILE.i:478.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:477.
+        Called from PROJECT_FILE.i:479.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:478.
+        Called from PROJECT_FILE.i:480.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:479.
+        Called from PROJECT_FILE.i:481.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:480.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:482.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:481.
-[value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:482.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:483.
 [value] Done for function __gmpz_clear
@@ -570,64 +480,52 @@ PROJECT_FILE.i:473:[value] Assertion got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:488.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:492:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:489.
+[value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:490.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:494:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:502.
+        Called from PROJECT_FILE.i:504.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:503.
+        Called from PROJECT_FILE.i:505.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:504.
+        Called from PROJECT_FILE.i:506.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:505.
+        Called from PROJECT_FILE.i:507.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:506.
+        Called from PROJECT_FILE.i:508.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:507.
+        Called from PROJECT_FILE.i:509.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:508.
+        Called from PROJECT_FILE.i:510.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:509:[value] Assertion got status valid.
+PROJECT_FILE.i:511:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:510.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:512.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_r <- main.
-        Called from PROJECT_FILE.i:511.
+        Called from PROJECT_FILE.i:513.
 [value] Done for function __gmpz_tdiv_r
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:512.
+        Called from PROJECT_FILE.i:514.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:513.
+        Called from PROJECT_FILE.i:515.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:514.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:516.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:515.
-[value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:516.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:517.
 [value] Done for function __gmpz_clear
@@ -640,86 +538,80 @@ PROJECT_FILE.i:509:[value] Assertion got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:520.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:524:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:521.
+[value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:522.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:526:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:540.
+        Called from PROJECT_FILE.i:542.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:541.
+        Called from PROJECT_FILE.i:543.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:542.
+        Called from PROJECT_FILE.i:544.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_mul <- main.
-        Called from PROJECT_FILE.i:543.
+        Called from PROJECT_FILE.i:545.
 [value] Done for function __gmpz_mul
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:544.
+        Called from PROJECT_FILE.i:546.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:545.
+        Called from PROJECT_FILE.i:547.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:546.
+        Called from PROJECT_FILE.i:548.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:547.
+        Called from PROJECT_FILE.i:549.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:548.
+        Called from PROJECT_FILE.i:550.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:549.
+        Called from PROJECT_FILE.i:551.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:550.
+        Called from PROJECT_FILE.i:552.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:551.
+        Called from PROJECT_FILE.i:553.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- main.
-        Called from PROJECT_FILE.i:552.
+        Called from PROJECT_FILE.i:554.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:553.
+        Called from PROJECT_FILE.i:555.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- main.
-        Called from PROJECT_FILE.i:554.
+        Called from PROJECT_FILE.i:556.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:555.
+        Called from PROJECT_FILE.i:557.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:556.
+        Called from PROJECT_FILE.i:558.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:557.
+        Called from PROJECT_FILE.i:559.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:558.
+        Called from PROJECT_FILE.i:560.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:559.
+        Called from PROJECT_FILE.i:561.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:560.
+        Called from PROJECT_FILE.i:562.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:561.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:563.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:563.
-[value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:564.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:565.
 [value] Done for function __gmpz_clear
@@ -753,11 +645,17 @@ PROJECT_FILE.i:524:[value] Assertion got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:575.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:579:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:576.
+[value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:577.
+[value] Done for function __gmpz_clear
 PROJECT_FILE.i:581:[value] Assertion got status valid.
 PROJECT_FILE.i:583:[value] Assertion got status valid.
 PROJECT_FILE.i:585:[value] Assertion got status valid.
 PROJECT_FILE.i:587:[value] Assertion got status valid.
+PROJECT_FILE.i:589:[value] Assertion got status valid.
 [value] Recording results for main
 [value] done for function main
 [value] ====== VALUES COMPUTED ======
@@ -849,9 +747,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -879,7 +778,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -899,7 +798,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -917,7 +816,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -943,7 +842,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -972,7 +871,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -1001,7 +900,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -1027,7 +926,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -1038,7 +937,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -1063,7 +962,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -1071,7 +970,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -1096,7 +995,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -1107,7 +1006,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -1142,7 +1041,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -1153,7 +1052,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -1185,7 +1084,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -1193,7 +1092,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -1254,7 +1153,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle
index 4487bf92d3adffd0e14d213f592e1c25c2e9ece5..b9c4db579284e4a2867be203fe803da6a57cb4f4 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle
@@ -2,104 +2,105 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:239:[value] Assertion got status valid.
+PROJECT_FILE.i:240:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:242:[value] Assertion got status valid.
+PROJECT_FILE.i:243:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:245:[value] Assertion got status valid.
+PROJECT_FILE.i:246:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:249:[value] Assertion got status valid.
+PROJECT_FILE.i:250:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:253:[value] Assertion got status valid.
+PROJECT_FILE.i:254:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:257:[value] Assertion got status valid.
-PROJECT_FILE.i:260:[value] Assertion got status valid.
+PROJECT_FILE.i:258:[value] Assertion got status valid.
+PROJECT_FILE.i:261:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:267:[value] Assertion got status valid.
-PROJECT_FILE.i:270:[value] Assertion got status valid.
+PROJECT_FILE.i:268:[value] Assertion got status valid.
+PROJECT_FILE.i:271:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:273.
-[value] Recording results for e_acsl_assert
-[value] Done for function e_acsl_assert
-PROJECT_FILE.i:278:[value] Assertion got status valid.
-PROJECT_FILE.i:281:[value] Assertion got status valid.
-[value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:275.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+PROJECT_FILE.i:280:[value] Assertion got status valid.
+PROJECT_FILE.i:283:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:284.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:288:[value] Assertion got status valid.
-PROJECT_FILE.i:291:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:292.
+        Called from PROJECT_FILE.i:286.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+PROJECT_FILE.i:290:[value] Assertion got status valid.
+PROJECT_FILE.i:293:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:294.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:298:[value] Assertion got status valid.
-PROJECT_FILE.i:301:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:296.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+PROJECT_FILE.i:300:[value] Assertion got status valid.
+PROJECT_FILE.i:303:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:304.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:308:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:309.
+        Called from PROJECT_FILE.i:306.
+[value] Recording results for e_acsl_assert
+[value] Done for function e_acsl_assert
+PROJECT_FILE.i:310:[value] Assertion got status valid.
+[value] computing for function e_acsl_assert <- main.
+        Called from PROJECT_FILE.i:311.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:313:[value] Assertion got status valid.
+PROJECT_FILE.i:315:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:314.
+        Called from PROJECT_FILE.i:316.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:317:[value] Assertion got status valid.
+PROJECT_FILE.i:318:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:318.
+        Called from PROJECT_FILE.i:319.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:320:[value] Assertion got status valid.
+PROJECT_FILE.i:321:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 PROJECT_FILE.i:324:[value] Assertion got status valid.
@@ -107,9 +108,9 @@ PROJECT_FILE.i:324:[value] Assertion got status valid.
         Called from PROJECT_FILE.i:325.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:328:[value] Assertion got status valid.
+PROJECT_FILE.i:327:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:329.
+        Called from PROJECT_FILE.i:328.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -127,9 +128,10 @@ PROJECT_FILE.i:328:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -145,27 +147,27 @@ int main(void)
   x = -3;
   y = 2;
   /*@ assert -3 ≡ x; */ ;
-  e_acsl_assert(! (-3 == x),(char *)"Assertion",(char *)"(-3 == x)",12);
+  e_acsl_assert(-3 == x,(char *)"Assertion",(char *)"(-3 == x)",12);
   /*@ assert x ≡ -3; */ ;
-  e_acsl_assert(! (x == -3),(char *)"Assertion",(char *)"(x == -3)",13);
+  e_acsl_assert(x == -3,(char *)"Assertion",(char *)"(x == -3)",13);
   /*@ assert 0 ≢ ~0; */ ;
-  e_acsl_assert(! (0 != ~ 0),(char *)"Assertion",(char *)"(0 != ~0)",14);
+  e_acsl_assert(0 != ~ 0,(char *)"Assertion",(char *)"(0 != ~0)",14);
   /*@ assert x+1 ≡ -2; */ ;
-  e_acsl_assert(! ((long long)x + (long long)1 == (long long)(-2)),
+  e_acsl_assert((long long)x + (long long)1 == (long long)(-2),
                 (char *)"Assertion",(char *)"(x+1 == -2)",16);
   /*@ assert x-1 ≡ -4; */ ;
-  e_acsl_assert(! ((long long)x - (long long)1 == (long long)(-4)),
+  e_acsl_assert((long long)x - (long long)1 == (long long)(-4),
                 (char *)"Assertion",(char *)"(x-1 == -4)",17);
   /*@ assert x*3 ≡ -9; */ ;
-  e_acsl_assert(! ((long long)x * (long long)3 == (long long)(-9)),
+  e_acsl_assert((long long)x * (long long)3 == (long long)(-9),
                 (char *)"Assertion",(char *)"(x*3 == -9)",18);
   /*@ assert x/3 ≡ -1; */ ;
   {
     int __e_acsl_var;
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(3 == 0,(char *)"Assertion",(char *)"(3 == 0)",19);
+    e_acsl_assert(! (3 == 0),(char *)"Assertion",(char *)"(3 == 0)",19);
     __e_acsl_var = x / 3;
-    e_acsl_assert(! (__e_acsl_var == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var == -1,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
   }
   
@@ -173,10 +175,10 @@ int main(void)
   {
     int __e_acsl_var_2;
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(0xfffffffffff == (long long)0,(char *)"Assertion",
+    e_acsl_assert(! (0xfffffffffff == (long long)0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __e_acsl_var_2 = (int)(0xfffffffffff / 0xfffffffffff);
-    e_acsl_assert(! (__e_acsl_var_2 == 1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
   }
   
@@ -184,9 +186,9 @@ int main(void)
   {
     int __e_acsl_var_3;
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",21);
+    e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",21);
     __e_acsl_var_3 = x % 2;
-    e_acsl_assert(! (__e_acsl_var_3 == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == -1,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
   }
   
@@ -194,9 +196,9 @@ int main(void)
   {
     int __e_acsl_var_4;
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(-2 == 0,(char *)"Assertion",(char *)"(-2 == 0)",22);
+    e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",22);
     __e_acsl_var_4 = -3 % -2;
-    e_acsl_assert(! (__e_acsl_var_4 == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == -1,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
   }
   
@@ -204,31 +206,31 @@ int main(void)
   {
     int __e_acsl_var_5;
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(-2 == 0,(char *)"Assertion",(char *)"(-2 == 0)",23);
+    e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",23);
     __e_acsl_var_5 = 3 % -2;
-    e_acsl_assert(! (__e_acsl_var_5 == 1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5 == 1,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
   }
   
   /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ;
-  e_acsl_assert(! ((((long long)x * (long long)2 + ((long long)3 + (long long)y)) - (long long)4) + (
-                   (long long)x - (long long)y) == (long long)(-10)),
+  e_acsl_assert((((long long)x * (long long)2 + ((long long)3 + (long long)y)) - (long long)4) + (
+                (long long)x - (long long)y) == (long long)(-10),
                 (char *)"Assertion",(char *)"(((x*2+(3+y))-4)+(x-y) == -10)",
                 25);
   /*@ assert (0≡1) ≡ !(0≡0); */ ;
-  e_acsl_assert(! ((0 == 1) == ! (0 == 0)),(char *)"Assertion",
+  e_acsl_assert((0 == 1) == ! (0 == 0),(char *)"Assertion",
                 (char *)"((0==1) == !(0==0))",27);
   /*@ assert (0≤-1) ≡ (0>0); */ ;
-  e_acsl_assert(! ((0 <= -1) == (0 > 0)),(char *)"Assertion",
+  e_acsl_assert((0 <= -1) == (0 > 0),(char *)"Assertion",
                 (char *)"((0<=-1) == (0>0))",28);
   /*@ assert (0≥-1) ≡ (0≤0); */ ;
-  e_acsl_assert(! ((0 >= -1) == (0 <= 0)),(char *)"Assertion",
+  e_acsl_assert((0 >= -1) == (0 <= 0),(char *)"Assertion",
                 (char *)"((0>=-1) == (0<=0))",29);
   /*@ assert (0≢1) ≡ !(0≢0); */ ;
-  e_acsl_assert(! ((0 != 1) == ! (0 != 0)),(char *)"Assertion",
+  e_acsl_assert((0 != 1) == ! (0 != 0),(char *)"Assertion",
                 (char *)"((0!=1) == !(0!=0))",30);
   /*@ assert (0≢0) ≡ !(1≢0); */ ;
-  e_acsl_assert(! ((0 != 0) == ! (1 != 0)),(char *)"Assertion",
+  e_acsl_assert((0 != 0) == ! (1 != 0),(char *)"Assertion",
                 (char *)"((0!=0) == !(1!=0))",32);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle
index 2142552d69cdae3d6cbc95fa834a4e0727e62c82..3855b32cbe311264bf5baa8a847a2189e7ffd42a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle
@@ -8,65 +8,53 @@ tests/e-acsl-runtime/array.i:15:[e-acsl] warning: missing guard for ensuring tha
 [value] Values of globals at initialization
         T1[0..2] ∈ {0}
         T2[0..3] ∈ {0}
-PROJECT_FILE.i:236:[value] entering loop for the first time
-PROJECT_FILE.i:240:[value] assigning non deterministic value for the first time
-PROJECT_FILE.i:245:[value] entering loop for the first time
-PROJECT_FILE.i:252:[value] Assertion got status unknown.
+PROJECT_FILE.i:237:[value] entering loop for the first time
+PROJECT_FILE.i:241:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:246:[value] entering loop for the first time
+PROJECT_FILE.i:253:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:258.
+        Called from PROJECT_FILE.i:259.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:260.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:261.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:266:[value] Assertion got status unknown.
+PROJECT_FILE.i:267:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:273.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:274.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:275.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:276.
+        Called from PROJECT_FILE.i:277.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -104,9 +92,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -144,7 +133,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)T2[0]);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(T1[0] == T2[0])",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -159,7 +148,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)T2[1]);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion",
                   (char *)"(T1[1] != T2[1])",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
index 32f4b390a89ea7e61e3dd1a5e36b5db83cba471d..69e6c62edf44f23c2da0c9d0eb4b8d51bd607a9f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
@@ -8,30 +8,18 @@ tests/e-acsl-runtime/array.i:15:[e-acsl] warning: missing guard for ensuring tha
 [value] Values of globals at initialization
         T1[0..2] ∈ {0}
         T2[0..3] ∈ {0}
-PROJECT_FILE.i:236:[value] entering loop for the first time
-PROJECT_FILE.i:240:[value] assigning non deterministic value for the first time
-PROJECT_FILE.i:245:[value] entering loop for the first time
-PROJECT_FILE.i:252:[value] Assertion got status unknown.
+PROJECT_FILE.i:237:[value] entering loop for the first time
+PROJECT_FILE.i:241:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:246:[value] entering loop for the first time
+PROJECT_FILE.i:253:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:253.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:254.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:255:[value] Assertion got status unknown.
+PROJECT_FILE.i:256:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:256.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:257.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -51,9 +39,10 @@ PROJECT_FILE.i:255:[value] Assertion got status unknown.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -83,10 +72,10 @@ int main(void)
   }
   
   /*@ assert T1[0] ≡ T2[0]; */ ;
-  e_acsl_assert(! (T1[0] == T2[0]),(char *)"Assertion",
+  e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",
                 (char *)"(T1[0] == T2[0])",14);
   /*@ assert T1[1] ≢ T2[1]; */ ;
-  e_acsl_assert(! (T1[1] != T2[1]),(char *)"Assertion",
+  e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",
                 (char *)"(T1[1] != T2[1])",15);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
index 0fea43ef51bc534d1f6ba80e9c7d90d53cd6db7a..d67cbdffc07326ff667193b84d396b0fcb7136d5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
@@ -10,86 +10,74 @@ tests/e-acsl-runtime/at.i:34:[e-acsl] warning: missing guard for ensuring that p
 [value] Values of globals at initialization
         A ∈ {0}
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:392.
+        Called from PROJECT_FILE.i:391.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:393.
+        Called from PROJECT_FILE.i:392.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:394.
+        Called from PROJECT_FILE.i:393.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:395.
+        Called from PROJECT_FILE.i:394.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set <- main.
-        Called from PROJECT_FILE.i:396.
+        Called from PROJECT_FILE.i:395.
 PROJECT_FILE.i:73:[value] Function __gmpz_init_set: precondition got status valid.
 PROJECT_FILE.i:74:[value] Function __gmpz_init_set: postcondition got status valid.
 [value] Done for function __gmpz_init_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:396.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:398.
+        Called from PROJECT_FILE.i:397.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:399.
+        Called from PROJECT_FILE.i:398.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:403:[value] Assertion got status valid.
+PROJECT_FILE.i:402:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:408.
+        Called from PROJECT_FILE.i:407.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:408.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:410.
+        Called from PROJECT_FILE.i:409.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:411.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:410.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:412.
+        Called from PROJECT_FILE.i:411.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:413.
+        Called from PROJECT_FILE.i:412.
 [value] Done for function __gmpz_clear
 [value] computing for function f <- main.
-        Called from PROJECT_FILE.i:419.
-PROJECT_FILE.i:246:[value] Assertion got status valid.
+        Called from PROJECT_FILE.i:418.
+PROJECT_FILE.i:247:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:252.
+        Called from PROJECT_FILE.i:253.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- f <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:254.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
@@ -110,12 +98,6 @@ PROJECT_FILE.i:261:[value] Assertion got status unknown.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
         Called from PROJECT_FILE.i:269.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
@@ -136,213 +118,165 @@ PROJECT_FILE.i:275:[value] Assertion got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
         Called from PROJECT_FILE.i:284.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:286.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:287.
+        Called from PROJECT_FILE.i:286.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:291:[value] Assertion got status unknown.
+PROJECT_FILE.i:290:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:295.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:297.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- f <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:297.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:299.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:298.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:312.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:313.
+        Called from PROJECT_FILE.i:312.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- f <- main.
-        Called from PROJECT_FILE.i:314.
+        Called from PROJECT_FILE.i:313.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:315.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:314.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:317.
+        Called from PROJECT_FILE.i:316.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:318.
+        Called from PROJECT_FILE.i:317.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:230:[value] Function f: postcondition got status valid.
+PROJECT_FILE.i:231:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
-PROJECT_FILE.i:420:[value] Assertion got status unknown.
+PROJECT_FILE.i:419:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:425.
+        Called from PROJECT_FILE.i:424.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:426.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:427.
+        Called from PROJECT_FILE.i:426.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:428.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:427.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:429.
+        Called from PROJECT_FILE.i:428.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:430.
+        Called from PROJECT_FILE.i:429.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:434:[value] Assertion got status unknown.
+PROJECT_FILE.i:433:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:438.
+        Called from PROJECT_FILE.i:437.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:439.
+        Called from PROJECT_FILE.i:438.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:440.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:439.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:442.
+        Called from PROJECT_FILE.i:440.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:446:[value] Assertion got status unknown.
+PROJECT_FILE.i:444:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:452.
+        Called from PROJECT_FILE.i:450.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:453.
+        Called from PROJECT_FILE.i:451.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:454.
+        Called from PROJECT_FILE.i:452.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:455.
+        Called from PROJECT_FILE.i:453.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:456.
+        Called from PROJECT_FILE.i:454.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:457.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:455.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:459.
+        Called from PROJECT_FILE.i:456.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:460.
+        Called from PROJECT_FILE.i:457.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:461.
+        Called from PROJECT_FILE.i:458.
 [value] Done for function __gmpz_clear
 [value] computing for function g <- main.
-        Called from PROJECT_FILE.i:465.
-PROJECT_FILE.i:342:[value] Assertion got status unknown.
+        Called from PROJECT_FILE.i:462.
+PROJECT_FILE.i:341:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:347.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- g <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:350.
-[value] computing for function printf <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:349.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- g <- main.
-        Called from PROJECT_FILE.i:352.
+        Called from PROJECT_FILE.i:351.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- g <- main.
-        Called from PROJECT_FILE.i:353.
+        Called from PROJECT_FILE.i:352.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:358:[value] Assertion got status unknown.
+PROJECT_FILE.i:357:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:364.
+        Called from PROJECT_FILE.i:363.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:365.
+        Called from PROJECT_FILE.i:364.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- g <- main.
-        Called from PROJECT_FILE.i:366.
+        Called from PROJECT_FILE.i:365.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:367.
-[value] computing for function printf <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:366.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- g <- main.
-        Called from PROJECT_FILE.i:369.
+        Called from PROJECT_FILE.i:368.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- g <- main.
-        Called from PROJECT_FILE.i:370.
+        Called from PROJECT_FILE.i:369.
 [value] Done for function __gmpz_clear
 [value] Recording results for g
 [value] Done for function g
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:464.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -416,9 +350,10 @@ extern void __gmpz_add(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -451,7 +386,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)0);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(\\at(A,Pre) == 0)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
@@ -466,7 +401,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)1);
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(\\at(A,F) == 1)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
@@ -483,7 +418,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)2);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion",
                   (char *)"(\\at(A,Here) == 2)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -499,7 +434,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)0);
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_15),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(\\at(\\at(A,Pre),F) == 0)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_15));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
@@ -516,7 +451,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)3);
     __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19),
                                  (__mpz_struct const *)(__e_acsl_var_20));
-    e_acsl_assert(! (__e_acsl_var_21 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_21 == 0,(char *)"Postcondition",
                   (char *)"(\\at(A,Post) == 3)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_20));
@@ -550,7 +485,7 @@ void g(int *p, int *q)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)2);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3),
                                 (__mpz_struct const *)(__e_acsl_var_4));
-    e_acsl_assert(! (__e_acsl_var_5 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion",
                   (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
@@ -567,7 +502,7 @@ void g(int *p, int *q)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)2);
     __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8),
                                  (__mpz_struct const *)(__e_acsl_var_9));
-    e_acsl_assert(! (__e_acsl_var_10 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_10 == 0,(char *)"Assertion",
                   (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
@@ -613,8 +548,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(x == 0)",45);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)",
+                  45);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -631,7 +566,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)0);
     __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_6));
-    e_acsl_assert(! (__e_acsl_var_7 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion",
                   (char *)"(\\at(x,L) == 0)",50);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -644,7 +579,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)1);
     __e_acsl_var_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_11),
                                  (__mpz_struct const *)(__e_acsl_var_12));
-    e_acsl_assert(! (__e_acsl_var_13 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_13 == 0,(char *)"Assertion",
                   (char *)"(\\at(x+1,L) == 1)",51);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
   }
@@ -664,7 +599,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_16));
     __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_17),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_18 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Assertion",
                   (char *)"(\\at(x,L)+1 == 1)",52);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_15));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle
index 27c829f6fdcfab3c9b1641146e855bda0bd8f74d..705b5d784662c136d9a780be146c2a6149285f47 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle
@@ -12,35 +12,36 @@ tests/e-acsl-runtime/at.i:34:[e-acsl] warning: missing guard for ensuring that p
 PROJECT_FILE.i:311:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:312.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function f <- main.
         Called from PROJECT_FILE.i:316.
-PROJECT_FILE.i:246:[value] Assertion got status valid.
+PROJECT_FILE.i:247:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:249:[value] Assertion got status unknown.
+PROJECT_FILE.i:250:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:252:[value] Assertion got status valid.
+PROJECT_FILE.i:253:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:256:[value] Assertion got status unknown.
+PROJECT_FILE.i:257:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:230:[value] Function f: postcondition got status valid.
+PROJECT_FILE.i:231:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
 PROJECT_FILE.i:317:[value] Assertion got status unknown.
@@ -109,9 +110,10 @@ PROJECT_FILE.i:290:[value] Assertion got status unknown.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -136,21 +138,21 @@ void f(void)
   __e_acsl_var_2 = A;
   A = 2;
   /*@ assert \at(A,Pre) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion",
                 (char *)"(\\at(A,Pre) == 0)",13);
   /*@ assert \at(A,F) ≡ 1; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == 1),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion",
                 (char *)"(\\at(A,F) == 1)",14);
   /*@ assert \at(A,Here) ≡ 2; */ ;
   __e_acsl_var_3 = A;
-  e_acsl_assert(! (__e_acsl_var_3 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_3 == 2,(char *)"Assertion",
                 (char *)"(\\at(A,Here) == 2)",15);
   /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var_5 == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion",
                 (char *)"(\\at(\\at(A,Pre),F) == 0)",16);
   A = 3;
   __e_acsl_var_6 = A;
-  e_acsl_assert(! (__e_acsl_var_6 == 3),(char *)"Postcondition",
+  e_acsl_assert(__e_acsl_var_6 == 3,(char *)"Postcondition",
                 (char *)"(\\at(A,Post) == 3)",9);
   return;
 }
@@ -172,12 +174,12 @@ void g(int *p, int *q)
   L2: __e_acsl_var_2 = *(p + __e_acsl_var);
   A = 4;
   /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == 2,(char *)"Assertion",
                 (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32);
   L3: 
   /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ;
   __e_acsl_var_4 = *(p + __e_acsl_var_3);
-  e_acsl_assert(! (__e_acsl_var_4 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_4 == 2,(char *)"Assertion",
                 (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34);
   return;
 }
@@ -195,18 +197,18 @@ int main(void)
   __e_acsl_var_2 = (long long)x + (long long)1;
   __e_acsl_var = x;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! (x == 0),(char *)"Assertion",(char *)"(x == 0)",45);
+  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",45);
   x = 1;
   x = 2;
   f();
   /*@ assert \at(x,L) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion",
                 (char *)"(\\at(x,L) == 0)",50);
   /*@ assert \at(x+1,L) ≡ 1; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == (long long)1),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == (long long)1,(char *)"Assertion",
                 (char *)"(\\at(x+1,L) == 1)",51);
   /*@ assert \at(x,L)+1 ≡ 1; */ ;
-  e_acsl_assert(! ((long long)__e_acsl_var_3 + (long long)1 == (long long)1),
+  e_acsl_assert((long long)__e_acsl_var_3 + (long long)1 == (long long)1,
                 (char *)"Assertion",(char *)"(\\at(x,L)+1 == 1)",52);
   g(t,& x);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
index 4f3e1c0f07a8a5e8d7e4bd9dc388eecf5e85a930..587197650a17deb796367c0479b04ffc0a6e4509 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
@@ -4,188 +4,152 @@ tests/e-acsl-runtime/cast.i:19:[e-acsl] warning: missing guard for ensuring that
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:245.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:250:[value] Assertion got status valid.
+PROJECT_FILE.i:251:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:258.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:259.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:264:[value] Assertion got status valid.
+PROJECT_FILE.i:265:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:269.
+        Called from PROJECT_FILE.i:270.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:270.
+        Called from PROJECT_FILE.i:271.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:272.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:273.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:278:[value] Assertion got status valid.
+PROJECT_FILE.i:279:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_ui <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 PROJECT_FILE.i:78:[value] Function __gmpz_init_set_ui: postcondition got status valid.
 [value] Done for function __gmpz_init_set_ui
 [value] computing for function __gmpz_init_set_ui <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_init_set_ui
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:286.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:287.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:288.
+        Called from PROJECT_FILE.i:289.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:289.
+        Called from PROJECT_FILE.i:290.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:293:[value] Assertion got status valid.
+PROJECT_FILE.i:294:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_str <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:302.
 PROJECT_FILE.i:86:[value] Function __gmpz_init_set_str: postcondition got status valid.
 [value] Done for function __gmpz_init_set_str
 [value] computing for function __gmpz_get_ui <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:303.
 PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid.
 [value] Done for function __gmpz_get_ui
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:303.
+        Called from PROJECT_FILE.i:304.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:304.
+        Called from PROJECT_FILE.i:305.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:305.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:306.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:307.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:308.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:309.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:313:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:310.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:314:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_ui <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:321.
 [value] Done for function __gmpz_init_set_ui
 [value] computing for function __gmpz_init_set_str <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_init_set_str
 [value] computing for function __gmpz_get_ui <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_get_ui
 [value] computing for function __gmpz_init_set_ui <- main.
-        Called from PROJECT_FILE.i:323.
+        Called from PROJECT_FILE.i:324.
 [value] Done for function __gmpz_init_set_ui
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:324.
+        Called from PROJECT_FILE.i:325.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:325.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:326.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:327.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:328.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:329.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:330.
+[value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
 [value] ====== VALUES COMPUTED ======
@@ -231,9 +195,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -257,7 +222,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"((int)x == y)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -272,7 +237,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)y);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(x == (long)y)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -287,7 +252,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion",
                   (char *)"(y == (int)0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -304,7 +269,7 @@ int main(void)
                        (unsigned long)((unsigned int)0));
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion",
                   (char *)"((unsigned int)y == (unsigned int)0)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -325,7 +290,7 @@ int main(void)
                        (long)((int)__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 != 0,(char *)"Assertion",
                   (char *)"(y != (int)0xfffffffffffffff)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
@@ -348,7 +313,7 @@ int main(void)
                        (unsigned long)((unsigned int)__e_acsl_var_20));
     __e_acsl_var_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                  (__mpz_struct const *)(__e_acsl_var_21));
-    e_acsl_assert(! (__e_acsl_var_22 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_22 != 0,(char *)"Assertion",
                   (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)",
                   19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle
index ac011039d4f199c902b6aca57dfa698c9b61d810..6630d462341da870e290e7ba05dc0b7f491b9e08 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle
@@ -2,34 +2,35 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:239:[value] Assertion got status valid.
+PROJECT_FILE.i:240:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:242:[value] Assertion got status valid.
+PROJECT_FILE.i:243:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:245:[value] Assertion got status valid.
+PROJECT_FILE.i:246:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:249:[value] Assertion got status valid.
+PROJECT_FILE.i:250:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:253:[value] Assertion got status valid.
+PROJECT_FILE.i:254:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -47,9 +48,10 @@ PROJECT_FILE.i:253:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -65,21 +67,19 @@ int main(void)
   x = (long)0;
   y = 0;
   /*@ assert (int)x ≡ y; */ ;
-  e_acsl_assert(! ((int)x == y),(char *)"Assertion",(char *)"((int)x == y)",
-                11);
+  e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"((int)x == y)",11);
   /*@ assert x ≡ (long)y; */ ;
-  e_acsl_assert(! (x == (long)y),(char *)"Assertion",
-                (char *)"(x == (long)y)",12);
+  e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"(x == (long)y)",12);
   /*@ assert y ≡ (int)0; */ ;
-  e_acsl_assert(! (y == 0),(char *)"Assertion",(char *)"(y == (int)0)",14);
+  e_acsl_assert(y == 0,(char *)"Assertion",(char *)"(y == (int)0)",14);
   /*@ assert (unsigned int)y ≡ (unsigned int)0; */ ;
-  e_acsl_assert(! ((unsigned int)y == (unsigned int)0),(char *)"Assertion",
+  e_acsl_assert((unsigned int)y == (unsigned int)0,(char *)"Assertion",
                 (char *)"((unsigned int)y == (unsigned int)0)",15);
   /*@ assert y ≢ (int)0xfffffffffffffff; */ ;
-  e_acsl_assert(! (y != (int)0xfffffffffffffff),(char *)"Assertion",
+  e_acsl_assert(y != (int)0xfffffffffffffff,(char *)"Assertion",
                 (char *)"(y != (int)0xfffffffffffffff)",18);
   /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ;
-  e_acsl_assert(! ((unsigned int)y != (unsigned int)0xfffffffffffffff),
+  e_acsl_assert((unsigned int)y != (unsigned int)0xfffffffffffffff,
                 (char *)"Assertion",
                 (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)",
                 19);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
index b8e3aec59359013d63f3f890c4aa47104472e643..ae41e9603b1ac7b2bb5749a7bd18393c75f88804 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
@@ -2,482 +2,387 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:237:[value] Assertion got status valid.
+PROJECT_FILE.i:238:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:245.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:246.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:251:[value] Assertion got status valid.
+PROJECT_FILE.i:252:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:258.
+        Called from PROJECT_FILE.i:259.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:259.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:260.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:265:[value] Assertion got status valid.
+PROJECT_FILE.i:266:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:270.
+        Called from PROJECT_FILE.i:271.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:273.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:273.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:274.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:279:[value] Assertion got status valid.
+PROJECT_FILE.i:280:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:286.
+        Called from PROJECT_FILE.i:287.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:287.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:288.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:288.
+        Called from PROJECT_FILE.i:289.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:289.
+        Called from PROJECT_FILE.i:290.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:294:[value] Assertion got status valid.
+PROJECT_FILE.i:295:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:297:[value] Assertion got status unknown.
+PROJECT_FILE.i:298:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:299.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:300:[value] Assertion got status valid.
+PROJECT_FILE.i:301:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:305.
+        Called from PROJECT_FILE.i:306.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:306.
+        Called from PROJECT_FILE.i:307.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:307.
+        Called from PROJECT_FILE.i:308.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:308.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:309.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:309.
+        Called from PROJECT_FILE.i:310.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:310.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:314:[value] Assertion got status valid.
+PROJECT_FILE.i:315:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:319.
+        Called from PROJECT_FILE.i:320.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:321.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:322.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:323.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:323.
+        Called from PROJECT_FILE.i:324.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:324.
+        Called from PROJECT_FILE.i:325.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:328:[value] Assertion got status valid.
+PROJECT_FILE.i:329:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:333.
+        Called from PROJECT_FILE.i:334.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:334.
+        Called from PROJECT_FILE.i:335.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:335.
+        Called from PROJECT_FILE.i:336.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:336.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:337.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:337.
+        Called from PROJECT_FILE.i:338.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:338.
+        Called from PROJECT_FILE.i:339.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:342:[value] Assertion got status valid.
+PROJECT_FILE.i:343:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:349.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:350.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:350.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:351.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:351.
+        Called from PROJECT_FILE.i:352.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:352.
+        Called from PROJECT_FILE.i:353.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:356:[value] Assertion got status valid.
+PROJECT_FILE.i:357:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:360.
+        Called from PROJECT_FILE.i:361.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:361.
+        Called from PROJECT_FILE.i:362.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:362.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:363.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:363.
+        Called from PROJECT_FILE.i:364.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:367:[value] Assertion got status valid.
+PROJECT_FILE.i:368:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:372.
+        Called from PROJECT_FILE.i:373.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:373.
+        Called from PROJECT_FILE.i:374.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:374.
+        Called from PROJECT_FILE.i:375.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:375.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:376.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:376.
+        Called from PROJECT_FILE.i:377.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:377.
+        Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:381:[value] Assertion got status valid.
+PROJECT_FILE.i:382:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:387.
+        Called from PROJECT_FILE.i:388.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:388.
+        Called from PROJECT_FILE.i:389.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:389.
+        Called from PROJECT_FILE.i:390.
 PROJECT_FILE.i:128:[value] Function __gmpz_neg: precondition got status valid.
 PROJECT_FILE.i:129:[value] Function __gmpz_neg: precondition got status valid.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:390.
+        Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:391.
+        Called from PROJECT_FILE.i:392.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:392.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:393.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:393.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:394.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:395.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:399:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:396.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:400:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:405.
+        Called from PROJECT_FILE.i:406.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:406.
+        Called from PROJECT_FILE.i:407.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:407.
+        Called from PROJECT_FILE.i:408.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:408.
+        Called from PROJECT_FILE.i:409.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:410.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:411.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:411.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:412.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:413.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:417:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:414.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:418:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:423.
+        Called from PROJECT_FILE.i:424.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:424.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:425.
+        Called from PROJECT_FILE.i:426.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:426.
+        Called from PROJECT_FILE.i:427.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:427.
+        Called from PROJECT_FILE.i:428.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:428.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:429.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:429.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:430.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:431.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:435:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:432.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:436:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:441.
+        Called from PROJECT_FILE.i:442.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:442.
+        Called from PROJECT_FILE.i:443.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:443.
+        Called from PROJECT_FILE.i:444.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:444.
+        Called from PROJECT_FILE.i:445.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:445.
+        Called from PROJECT_FILE.i:446.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:446.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:447.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:447.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:448.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:449.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:453:[value] Assertion got status valid.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:450.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:454:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:458.
+        Called from PROJECT_FILE.i:459.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:459.
+        Called from PROJECT_FILE.i:460.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:460.
+        Called from PROJECT_FILE.i:461.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:461.
+        Called from PROJECT_FILE.i:462.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:462.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:463.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:463.
+        Called from PROJECT_FILE.i:464.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:464.
+        Called from PROJECT_FILE.i:465.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:468:[value] Assertion got status valid.
+PROJECT_FILE.i:469:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:474.
+        Called from PROJECT_FILE.i:475.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:475.
+        Called from PROJECT_FILE.i:476.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:476.
+        Called from PROJECT_FILE.i:477.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_neg <- main.
-        Called from PROJECT_FILE.i:477.
+        Called from PROJECT_FILE.i:478.
 [value] Done for function __gmpz_neg
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:478.
+        Called from PROJECT_FILE.i:479.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:479.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:480.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:480.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:481.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:482.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:483.
+[value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
 [value] ====== VALUES COMPUTED ======
@@ -521,9 +426,10 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -548,8 +454,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 < 0),(char *)"Assertion",
-                  (char *)"(x < y)",9);
+    e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -563,8 +468,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 > 0),(char *)"Assertion",
-                  (char *)"(y > x)",10);
+    e_acsl_assert(__e_acsl_var_6 > 0,(char *)"Assertion",(char *)"(y > x)",
+                  10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
   }
@@ -578,8 +483,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 <= 0),(char *)"Assertion",
-                  (char *)"(x <= 0)",11);
+    e_acsl_assert(__e_acsl_var_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)",
+                  11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
   }
@@ -593,7 +498,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12 >= 0,(char *)"Assertion",
                   (char *)"(y >= 1)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -601,9 +506,9 @@ int main(void)
   
   s = (char *)"toto";
   /*@ assert s ≡ s; */ ;
-  e_acsl_assert(! (s == s),(char *)"Assertion",(char *)"(s == s)",14);
+  e_acsl_assert(s == s,(char *)"Assertion",(char *)"(s == s)",14);
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",15);
   /*@ assert 5 < 18; */ ;
   {
@@ -614,8 +519,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)18);
     __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                  (__mpz_struct const *)(__e_acsl_var_14));
-    e_acsl_assert(! (__e_acsl_var_15 < 0),(char *)"Assertion",
-                  (char *)"(5 < 18)",16);
+    e_acsl_assert(__e_acsl_var_15 < 0,(char *)"Assertion",(char *)"(5 < 18)",
+                  16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
   }
@@ -629,8 +534,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)3);
     __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16),
                                  (__mpz_struct const *)(__e_acsl_var_17));
-    e_acsl_assert(! (__e_acsl_var_18 > 0),(char *)"Assertion",
-                  (char *)"(32 > 3)",17);
+    e_acsl_assert(__e_acsl_var_18 > 0,(char *)"Assertion",(char *)"(32 > 3)",
+                  17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_17));
   }
@@ -644,7 +549,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)13);
     __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19),
                                  (__mpz_struct const *)(__e_acsl_var_20));
-    e_acsl_assert(! (__e_acsl_var_21 <= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_21 <= 0,(char *)"Assertion",
                   (char *)"(12 <= 13)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_20));
@@ -659,7 +564,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)12);
     __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22),
                                  (__mpz_struct const *)(__e_acsl_var_23));
-    e_acsl_assert(! (__e_acsl_var_24 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_24 >= 0,(char *)"Assertion",
                   (char *)"(123 >= 12)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_23));
@@ -672,7 +577,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)0xff);
     __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25),
                                  (__mpz_struct const *)(__e_acsl_var_25));
-    e_acsl_assert(! (__e_acsl_var_26 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Assertion",
                   (char *)"(0xff == 0xff)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
   }
@@ -686,7 +591,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)2);
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 != 0,(char *)"Assertion",
                   (char *)"(1 != 2)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_27));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_28));
@@ -705,7 +610,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)18);
     __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31),
                                  (__mpz_struct const *)(__e_acsl_var_32));
-    e_acsl_assert(! (__e_acsl_var_33 < 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_33 < 0,(char *)"Assertion",
                   (char *)"(-5 < 18)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -725,7 +630,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 > 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 > 0,(char *)"Assertion",
                   (char *)"(32 > -3)",24);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_34));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
@@ -745,7 +650,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)13);
     __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39),
                                  (__mpz_struct const *)(__e_acsl_var_40));
-    e_acsl_assert(! (__e_acsl_var_41 <= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41 <= 0,(char *)"Assertion",
                   (char *)"(-12 <= 13)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -765,7 +670,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_43));
     __e_acsl_var_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42),
                                  (__mpz_struct const *)(__e_acsl_var_44));
-    e_acsl_assert(! (__e_acsl_var_45 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_45 >= 0,(char *)"Assertion",
                   (char *)"(123 >= -12)",26);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_42));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_43));
@@ -783,7 +688,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_46));
     __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47),
                                  (__mpz_struct const *)(__e_acsl_var_47));
-    e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion",
                   (char *)"(-0xff == -0xff)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_46));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_47));
@@ -802,7 +707,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_50));
     __e_acsl_var_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_49),
                                  (__mpz_struct const *)(__e_acsl_var_51));
-    e_acsl_assert(! (__e_acsl_var_52 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_52 != 0,(char *)"Assertion",
                   (char *)"(1 != -2)",28);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_49));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_50));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle
index 5d7164da93aa559c3542aeab75a368e6c72352c2..a58077a3990d63ef404c75602b003a2a5ba0a2c2 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle
@@ -2,94 +2,95 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:237:[value] Assertion got status valid.
+PROJECT_FILE.i:238:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:238.
+        Called from PROJECT_FILE.i:239.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:240:[value] Assertion got status valid.
+PROJECT_FILE.i:241:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:243:[value] Assertion got status valid.
+PROJECT_FILE.i:244:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:246:[value] Assertion got status valid.
+PROJECT_FILE.i:247:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:250:[value] Assertion got status valid.
+PROJECT_FILE.i:251:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:253:[value] Assertion got status unknown.
+PROJECT_FILE.i:254:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:256:[value] Assertion got status valid.
+PROJECT_FILE.i:257:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:259:[value] Assertion got status valid.
+PROJECT_FILE.i:260:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:262:[value] Assertion got status valid.
+PROJECT_FILE.i:263:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:265:[value] Assertion got status valid.
+PROJECT_FILE.i:266:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:266.
+        Called from PROJECT_FILE.i:267.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:268:[value] Assertion got status valid.
+PROJECT_FILE.i:269:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:269.
+        Called from PROJECT_FILE.i:270.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:271:[value] Assertion got status valid.
+PROJECT_FILE.i:272:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:273.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:274:[value] Assertion got status valid.
+PROJECT_FILE.i:275:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:277:[value] Assertion got status valid.
+PROJECT_FILE.i:278:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:280:[value] Assertion got status valid.
+PROJECT_FILE.i:281:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:283:[value] Assertion got status valid.
+PROJECT_FILE.i:284:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:286:[value] Assertion got status valid.
+PROJECT_FILE.i:287:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:287.
+        Called from PROJECT_FILE.i:288.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:289:[value] Assertion got status valid.
+PROJECT_FILE.i:290:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:290.
+        Called from PROJECT_FILE.i:291.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -108,9 +109,10 @@ PROJECT_FILE.i:289:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -127,45 +129,44 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */ ;
-  e_acsl_assert(! (x < y),(char *)"Assertion",(char *)"(x < y)",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"(x < y)",9);
   /*@ assert y > x; */ ;
-  e_acsl_assert(! (y > x),(char *)"Assertion",(char *)"(y > x)",10);
+  e_acsl_assert(y > x,(char *)"Assertion",(char *)"(y > x)",10);
   /*@ assert x ≤ 0; */ ;
-  e_acsl_assert(! (x <= 0),(char *)"Assertion",(char *)"(x <= 0)",11);
+  e_acsl_assert(x <= 0,(char *)"Assertion",(char *)"(x <= 0)",11);
   /*@ assert y ≥ 1; */ ;
-  e_acsl_assert(! (y >= 1),(char *)"Assertion",(char *)"(y >= 1)",12);
+  e_acsl_assert(y >= 1,(char *)"Assertion",(char *)"(y >= 1)",12);
   s = (char *)"toto";
   /*@ assert s ≡ s; */ ;
-  e_acsl_assert(! (s == s),(char *)"Assertion",(char *)"(s == s)",14);
+  e_acsl_assert(s == s,(char *)"Assertion",(char *)"(s == s)",14);
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",15);
   /*@ assert 5 < 18; */ ;
-  e_acsl_assert(! (5 < 18),(char *)"Assertion",(char *)"(5 < 18)",16);
+  e_acsl_assert(5 < 18,(char *)"Assertion",(char *)"(5 < 18)",16);
   /*@ assert 32 > 3; */ ;
-  e_acsl_assert(! (32 > 3),(char *)"Assertion",(char *)"(32 > 3)",17);
+  e_acsl_assert(32 > 3,(char *)"Assertion",(char *)"(32 > 3)",17);
   /*@ assert 12 ≤ 13; */ ;
-  e_acsl_assert(! (12 <= 13),(char *)"Assertion",(char *)"(12 <= 13)",18);
+  e_acsl_assert(12 <= 13,(char *)"Assertion",(char *)"(12 <= 13)",18);
   /*@ assert 123 ≥ 12; */ ;
-  e_acsl_assert(! (123 >= 12),(char *)"Assertion",(char *)"(123 >= 12)",19);
+  e_acsl_assert(123 >= 12,(char *)"Assertion",(char *)"(123 >= 12)",19);
   /*@ assert 0xff ≡ 0xff; */ ;
-  e_acsl_assert(! (0xff == 0xff),(char *)"Assertion",
-                (char *)"(0xff == 0xff)",20);
+  e_acsl_assert(0xff == 0xff,(char *)"Assertion",(char *)"(0xff == 0xff)",20);
   /*@ assert 1 ≢ 2; */ ;
-  e_acsl_assert(! (1 != 2),(char *)"Assertion",(char *)"(1 != 2)",21);
+  e_acsl_assert(1 != 2,(char *)"Assertion",(char *)"(1 != 2)",21);
   /*@ assert -5 < 18; */ ;
-  e_acsl_assert(! (-5 < 18),(char *)"Assertion",(char *)"(-5 < 18)",23);
+  e_acsl_assert(-5 < 18,(char *)"Assertion",(char *)"(-5 < 18)",23);
   /*@ assert 32 > -3; */ ;
-  e_acsl_assert(! (32 > -3),(char *)"Assertion",(char *)"(32 > -3)",24);
+  e_acsl_assert(32 > -3,(char *)"Assertion",(char *)"(32 > -3)",24);
   /*@ assert -12 ≤ 13; */ ;
-  e_acsl_assert(! (-12 <= 13),(char *)"Assertion",(char *)"(-12 <= 13)",25);
+  e_acsl_assert(-12 <= 13,(char *)"Assertion",(char *)"(-12 <= 13)",25);
   /*@ assert 123 ≥ -12; */ ;
-  e_acsl_assert(! (123 >= -12),(char *)"Assertion",(char *)"(123 >= -12)",26);
+  e_acsl_assert(123 >= -12,(char *)"Assertion",(char *)"(123 >= -12)",26);
   /*@ assert -0xff ≡ -0xff; */ ;
-  e_acsl_assert(! (-0xff == -0xff),(char *)"Assertion",
+  e_acsl_assert(-0xff == -0xff,(char *)"Assertion",
                 (char *)"(-0xff == -0xff)",27);
   /*@ assert 1 ≢ -2; */ ;
-  e_acsl_assert(! (1 != -2),(char *)"Assertion",(char *)"(1 != -2)",28);
+  e_acsl_assert(1 != -2,(char *)"Assertion",(char *)"(1 != -2)",28);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle
index 15b758f60202e807156869e4109fe358b1fee78f..2fff7cb272517de5f41d0b018024fabff4142bfe 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle
@@ -15,9 +15,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -32,7 +33,7 @@ int main(void)
   x = 0;
   if (x) {
     /*@ assert \false; */ ;
-    e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",8);
+    e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",8);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle
index 15b758f60202e807156869e4109fe358b1fee78f..2fff7cb272517de5f41d0b018024fabff4142bfe 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle
@@ -15,9 +15,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -32,7 +33,7 @@ int main(void)
   x = 0;
   if (x) {
     /*@ assert \false; */ ;
-    e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",8);
+    e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",8);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
index b7818bc190e8bd6f400f1c799d156d2e51470ece..8470142c5f17016e0de416c1aa50268fb514b66e 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
@@ -5,165 +5,126 @@
         X ∈ {0}
         Y ∈ {2}
 [value] computing for function f <- main.
-        Called from PROJECT_FILE.i:685.
+        Called from PROJECT_FILE.i:686.
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:239.
+        Called from PROJECT_FILE.i:240.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- f <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:242.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:243.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:231:[value] Function f: postcondition got status valid.
+PROJECT_FILE.i:232:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
 [value] computing for function g <- main.
-        Called from PROJECT_FILE.i:686.
+        Called from PROJECT_FILE.i:687.
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- g <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:264.
-[value] computing for function printf <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:265.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:265.
+        Called from PROJECT_FILE.i:266.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- g <- main.
-        Called from PROJECT_FILE.i:266.
+        Called from PROJECT_FILE.i:267.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:267.
-[value] computing for function printf <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:268.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- g <- main.
-        Called from PROJECT_FILE.i:268.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- g <- main.
         Called from PROJECT_FILE.i:269.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- g <- main.
         Called from PROJECT_FILE.i:270.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:250:[value] Function g: postcondition got status valid.
+[value] computing for function __gmpz_clear <- g <- main.
+        Called from PROJECT_FILE.i:271.
+[value] Done for function __gmpz_clear
 PROJECT_FILE.i:251:[value] Function g: postcondition got status valid.
+PROJECT_FILE.i:252:[value] Function g: postcondition got status valid.
 [value] Recording results for g
 [value] Done for function g
 [value] computing for function h <- main.
-        Called from PROJECT_FILE.i:687.
-PROJECT_FILE.i:276:[value] Function h: precondition got status valid.
+        Called from PROJECT_FILE.i:688.
+PROJECT_FILE.i:277:[value] Function h: precondition got status valid.
 [value] computing for function __gmpz_init_set_si <- h <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- h <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- h <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:286.
-[value] computing for function printf <- e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:287.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- h <- main.
-        Called from PROJECT_FILE.i:287.
+        Called from PROJECT_FILE.i:288.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- h <- main.
-        Called from PROJECT_FILE.i:288.
+        Called from PROJECT_FILE.i:289.
 [value] Done for function __gmpz_clear
 [value] Recording results for h
 [value] Done for function h
 [value] computing for function i <- main.
-        Called from PROJECT_FILE.i:688.
-PROJECT_FILE.i:295:[value] Function i: precondition got status valid.
+        Called from PROJECT_FILE.i:689.
 PROJECT_FILE.i:296:[value] Function i: precondition got status valid.
+PROJECT_FILE.i:297:[value] Function i: precondition got status valid.
 [value] computing for function __gmpz_init_set_si <- i <- main.
-        Called from PROJECT_FILE.i:306.
+        Called from PROJECT_FILE.i:307.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- i <- main.
-        Called from PROJECT_FILE.i:307.
+        Called from PROJECT_FILE.i:308.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- i <- main.
-        Called from PROJECT_FILE.i:308.
+        Called from PROJECT_FILE.i:309.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:309.
-[value] computing for function printf <- e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:310.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- i <- main.
-        Called from PROJECT_FILE.i:310.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- i <- main.
-        Called from PROJECT_FILE.i:311.
+        Called from PROJECT_FILE.i:312.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- i <- main.
-        Called from PROJECT_FILE.i:312.
+        Called from PROJECT_FILE.i:313.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:313.
-[value] computing for function printf <- e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:314.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- i <- main.
-        Called from PROJECT_FILE.i:314.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- i <- main.
         Called from PROJECT_FILE.i:315.
 [value] Done for function __gmpz_clear
@@ -173,80 +134,62 @@ PROJECT_FILE.i:296:[value] Function i: precondition got status valid.
 [value] computing for function __gmpz_clear <- i <- main.
         Called from PROJECT_FILE.i:317.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- i <- main.
+        Called from PROJECT_FILE.i:318.
+[value] Done for function __gmpz_clear
 [value] Recording results for i
 [value] Done for function i
 [value] computing for function j <- main.
-        Called from PROJECT_FILE.i:689.
-PROJECT_FILE.i:325:[value] Function j, behavior b1: precondition got status valid.
-PROJECT_FILE.i:329:[value] Function j, behavior b2: precondition got status valid.
+        Called from PROJECT_FILE.i:690.
+PROJECT_FILE.i:326:[value] Function j, behavior b1: precondition got status valid.
 PROJECT_FILE.i:330:[value] Function j, behavior b2: precondition got status valid.
+PROJECT_FILE.i:331:[value] Function j, behavior b2: precondition got status valid.
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:349.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- j <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:350.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:350.
-[value] computing for function printf <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:351.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:351.
+        Called from PROJECT_FILE.i:352.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:352.
+        Called from PROJECT_FILE.i:353.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- j <- main.
-        Called from PROJECT_FILE.i:353.
+        Called from PROJECT_FILE.i:354.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- j <- main.
-        Called from PROJECT_FILE.i:354.
+        Called from PROJECT_FILE.i:355.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- j <- main.
-        Called from PROJECT_FILE.i:355.
+        Called from PROJECT_FILE.i:356.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:356.
-[value] computing for function printf <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:357.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:357.
+        Called from PROJECT_FILE.i:358.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- j <- main.
-        Called from PROJECT_FILE.i:358.
+        Called from PROJECT_FILE.i:359.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:359.
-[value] computing for function printf <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:360.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- j <- main.
-        Called from PROJECT_FILE.i:360.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- j <- main.
         Called from PROJECT_FILE.i:361.
 [value] Done for function __gmpz_clear
@@ -262,53 +205,41 @@ PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] computing for function __gmpz_clear <- j <- main.
         Called from PROJECT_FILE.i:365.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- j <- main.
+        Called from PROJECT_FILE.i:366.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:377.
+        Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:378.
+        Called from PROJECT_FILE.i:379.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- j <- main.
-        Called from PROJECT_FILE.i:379.
+        Called from PROJECT_FILE.i:380.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:380.
-[value] computing for function printf <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:381.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:381.
+        Called from PROJECT_FILE.i:382.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- j <- main.
-        Called from PROJECT_FILE.i:382.
+        Called from PROJECT_FILE.i:383.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- j <- main.
-        Called from PROJECT_FILE.i:383.
+        Called from PROJECT_FILE.i:384.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- j <- main.
-        Called from PROJECT_FILE.i:384.
+        Called from PROJECT_FILE.i:385.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- j <- main.
-        Called from PROJECT_FILE.i:385.
+        Called from PROJECT_FILE.i:386.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:386.
-[value] computing for function printf <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:387.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- j <- main.
-        Called from PROJECT_FILE.i:387.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- j <- main.
         Called from PROJECT_FILE.i:388.
 [value] Done for function __gmpz_clear
@@ -321,135 +252,123 @@ PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] computing for function __gmpz_clear <- j <- main.
         Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:326:[value] Function j, behavior b1: postcondition got status valid.
-PROJECT_FILE.i:331:[value] Function j, behavior b2: postcondition got status valid.
+[value] computing for function __gmpz_clear <- j <- main.
+        Called from PROJECT_FILE.i:392.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:327:[value] Function j, behavior b1: postcondition got status valid.
+PROJECT_FILE.i:332:[value] Function j, behavior b2: postcondition got status valid.
 [value] Recording results for j
 [value] Done for function j
 [value] computing for function k <- main.
-        Called from PROJECT_FILE.i:690.
-PROJECT_FILE.i:399:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated.
-PROJECT_FILE.i:404:[value] Function k, behavior b2: precondition got status valid.
+        Called from PROJECT_FILE.i:691.
+PROJECT_FILE.i:400:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated.
 PROJECT_FILE.i:405:[value] Function k, behavior b2: precondition got status valid.
+PROJECT_FILE.i:406:[value] Function k, behavior b2: precondition got status valid.
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:423.
+        Called from PROJECT_FILE.i:424.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:424.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:425.
+        Called from PROJECT_FILE.i:426.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:431.
+        Called from PROJECT_FILE.i:432.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:432.
+        Called from PROJECT_FILE.i:433.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:433.
+        Called from PROJECT_FILE.i:434.
 [value] Done for function __gmpz_cmp
-PROJECT_FILE.i:434:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:435:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:435.
+        Called from PROJECT_FILE.i:436.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:436.
+        Called from PROJECT_FILE.i:437.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:438.
-[value] computing for function printf <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:439.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:439.
+        Called from PROJECT_FILE.i:440.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:440.
+        Called from PROJECT_FILE.i:441.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:445.
+        Called from PROJECT_FILE.i:446.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:446.
+        Called from PROJECT_FILE.i:447.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:447.
+        Called from PROJECT_FILE.i:448.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:449.
+        Called from PROJECT_FILE.i:450.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:450.
+        Called from PROJECT_FILE.i:451.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:458.
+        Called from PROJECT_FILE.i:459.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:459.
+        Called from PROJECT_FILE.i:460.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:460.
+        Called from PROJECT_FILE.i:461.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:462.
+        Called from PROJECT_FILE.i:463.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:463.
+        Called from PROJECT_FILE.i:464.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:465.
-[value] computing for function printf <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:466.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:468.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:472.
+        Called from PROJECT_FILE.i:473.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:473.
+        Called from PROJECT_FILE.i:474.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:474.
+        Called from PROJECT_FILE.i:475.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:476.
+        Called from PROJECT_FILE.i:477.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:477.
+        Called from PROJECT_FILE.i:478.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:487.
+        Called from PROJECT_FILE.i:488.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:488.
+        Called from PROJECT_FILE.i:489.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- k <- main.
-        Called from PROJECT_FILE.i:489.
+        Called from PROJECT_FILE.i:490.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- k <- main.
-        Called from PROJECT_FILE.i:490.
+        Called from PROJECT_FILE.i:491.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- k <- main.
-        Called from PROJECT_FILE.i:491.
+        Called from PROJECT_FILE.i:492.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- k <- main.
-        Called from PROJECT_FILE.i:492.
+        Called from PROJECT_FILE.i:493.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:494.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
         Called from PROJECT_FILE.i:495.
 [value] Done for function __gmpz_clear
@@ -459,231 +378,201 @@ PROJECT_FILE.i:434:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- k <- main.
         Called from PROJECT_FILE.i:497.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- k <- main.
+        Called from PROJECT_FILE.i:498.
+[value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:499.
-[value] computing for function printf <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:500.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- k <- main.
-        Called from PROJECT_FILE.i:501.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
         Called from PROJECT_FILE.i:502.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- k <- main.
         Called from PROJECT_FILE.i:503.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- k <- main.
+        Called from PROJECT_FILE.i:504.
+[value] Done for function __gmpz_clear
 [value] Recording results for k
 [value] Done for function k
 [value] computing for function l <- main.
-        Called from PROJECT_FILE.i:691.
-PROJECT_FILE.i:513:[value] Assertion got status valid.
+        Called from PROJECT_FILE.i:692.
+PROJECT_FILE.i:514:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- l <- main.
-        Called from PROJECT_FILE.i:518.
+        Called from PROJECT_FILE.i:519.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- l <- main.
-        Called from PROJECT_FILE.i:519.
+        Called from PROJECT_FILE.i:520.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- l <- main.
-        Called from PROJECT_FILE.i:520.
+        Called from PROJECT_FILE.i:521.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:521.
-[value] computing for function printf <- e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:522.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- l <- main.
-        Called from PROJECT_FILE.i:522.
+        Called from PROJECT_FILE.i:523.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- l <- main.
-        Called from PROJECT_FILE.i:523.
+        Called from PROJECT_FILE.i:524.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- l <- main.
-        Called from PROJECT_FILE.i:531.
+        Called from PROJECT_FILE.i:532.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- l <- main.
-        Called from PROJECT_FILE.i:532.
+        Called from PROJECT_FILE.i:533.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- l <- main.
-        Called from PROJECT_FILE.i:533.
+        Called from PROJECT_FILE.i:534.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:534.
-[value] computing for function printf <- e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:535.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- l <- main.
-        Called from PROJECT_FILE.i:535.
+        Called from PROJECT_FILE.i:536.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- l <- main.
-        Called from PROJECT_FILE.i:536.
+        Called from PROJECT_FILE.i:537.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:510:[value] Function l: postcondition got status valid.
+PROJECT_FILE.i:511:[value] Function l: postcondition got status valid.
 [value] Recording results for l
 [value] Done for function l
 [value] computing for function m <- main.
-        Called from PROJECT_FILE.i:692.
+        Called from PROJECT_FILE.i:693.
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:566.
+        Called from PROJECT_FILE.i:567.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:567.
+        Called from PROJECT_FILE.i:568.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:568.
+        Called from PROJECT_FILE.i:569.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:573.
+        Called from PROJECT_FILE.i:574.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:574.
+        Called from PROJECT_FILE.i:575.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:575.
+        Called from PROJECT_FILE.i:576.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:577.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:578.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:582.
+        Called from PROJECT_FILE.i:579.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:583.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- m <- main.
+        Called from PROJECT_FILE.i:584.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:591.
+        Called from PROJECT_FILE.i:592.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:592.
+        Called from PROJECT_FILE.i:593.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:593.
+        Called from PROJECT_FILE.i:594.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:598.
+        Called from PROJECT_FILE.i:599.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:599.
+        Called from PROJECT_FILE.i:600.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:600.
+        Called from PROJECT_FILE.i:601.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:602.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:603.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:607.
+        Called from PROJECT_FILE.i:604.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:608.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- m <- main.
+        Called from PROJECT_FILE.i:609.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:615.
+        Called from PROJECT_FILE.i:616.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:616.
+        Called from PROJECT_FILE.i:617.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:617.
+        Called from PROJECT_FILE.i:618.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:619.
+        Called from PROJECT_FILE.i:620.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:620.
+        Called from PROJECT_FILE.i:621.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:633.
+        Called from PROJECT_FILE.i:634.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:634.
+        Called from PROJECT_FILE.i:635.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:635.
+        Called from PROJECT_FILE.i:636.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:637.
+        Called from PROJECT_FILE.i:638.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:638.
+        Called from PROJECT_FILE.i:639.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:640.
-[value] computing for function printf <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:641.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:647.
+        Called from PROJECT_FILE.i:648.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:648.
+        Called from PROJECT_FILE.i:649.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:649.
+        Called from PROJECT_FILE.i:650.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:651.
+        Called from PROJECT_FILE.i:652.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:652.
+        Called from PROJECT_FILE.i:653.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:654.
-[value] computing for function printf <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:655.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_init_set_si <- m <- main.
-        Called from PROJECT_FILE.i:663.
-[value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
         Called from PROJECT_FILE.i:664.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- m <- main.
         Called from PROJECT_FILE.i:665.
 [value] Done for function __gmpz_init_set_si
-[value] computing for function __gmpz_init <- m <- main.
+[value] computing for function __gmpz_init_set_si <- m <- main.
         Called from PROJECT_FILE.i:666.
+[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_init <- m <- main.
+        Called from PROJECT_FILE.i:667.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- m <- main.
-        Called from PROJECT_FILE.i:667.
+        Called from PROJECT_FILE.i:668.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- m <- main.
-        Called from PROJECT_FILE.i:668.
+        Called from PROJECT_FILE.i:669.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- m <- main.
-        Called from PROJECT_FILE.i:670.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:671.
 [value] Done for function __gmpz_clear
@@ -693,19 +582,16 @@ PROJECT_FILE.i:510:[value] Function l: postcondition got status valid.
 [value] computing for function __gmpz_clear <- m <- main.
         Called from PROJECT_FILE.i:673.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- m <- main.
+        Called from PROJECT_FILE.i:674.
+[value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:675.
-[value] computing for function printf <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:676.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:544:[value] Function m, behavior b1: assumes got status invalid; post-condition not evaluated.
-PROJECT_FILE.i:549:[value] Function m, behavior b2: postcondition got status valid.
+PROJECT_FILE.i:545:[value] Function m, behavior b1: assumes got status invalid; post-condition not evaluated.
 PROJECT_FILE.i:550:[value] Function m, behavior b2: postcondition got status valid.
+PROJECT_FILE.i:551:[value] Function m, behavior b2: postcondition got status valid.
 [value] Recording results for m
 [value] Done for function m
 [value] Recording results for main
@@ -771,9 +657,10 @@ extern void __gmpz_add(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -795,7 +682,7 @@ void f(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition",
                   (char *)"(X == 1)",10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -819,12 +706,12 @@ void g(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition",
                   (char *)"(X == 2)",14);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)Y);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_5 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Postcondition",
                   (char *)"(Y == 2)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -845,7 +732,7 @@ void h(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition",
                   (char *)"(X == 2)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -870,13 +757,13 @@ void i(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)3);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition",
                   (char *)"(X == 3)",23);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)Y);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition",
                   (char *)"(Y == 2)",24);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -915,7 +802,7 @@ void j(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)5);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition",
                   (char *)"(X == 5)",29);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)3);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)Y);
@@ -925,12 +812,12 @@ void j(void)
                (__mpz_struct const *)(__e_acsl_var_5));
     __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_6));
-    e_acsl_assert(! (__e_acsl_var_7 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Precondition",
                   (char *)"(X == 3+Y)",32);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition",
                   (char *)"(Y == 2)",33);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -953,7 +840,7 @@ void j(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition",
                   (char *)"(X == 3)",30);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)Y);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1);
@@ -963,7 +850,7 @@ void j(void)
                (__mpz_struct const *)(__e_acsl_var_14));
     __e_acsl_var_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_15));
-    e_acsl_assert(! (__e_acsl_var_16 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_16 == 0,(char *)"Postcondition",
                   (char *)"(X == Y+1)",34);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -1018,7 +905,7 @@ void k(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Precondition",
                   (char *)"(X == 1 ==> X == 0)",40);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)3);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
@@ -1049,7 +936,7 @@ void k(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_15));
     }
-    e_acsl_assert(! __e_acsl_var_17,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_17,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X == 3)",44);
     __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                  (__mpz_struct const *)(__e_acsl_var_8));
@@ -1088,7 +975,7 @@ void k(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
     }
-    e_acsl_assert(! __e_acsl_var_28,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_28,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -1111,8 +998,8 @@ int l(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(Y == 2)",51);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(Y == 2)",
+                  51);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -1125,7 +1012,7 @@ int l(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)5);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Postcondition",
                   (char *)"(X == 5)",49);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -1238,7 +1125,7 @@ void m(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
     }
-    e_acsl_assert(! __e_acsl_var_8,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_8,(char *)"Postcondition",
                   (char *)"(\\old(X == 7) ==> X == 95)",58);
     if (! __e_acsl_var_16) { __e_acsl_var_20 = 1; }
     else {
@@ -1253,7 +1140,7 @@ void m(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_17));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     }
-    e_acsl_assert(! __e_acsl_var_20,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_20,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62);
     if (! __e_acsl_var_28) { __e_acsl_var_35 = 1; }
     else {
@@ -1278,7 +1165,7 @@ void m(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_32));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_33));
     }
-    e_acsl_assert(! __e_acsl_var_35,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_35,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63);
     return;
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle
index 91e761b53409fbb3128f1efe614d73fdba270c47..e508228f378c17bda8988240127060b3d4237cf2 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle
@@ -5,130 +5,131 @@
         X ∈ {0}
         Y ∈ {2}
 [value] computing for function f <- main.
-        Called from PROJECT_FILE.i:401.
+        Called from PROJECT_FILE.i:402.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:231:[value] Function f: postcondition got status valid.
+PROJECT_FILE.i:232:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
 [value] computing for function g <- main.
-        Called from PROJECT_FILE.i:402.
+        Called from PROJECT_FILE.i:403.
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:239:[value] Function g: postcondition got status valid.
 PROJECT_FILE.i:240:[value] Function g: postcondition got status valid.
+PROJECT_FILE.i:241:[value] Function g: postcondition got status valid.
 [value] Recording results for g
 [value] Done for function g
 [value] computing for function h <- main.
-        Called from PROJECT_FILE.i:403.
-PROJECT_FILE.i:249:[value] Function h: precondition got status valid.
+        Called from PROJECT_FILE.i:404.
+PROJECT_FILE.i:250:[value] Function h: precondition got status valid.
 [value] computing for function e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:252.
+        Called from PROJECT_FILE.i:253.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for h
 [value] Done for function h
 [value] computing for function i <- main.
-        Called from PROJECT_FILE.i:404.
-PROJECT_FILE.i:257:[value] Function i: precondition got status valid.
+        Called from PROJECT_FILE.i:405.
 PROJECT_FILE.i:258:[value] Function i: precondition got status valid.
+PROJECT_FILE.i:259:[value] Function i: precondition got status valid.
 [value] computing for function e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- i <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for i
 [value] Done for function i
 [value] computing for function j <- main.
-        Called from PROJECT_FILE.i:405.
-PROJECT_FILE.i:268:[value] Function j, behavior b1: precondition got status valid.
-PROJECT_FILE.i:272:[value] Function j, behavior b2: precondition got status valid.
+        Called from PROJECT_FILE.i:406.
+PROJECT_FILE.i:269:[value] Function j, behavior b1: precondition got status valid.
 PROJECT_FILE.i:273:[value] Function j, behavior b2: precondition got status valid.
+PROJECT_FILE.i:274:[value] Function j, behavior b2: precondition got status valid.
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:280.
+        Called from PROJECT_FILE.i:281.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- j <- main.
-        Called from PROJECT_FILE.i:286.
+        Called from PROJECT_FILE.i:287.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:269:[value] Function j, behavior b1: postcondition got status valid.
-PROJECT_FILE.i:274:[value] Function j, behavior b2: postcondition got status valid.
+PROJECT_FILE.i:270:[value] Function j, behavior b1: postcondition got status valid.
+PROJECT_FILE.i:275:[value] Function j, behavior b2: postcondition got status valid.
 [value] Recording results for j
 [value] Done for function j
 [value] computing for function k <- main.
-        Called from PROJECT_FILE.i:406.
-PROJECT_FILE.i:293:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated.
-PROJECT_FILE.i:298:[value] Function k, behavior b2: precondition got status valid.
+        Called from PROJECT_FILE.i:407.
+PROJECT_FILE.i:294:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated.
 PROJECT_FILE.i:299:[value] Function k, behavior b2: precondition got status valid.
+PROJECT_FILE.i:300:[value] Function k, behavior b2: precondition got status valid.
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:313.
+        Called from PROJECT_FILE.i:314.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:318.
+        Called from PROJECT_FILE.i:319.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- k <- main.
-        Called from PROJECT_FILE.i:324.
+        Called from PROJECT_FILE.i:325.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for k
 [value] Done for function k
 [value] computing for function l <- main.
-        Called from PROJECT_FILE.i:407.
-PROJECT_FILE.i:335:[value] Assertion got status valid.
+        Called from PROJECT_FILE.i:408.
+PROJECT_FILE.i:336:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:336.
+        Called from PROJECT_FILE.i:337.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- l <- main.
-        Called from PROJECT_FILE.i:338.
+        Called from PROJECT_FILE.i:339.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:332:[value] Function l: postcondition got status valid.
+PROJECT_FILE.i:333:[value] Function l: postcondition got status valid.
 [value] Recording results for l
 [value] Done for function l
 [value] computing for function m <- main.
-        Called from PROJECT_FILE.i:408.
+        Called from PROJECT_FILE.i:409.
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:381.
+        Called from PROJECT_FILE.i:382.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:385.
+        Called from PROJECT_FILE.i:386.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- m <- main.
-        Called from PROJECT_FILE.i:391.
+        Called from PROJECT_FILE.i:392.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:344:[value] Function m, behavior b1: assumes got status invalid; post-condition not evaluated.
-PROJECT_FILE.i:349:[value] Function m, behavior b2: postcondition got status valid.
+PROJECT_FILE.i:345:[value] Function m, behavior b1: assumes got status invalid; post-condition not evaluated.
 PROJECT_FILE.i:350:[value] Function m, behavior b2: postcondition got status valid.
+PROJECT_FILE.i:351:[value] Function m, behavior b2: postcondition got status valid.
 [value] Recording results for m
 [value] Done for function m
 [value] Recording results for main
@@ -164,9 +165,10 @@ PROJECT_FILE.i:350:[value] Function m, behavior b2: postcondition got status val
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -180,7 +182,7 @@ int Y = 2;
 void f(void)
 {
   X = 1;
-  e_acsl_assert(! (X == 1),(char *)"Postcondition",(char *)"(X == 1)",10);
+  e_acsl_assert(X == 1,(char *)"Postcondition",(char *)"(X == 1)",10);
   return;
 }
 
@@ -189,15 +191,15 @@ void f(void)
 void g(void)
 {
   X = 2;
-  e_acsl_assert(! (X == 2),(char *)"Postcondition",(char *)"(X == 2)",14);
-  e_acsl_assert(! (Y == 2),(char *)"Postcondition",(char *)"(Y == 2)",15);
+  e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"(X == 2)",14);
+  e_acsl_assert(Y == 2,(char *)"Postcondition",(char *)"(Y == 2)",15);
   return;
 }
 
 /*@ requires X ≡ 2;  */
 void h(void)
 {
-  e_acsl_assert(! (X == 2),(char *)"Precondition",(char *)"(X == 2)",19);
+  e_acsl_assert(X == 2,(char *)"Precondition",(char *)"(X == 2)",19);
   X ++;
   return;
 }
@@ -206,8 +208,8 @@ void h(void)
     requires Y ≡ 2;  */
 void i(void)
 {
-  e_acsl_assert(! (X == 3),(char *)"Precondition",(char *)"(X == 3)",23);
-  e_acsl_assert(! (Y == 2),(char *)"Precondition",(char *)"(Y == 2)",24);
+  e_acsl_assert(X == 3,(char *)"Precondition",(char *)"(X == 3)",23);
+  e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"(Y == 2)",24);
   X += Y;
   return;
 }
@@ -225,13 +227,13 @@ void i(void)
 */
 void j(void)
 {
-  e_acsl_assert(! (X == 5),(char *)"Precondition",(char *)"(X == 5)",29);
-  e_acsl_assert(! ((long long)X == (long long)3 + (long long)Y),
+  e_acsl_assert(X == 5,(char *)"Precondition",(char *)"(X == 5)",29);
+  e_acsl_assert((long long)X == (long long)3 + (long long)Y,
                 (char *)"Precondition",(char *)"(X == 3+Y)",32);
-  e_acsl_assert(! (Y == 2),(char *)"Precondition",(char *)"(Y == 2)",33);
+  e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"(Y == 2)",33);
   X = 3;
-  e_acsl_assert(! (X == 3),(char *)"Postcondition",(char *)"(X == 3)",30);
-  e_acsl_assert(! ((long long)X == (long long)Y + (long long)1),
+  e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"(X == 3)",30);
+  e_acsl_assert((long long)X == (long long)Y + (long long)1,
                 (char *)"Postcondition",(char *)"(X == Y+1)",34);
   return;
 }
@@ -258,19 +260,19 @@ void k(void)
     int __e_acsl_var_5;
     if (! (X == 1)) { __e_acsl_var = 1; }
     else { __e_acsl_var = X == 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(X == 1 ==> X == 0)",40);
     if (X == 3) { __e_acsl_var_2 = Y == 2; }
     else { __e_acsl_var_2 = 0; }
     if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; }
     else { __e_acsl_var_3 = X == 3; }
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X == 3)",44);
     if (X == 3) { __e_acsl_var_4 = Y == 2; }
     else { __e_acsl_var_4 = 0; }
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = (long long)X + (long long)Y == (long long)5; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45);
     X += Y;
   }
@@ -282,8 +284,8 @@ void k(void)
 int l(void)
 {
   /*@ assert Y ≡ 2; */ ;
-  e_acsl_assert(! (Y == 2),(char *)"Assertion",(char *)"(Y == 2)",51);
-  e_acsl_assert(! (X == 5),(char *)"Postcondition",(char *)"(X == 5)",49);
+  e_acsl_assert(Y == 2,(char *)"Assertion",(char *)"(Y == 2)",51);
+  e_acsl_assert(X == 5,(char *)"Postcondition",(char *)"(X == 5)",49);
   return (X);
 }
 
@@ -326,17 +328,17 @@ void m(void)
     int __e_acsl_var_9;
     if (! __e_acsl_var) { __e_acsl_var_2 = 1; }
     else { __e_acsl_var_2 = X == 95; }
-    e_acsl_assert(! __e_acsl_var_2,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_2,(char *)"Postcondition",
                   (char *)"(\\old(X == 7) ==> X == 95)",58);
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = X == 7; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62);
     if (! __e_acsl_var_7) { __e_acsl_var_9 = 1; }
     else {
       __e_acsl_var_9 = (long long)X == (long long)__e_acsl_var_8 + (long long)Y;
     }
-    e_acsl_assert(! __e_acsl_var_9,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_9,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63);
     return;
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
index 58fd2a2530a223fba8452631d7192074ecf9b58f..dec62651953f11de2ceb357b67c7b89b28c739e5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,7 +22,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert &x ≡ &x; */ ;
-  e_acsl_assert(! (& x == & x),(char *)"Assertion",(char *)"(&x == &x)",9);
+  e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"(&x == &x)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c
index 58fd2a2530a223fba8452631d7192074ecf9b58f..dec62651953f11de2ceb357b67c7b89b28c739e5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,7 +22,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert &x ≡ &x; */ ;
-  e_acsl_assert(! (& x == & x),(char *)"Assertion",(char *)"(&x == &x)",9);
+  e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"(&x == &x)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c
index b29b1a7d0aa9ed54de3fe6e9ee0c5d463140a69c..7e3519f47938542fc175c064b1f733844e7ecc62 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,27 +24,27 @@ int main(void)
   x = -3;
   y = 2;
   /*@ assert -3 ≡ x; */ ;
-  e_acsl_assert(! (-3 == x),(char *)"Assertion",(char *)"(-3 == x)",12);
+  e_acsl_assert(-3 == x,(char *)"Assertion",(char *)"(-3 == x)",12);
   /*@ assert x ≡ -3; */ ;
-  e_acsl_assert(! (x == -3),(char *)"Assertion",(char *)"(x == -3)",13);
+  e_acsl_assert(x == -3,(char *)"Assertion",(char *)"(x == -3)",13);
   /*@ assert 0 ≢ ~0; */ ;
-  e_acsl_assert(! (0 != ~ 0),(char *)"Assertion",(char *)"(0 != ~0)",14);
+  e_acsl_assert(0 != ~ 0,(char *)"Assertion",(char *)"(0 != ~0)",14);
   /*@ assert x+1 ≡ -2; */ ;
-  e_acsl_assert(! ((long long)x + (long long)1 == (long long)(-2)),
+  e_acsl_assert((long long)x + (long long)1 == (long long)(-2),
                 (char *)"Assertion",(char *)"(x+1 == -2)",16);
   /*@ assert x-1 ≡ -4; */ ;
-  e_acsl_assert(! ((long long)x - (long long)1 == (long long)(-4)),
+  e_acsl_assert((long long)x - (long long)1 == (long long)(-4),
                 (char *)"Assertion",(char *)"(x-1 == -4)",17);
   /*@ assert x*3 ≡ -9; */ ;
-  e_acsl_assert(! ((long long)x * (long long)3 == (long long)(-9)),
+  e_acsl_assert((long long)x * (long long)3 == (long long)(-9),
                 (char *)"Assertion",(char *)"(x*3 == -9)",18);
   /*@ assert x/3 ≡ -1; */ ;
   {
     int __e_acsl_var;
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(3 == 0,(char *)"Assertion",(char *)"(3 == 0)",19);
+    e_acsl_assert(! (3 == 0),(char *)"Assertion",(char *)"(3 == 0)",19);
     __e_acsl_var = x / 3;
-    e_acsl_assert(! (__e_acsl_var == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var == -1,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
   }
   
@@ -51,10 +52,10 @@ int main(void)
   {
     int __e_acsl_var_2;
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(0xfffffffffff == (long long)0,(char *)"Assertion",
+    e_acsl_assert(! (0xfffffffffff == (long long)0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __e_acsl_var_2 = (int)(0xfffffffffff / 0xfffffffffff);
-    e_acsl_assert(! (__e_acsl_var_2 == 1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
   }
   
@@ -62,9 +63,9 @@ int main(void)
   {
     int __e_acsl_var_3;
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",21);
+    e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",21);
     __e_acsl_var_3 = x % 2;
-    e_acsl_assert(! (__e_acsl_var_3 == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == -1,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
   }
   
@@ -72,9 +73,9 @@ int main(void)
   {
     int __e_acsl_var_4;
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(-2 == 0,(char *)"Assertion",(char *)"(-2 == 0)",22);
+    e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",22);
     __e_acsl_var_4 = -3 % -2;
-    e_acsl_assert(! (__e_acsl_var_4 == -1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == -1,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
   }
   
@@ -82,31 +83,31 @@ int main(void)
   {
     int __e_acsl_var_5;
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(-2 == 0,(char *)"Assertion",(char *)"(-2 == 0)",23);
+    e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",23);
     __e_acsl_var_5 = 3 % -2;
-    e_acsl_assert(! (__e_acsl_var_5 == 1),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5 == 1,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
   }
   
   /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ;
-  e_acsl_assert(! ((((long long)x * (long long)2 + ((long long)3 + (long long)y)) - (long long)4) + (
-                   (long long)x - (long long)y) == (long long)(-10)),
+  e_acsl_assert((((long long)x * (long long)2 + ((long long)3 + (long long)y)) - (long long)4) + (
+                (long long)x - (long long)y) == (long long)(-10),
                 (char *)"Assertion",(char *)"(((x*2+(3+y))-4)+(x-y) == -10)",
                 25);
   /*@ assert (0≡1) ≡ !(0≡0); */ ;
-  e_acsl_assert(! ((0 == 1) == ! (0 == 0)),(char *)"Assertion",
+  e_acsl_assert((0 == 1) == ! (0 == 0),(char *)"Assertion",
                 (char *)"((0==1) == !(0==0))",27);
   /*@ assert (0≤-1) ≡ (0>0); */ ;
-  e_acsl_assert(! ((0 <= -1) == (0 > 0)),(char *)"Assertion",
+  e_acsl_assert((0 <= -1) == (0 > 0),(char *)"Assertion",
                 (char *)"((0<=-1) == (0>0))",28);
   /*@ assert (0≥-1) ≡ (0≤0); */ ;
-  e_acsl_assert(! ((0 >= -1) == (0 <= 0)),(char *)"Assertion",
+  e_acsl_assert((0 >= -1) == (0 <= 0),(char *)"Assertion",
                 (char *)"((0>=-1) == (0<=0))",29);
   /*@ assert (0≢1) ≡ !(0≢0); */ ;
-  e_acsl_assert(! ((0 != 1) == ! (0 != 0)),(char *)"Assertion",
+  e_acsl_assert((0 != 1) == ! (0 != 0),(char *)"Assertion",
                 (char *)"((0!=1) == !(0!=0))",30);
   /*@ assert (0≢0) ≡ !(1≢0); */ ;
-  e_acsl_assert(! ((0 != 0) == ! (1 != 0)),(char *)"Assertion",
+  e_acsl_assert((0 != 0) == ! (1 != 0),(char *)"Assertion",
                 (char *)"((0!=0) == !(1!=0))",32);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c
index dec8a0871ee72bc72981c57efade9348ffc98443..b83c4643cab6945777fcc9939176ec5ac17d9cb0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,10 +38,10 @@ int main(void)
   }
   
   /*@ assert T1[0] ≡ T2[0]; */ ;
-  e_acsl_assert(! (T1[0] == T2[0]),(char *)"Assertion",
+  e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",
                 (char *)"(T1[0] == T2[0])",14);
   /*@ assert T1[1] ≢ T2[1]; */ ;
-  e_acsl_assert(! (T1[1] != T2[1]),(char *)"Assertion",
+  e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",
                 (char *)"(T1[1] != T2[1])",15);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
index 6448fbb710da6b381a9e7a53c19cc4494585c759..579540353fa5f7cf9f0ba0f4622bbef6274c0539 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -64,7 +65,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)T2[0]);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(T1[0] == T2[0])",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -79,7 +80,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)T2[1]);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion",
                   (char *)"(T1[1] != T2[1])",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c
index 693c5486e964c59377cc0ad603442376a8f70f70..726b363c921b47a65805d5c47b75610f22a45155 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -32,21 +33,21 @@ void f(void)
   __e_acsl_var_2 = A;
   A = 2;
   /*@ assert \at(A,Pre) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion",
                 (char *)"(\\at(A,Pre) == 0)",13);
   /*@ assert \at(A,F) ≡ 1; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == 1),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion",
                 (char *)"(\\at(A,F) == 1)",14);
   /*@ assert \at(A,Here) ≡ 2; */ ;
   __e_acsl_var_3 = A;
-  e_acsl_assert(! (__e_acsl_var_3 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_3 == 2,(char *)"Assertion",
                 (char *)"(\\at(A,Here) == 2)",15);
   /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var_5 == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion",
                 (char *)"(\\at(\\at(A,Pre),F) == 0)",16);
   A = 3;
   __e_acsl_var_6 = A;
-  e_acsl_assert(! (__e_acsl_var_6 == 3),(char *)"Postcondition",
+  e_acsl_assert(__e_acsl_var_6 == 3,(char *)"Postcondition",
                 (char *)"(\\at(A,Post) == 3)",9);
   return;
 }
@@ -68,12 +69,12 @@ void g(int *p, int *q)
   L2: __e_acsl_var_2 = *(p + __e_acsl_var);
   A = 4;
   /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == 2,(char *)"Assertion",
                 (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32);
   L3: 
   /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ;
   __e_acsl_var_4 = *(p + __e_acsl_var_3);
-  e_acsl_assert(! (__e_acsl_var_4 == 2),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_4 == 2,(char *)"Assertion",
                 (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34);
   return;
 }
@@ -91,18 +92,18 @@ int main(void)
   __e_acsl_var_2 = (long long)x + (long long)1;
   __e_acsl_var = x;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! (x == 0),(char *)"Assertion",(char *)"(x == 0)",45);
+  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",45);
   x = 1;
   x = 2;
   f();
   /*@ assert \at(x,L) ≡ 0; */ ;
-  e_acsl_assert(! (__e_acsl_var == 0),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion",
                 (char *)"(\\at(x,L) == 0)",50);
   /*@ assert \at(x+1,L) ≡ 1; */ ;
-  e_acsl_assert(! (__e_acsl_var_2 == (long long)1),(char *)"Assertion",
+  e_acsl_assert(__e_acsl_var_2 == (long long)1,(char *)"Assertion",
                 (char *)"(\\at(x+1,L) == 1)",51);
   /*@ assert \at(x,L)+1 ≡ 1; */ ;
-  e_acsl_assert(! ((long long)__e_acsl_var_3 + (long long)1 == (long long)1),
+  e_acsl_assert((long long)__e_acsl_var_3 + (long long)1 == (long long)1,
                 (char *)"Assertion",(char *)"(\\at(x,L)+1 == 1)",52);
   g(t,& x);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c
index f574ab58f5b11a372f6bcca0664039f74874ff3f..a073e25196f10bcab6a66613fa8a794270627d03 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,21 +24,19 @@ int main(void)
   x = (long)0;
   y = 0;
   /*@ assert (int)x ≡ y; */ ;
-  e_acsl_assert(! ((int)x == y),(char *)"Assertion",(char *)"((int)x == y)",
-                11);
+  e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"((int)x == y)",11);
   /*@ assert x ≡ (long)y; */ ;
-  e_acsl_assert(! (x == (long)y),(char *)"Assertion",
-                (char *)"(x == (long)y)",12);
+  e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"(x == (long)y)",12);
   /*@ assert y ≡ (int)0; */ ;
-  e_acsl_assert(! (y == 0),(char *)"Assertion",(char *)"(y == (int)0)",14);
+  e_acsl_assert(y == 0,(char *)"Assertion",(char *)"(y == (int)0)",14);
   /*@ assert (unsigned int)y ≡ (unsigned int)0; */ ;
-  e_acsl_assert(! ((unsigned int)y == (unsigned int)0),(char *)"Assertion",
+  e_acsl_assert((unsigned int)y == (unsigned int)0,(char *)"Assertion",
                 (char *)"((unsigned int)y == (unsigned int)0)",15);
   /*@ assert y ≢ (int)0xfffffffffffffff; */ ;
-  e_acsl_assert(! (y != (int)0xfffffffffffffff),(char *)"Assertion",
+  e_acsl_assert(y != (int)0xfffffffffffffff,(char *)"Assertion",
                 (char *)"(y != (int)0xfffffffffffffff)",18);
   /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ;
-  e_acsl_assert(! ((unsigned int)y != (unsigned int)0xfffffffffffffff),
+  e_acsl_assert((unsigned int)y != (unsigned int)0xfffffffffffffff,
                 (char *)"Assertion",
                 (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)",
                 19);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
index 25c47c0d7f8c1b70350c68fd1e87c41c37389e65..1f191ec9c6f02aec909a563635591cfb38cc33e6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
@@ -35,9 +35,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -61,7 +62,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"((int)x == y)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -76,7 +77,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)y);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(x == (long)y)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -91,7 +92,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion",
                   (char *)"(y == (int)0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -108,7 +109,7 @@ int main(void)
                        (unsigned long)((unsigned int)0));
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion",
                   (char *)"((unsigned int)y == (unsigned int)0)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -129,7 +130,7 @@ int main(void)
                        (long)((int)__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 != 0,(char *)"Assertion",
                   (char *)"(y != (int)0xfffffffffffffff)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
@@ -152,7 +153,7 @@ int main(void)
                        (unsigned long)((unsigned int)__e_acsl_var_20));
     __e_acsl_var_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                  (__mpz_struct const *)(__e_acsl_var_21));
-    e_acsl_assert(! (__e_acsl_var_22 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_22 != 0,(char *)"Assertion",
                   (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)",
                   19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c
index 548565d106ded3a9f32b2aba8c0156f480eb3878..dd4723386a5067b4251a3d60c3dfa55f341d249f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -24,45 +25,44 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */ ;
-  e_acsl_assert(! (x < y),(char *)"Assertion",(char *)"(x < y)",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"(x < y)",9);
   /*@ assert y > x; */ ;
-  e_acsl_assert(! (y > x),(char *)"Assertion",(char *)"(y > x)",10);
+  e_acsl_assert(y > x,(char *)"Assertion",(char *)"(y > x)",10);
   /*@ assert x ≤ 0; */ ;
-  e_acsl_assert(! (x <= 0),(char *)"Assertion",(char *)"(x <= 0)",11);
+  e_acsl_assert(x <= 0,(char *)"Assertion",(char *)"(x <= 0)",11);
   /*@ assert y ≥ 1; */ ;
-  e_acsl_assert(! (y >= 1),(char *)"Assertion",(char *)"(y >= 1)",12);
+  e_acsl_assert(y >= 1,(char *)"Assertion",(char *)"(y >= 1)",12);
   s = (char *)"toto";
   /*@ assert s ≡ s; */ ;
-  e_acsl_assert(! (s == s),(char *)"Assertion",(char *)"(s == s)",14);
+  e_acsl_assert(s == s,(char *)"Assertion",(char *)"(s == s)",14);
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",15);
   /*@ assert 5 < 18; */ ;
-  e_acsl_assert(! (5 < 18),(char *)"Assertion",(char *)"(5 < 18)",16);
+  e_acsl_assert(5 < 18,(char *)"Assertion",(char *)"(5 < 18)",16);
   /*@ assert 32 > 3; */ ;
-  e_acsl_assert(! (32 > 3),(char *)"Assertion",(char *)"(32 > 3)",17);
+  e_acsl_assert(32 > 3,(char *)"Assertion",(char *)"(32 > 3)",17);
   /*@ assert 12 ≤ 13; */ ;
-  e_acsl_assert(! (12 <= 13),(char *)"Assertion",(char *)"(12 <= 13)",18);
+  e_acsl_assert(12 <= 13,(char *)"Assertion",(char *)"(12 <= 13)",18);
   /*@ assert 123 ≥ 12; */ ;
-  e_acsl_assert(! (123 >= 12),(char *)"Assertion",(char *)"(123 >= 12)",19);
+  e_acsl_assert(123 >= 12,(char *)"Assertion",(char *)"(123 >= 12)",19);
   /*@ assert 0xff ≡ 0xff; */ ;
-  e_acsl_assert(! (0xff == 0xff),(char *)"Assertion",
-                (char *)"(0xff == 0xff)",20);
+  e_acsl_assert(0xff == 0xff,(char *)"Assertion",(char *)"(0xff == 0xff)",20);
   /*@ assert 1 ≢ 2; */ ;
-  e_acsl_assert(! (1 != 2),(char *)"Assertion",(char *)"(1 != 2)",21);
+  e_acsl_assert(1 != 2,(char *)"Assertion",(char *)"(1 != 2)",21);
   /*@ assert -5 < 18; */ ;
-  e_acsl_assert(! (-5 < 18),(char *)"Assertion",(char *)"(-5 < 18)",23);
+  e_acsl_assert(-5 < 18,(char *)"Assertion",(char *)"(-5 < 18)",23);
   /*@ assert 32 > -3; */ ;
-  e_acsl_assert(! (32 > -3),(char *)"Assertion",(char *)"(32 > -3)",24);
+  e_acsl_assert(32 > -3,(char *)"Assertion",(char *)"(32 > -3)",24);
   /*@ assert -12 ≤ 13; */ ;
-  e_acsl_assert(! (-12 <= 13),(char *)"Assertion",(char *)"(-12 <= 13)",25);
+  e_acsl_assert(-12 <= 13,(char *)"Assertion",(char *)"(-12 <= 13)",25);
   /*@ assert 123 ≥ -12; */ ;
-  e_acsl_assert(! (123 >= -12),(char *)"Assertion",(char *)"(123 >= -12)",26);
+  e_acsl_assert(123 >= -12,(char *)"Assertion",(char *)"(123 >= -12)",26);
   /*@ assert -0xff ≡ -0xff; */ ;
-  e_acsl_assert(! (-0xff == -0xff),(char *)"Assertion",
+  e_acsl_assert(-0xff == -0xff,(char *)"Assertion",
                 (char *)"(-0xff == -0xff)",27);
   /*@ assert 1 ≢ -2; */ ;
-  e_acsl_assert(! (1 != -2),(char *)"Assertion",(char *)"(1 != -2)",28);
+  e_acsl_assert(1 != -2,(char *)"Assertion",(char *)"(1 != -2)",28);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
index e7ce093a493313d8bb9b9c54b65f9cff43ef9e9d..c788f41e1b4260ad7c865033b1d7cc97de6e0194 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
@@ -32,9 +32,10 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -59,8 +60,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 < 0),(char *)"Assertion",
-                  (char *)"(x < y)",9);
+    e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -74,8 +74,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 > 0),(char *)"Assertion",
-                  (char *)"(y > x)",10);
+    e_acsl_assert(__e_acsl_var_6 > 0,(char *)"Assertion",(char *)"(y > x)",
+                  10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
   }
@@ -89,8 +89,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 <= 0),(char *)"Assertion",
-                  (char *)"(x <= 0)",11);
+    e_acsl_assert(__e_acsl_var_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)",
+                  11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
   }
@@ -104,7 +104,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12 >= 0,(char *)"Assertion",
                   (char *)"(y >= 1)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -112,9 +112,9 @@ int main(void)
   
   s = (char *)"toto";
   /*@ assert s ≡ s; */ ;
-  e_acsl_assert(! (s == s),(char *)"Assertion",(char *)"(s == s)",14);
+  e_acsl_assert(s == s,(char *)"Assertion",(char *)"(s == s)",14);
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",15);
   /*@ assert 5 < 18; */ ;
   {
@@ -125,8 +125,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)18);
     __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                  (__mpz_struct const *)(__e_acsl_var_14));
-    e_acsl_assert(! (__e_acsl_var_15 < 0),(char *)"Assertion",
-                  (char *)"(5 < 18)",16);
+    e_acsl_assert(__e_acsl_var_15 < 0,(char *)"Assertion",(char *)"(5 < 18)",
+                  16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
   }
@@ -140,8 +140,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)3);
     __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16),
                                  (__mpz_struct const *)(__e_acsl_var_17));
-    e_acsl_assert(! (__e_acsl_var_18 > 0),(char *)"Assertion",
-                  (char *)"(32 > 3)",17);
+    e_acsl_assert(__e_acsl_var_18 > 0,(char *)"Assertion",(char *)"(32 > 3)",
+                  17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_17));
   }
@@ -155,7 +155,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)13);
     __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19),
                                  (__mpz_struct const *)(__e_acsl_var_20));
-    e_acsl_assert(! (__e_acsl_var_21 <= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_21 <= 0,(char *)"Assertion",
                   (char *)"(12 <= 13)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_20));
@@ -170,7 +170,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)12);
     __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22),
                                  (__mpz_struct const *)(__e_acsl_var_23));
-    e_acsl_assert(! (__e_acsl_var_24 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_24 >= 0,(char *)"Assertion",
                   (char *)"(123 >= 12)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_23));
@@ -183,7 +183,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)0xff);
     __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25),
                                  (__mpz_struct const *)(__e_acsl_var_25));
-    e_acsl_assert(! (__e_acsl_var_26 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Assertion",
                   (char *)"(0xff == 0xff)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
   }
@@ -197,7 +197,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)2);
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 != 0,(char *)"Assertion",
                   (char *)"(1 != 2)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_27));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_28));
@@ -216,7 +216,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)18);
     __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31),
                                  (__mpz_struct const *)(__e_acsl_var_32));
-    e_acsl_assert(! (__e_acsl_var_33 < 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_33 < 0,(char *)"Assertion",
                   (char *)"(-5 < 18)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -236,7 +236,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 > 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 > 0,(char *)"Assertion",
                   (char *)"(32 > -3)",24);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_34));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
@@ -256,7 +256,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)13);
     __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39),
                                  (__mpz_struct const *)(__e_acsl_var_40));
-    e_acsl_assert(! (__e_acsl_var_41 <= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41 <= 0,(char *)"Assertion",
                   (char *)"(-12 <= 13)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -276,7 +276,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_43));
     __e_acsl_var_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42),
                                  (__mpz_struct const *)(__e_acsl_var_44));
-    e_acsl_assert(! (__e_acsl_var_45 >= 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_45 >= 0,(char *)"Assertion",
                   (char *)"(123 >= -12)",26);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_42));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_43));
@@ -294,7 +294,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_46));
     __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47),
                                  (__mpz_struct const *)(__e_acsl_var_47));
-    e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion",
                   (char *)"(-0xff == -0xff)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_46));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_47));
@@ -313,7 +313,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_50));
     __e_acsl_var_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_49),
                                  (__mpz_struct const *)(__e_acsl_var_51));
-    e_acsl_assert(! (__e_acsl_var_52 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_52 != 0,(char *)"Assertion",
                   (char *)"(1 != -2)",28);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_49));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_50));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
index cca4f5b4275d22ce12db903cbe1ff5686c3f91e0..e0ed9f6404987d5108a3607de0a22ef2007d2b14 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -22,7 +23,7 @@ int main(void)
   x = 0;
   if (x) {
     /*@ assert \false; */ ;
-    e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",8);
+    e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",8);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c
index cca4f5b4275d22ce12db903cbe1ff5686c3f91e0..e0ed9f6404987d5108a3607de0a22ef2007d2b14 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -22,7 +23,7 @@ int main(void)
   x = 0;
   if (x) {
     /*@ assert \false; */ ;
-    e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",8);
+    e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",8);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
index 7f974013e571dc6b14a7110d1db787ef653d2340..cf98dc4d91082b705ff3df0ee251ce2e41c9d77a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,7 +22,7 @@ int Y = 2;
 void f(void)
 {
   X = 1;
-  e_acsl_assert(! (X == 1),(char *)"Postcondition",(char *)"(X == 1)",10);
+  e_acsl_assert(X == 1,(char *)"Postcondition",(char *)"(X == 1)",10);
   return;
 }
 
@@ -30,15 +31,15 @@ void f(void)
 void g(void)
 {
   X = 2;
-  e_acsl_assert(! (X == 2),(char *)"Postcondition",(char *)"(X == 2)",14);
-  e_acsl_assert(! (Y == 2),(char *)"Postcondition",(char *)"(Y == 2)",15);
+  e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"(X == 2)",14);
+  e_acsl_assert(Y == 2,(char *)"Postcondition",(char *)"(Y == 2)",15);
   return;
 }
 
 /*@ requires X ≡ 2;  */
 void h(void)
 {
-  e_acsl_assert(! (X == 2),(char *)"Precondition",(char *)"(X == 2)",19);
+  e_acsl_assert(X == 2,(char *)"Precondition",(char *)"(X == 2)",19);
   X ++;
   return;
 }
@@ -47,8 +48,8 @@ void h(void)
     requires Y ≡ 2;  */
 void i(void)
 {
-  e_acsl_assert(! (X == 3),(char *)"Precondition",(char *)"(X == 3)",23);
-  e_acsl_assert(! (Y == 2),(char *)"Precondition",(char *)"(Y == 2)",24);
+  e_acsl_assert(X == 3,(char *)"Precondition",(char *)"(X == 3)",23);
+  e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"(Y == 2)",24);
   X += Y;
   return;
 }
@@ -66,13 +67,13 @@ void i(void)
 */
 void j(void)
 {
-  e_acsl_assert(! (X == 5),(char *)"Precondition",(char *)"(X == 5)",29);
-  e_acsl_assert(! ((long long)X == (long long)3 + (long long)Y),
+  e_acsl_assert(X == 5,(char *)"Precondition",(char *)"(X == 5)",29);
+  e_acsl_assert((long long)X == (long long)3 + (long long)Y,
                 (char *)"Precondition",(char *)"(X == 3+Y)",32);
-  e_acsl_assert(! (Y == 2),(char *)"Precondition",(char *)"(Y == 2)",33);
+  e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"(Y == 2)",33);
   X = 3;
-  e_acsl_assert(! (X == 3),(char *)"Postcondition",(char *)"(X == 3)",30);
-  e_acsl_assert(! ((long long)X == (long long)Y + (long long)1),
+  e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"(X == 3)",30);
+  e_acsl_assert((long long)X == (long long)Y + (long long)1,
                 (char *)"Postcondition",(char *)"(X == Y+1)",34);
   return;
 }
@@ -99,19 +100,19 @@ void k(void)
     int __e_acsl_var_5;
     if (! (X == 1)) { __e_acsl_var = 1; }
     else { __e_acsl_var = X == 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(X == 1 ==> X == 0)",40);
     if (X == 3) { __e_acsl_var_2 = Y == 2; }
     else { __e_acsl_var_2 = 0; }
     if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; }
     else { __e_acsl_var_3 = X == 3; }
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X == 3)",44);
     if (X == 3) { __e_acsl_var_4 = Y == 2; }
     else { __e_acsl_var_4 = 0; }
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = (long long)X + (long long)Y == (long long)5; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Precondition",
                   (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45);
     X += Y;
   }
@@ -123,8 +124,8 @@ void k(void)
 int l(void)
 {
   /*@ assert Y ≡ 2; */ ;
-  e_acsl_assert(! (Y == 2),(char *)"Assertion",(char *)"(Y == 2)",51);
-  e_acsl_assert(! (X == 5),(char *)"Postcondition",(char *)"(X == 5)",49);
+  e_acsl_assert(Y == 2,(char *)"Assertion",(char *)"(Y == 2)",51);
+  e_acsl_assert(X == 5,(char *)"Postcondition",(char *)"(X == 5)",49);
   return (X);
 }
 
@@ -167,17 +168,17 @@ void m(void)
     int __e_acsl_var_9;
     if (! __e_acsl_var) { __e_acsl_var_2 = 1; }
     else { __e_acsl_var_2 = X == 95; }
-    e_acsl_assert(! __e_acsl_var_2,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_2,(char *)"Postcondition",
                   (char *)"(\\old(X == 7) ==> X == 95)",58);
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = X == 7; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62);
     if (! __e_acsl_var_7) { __e_acsl_var_9 = 1; }
     else {
       __e_acsl_var_9 = (long long)X == (long long)__e_acsl_var_8 + (long long)Y;
     }
-    e_acsl_assert(! __e_acsl_var_9,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_9,(char *)"Postcondition",
                   (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63);
     return;
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
index f4989f5d944c13a2e3c497a6926c5d4dcff3761a..3268ebf06c12cad1ac7eb19e5517c467a1355bc8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -20,12 +21,12 @@ int main(void)
   int __retres;
   int x;
   /*@ assert 0 ≡ 0; */ ;
-  e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",9);
+  e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",9);
   x = 0;
   /*@ assert 0 ≢ 1; */ ;
-  e_acsl_assert(! (0 != 1),(char *)"Assertion",(char *)"(0 != 1)",10);
+  e_acsl_assert(0 != 1,(char *)"Assertion",(char *)"(0 != 1)",10);
   /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ;
-  e_acsl_assert(! ((unsigned long long)1152921504606846975 == (unsigned long long)0xfffffffffffffff),
+  e_acsl_assert((unsigned long long)1152921504606846975 == (unsigned long long)0xfffffffffffffff,
                 (char *)"Assertion",
                 (char *)"(1152921504606846975 == 0xfffffffffffffff)",11);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
index d5b9f1cc95e8fc8099f675259c73e8e643bb194c..adb8995b482ff01e25c9927e40c47c488ae0e8fc 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
@@ -28,9 +28,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -49,8 +50,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0);
     __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var));
-    e_acsl_assert(! (__e_acsl_var_2 == 0),(char *)"Assertion",
-                  (char *)"(0 == 0)",9);
+    e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",(char *)"(0 == 0)",
+                  9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
   }
   
@@ -64,8 +65,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3),
                                 (__mpz_struct const *)(__e_acsl_var_4));
-    e_acsl_assert(! (__e_acsl_var_5 != 0),(char *)"Assertion",
-                  (char *)"(0 != 1)",10);
+    e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",(char *)"(0 != 1)",
+                  10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
   }
@@ -78,7 +79,7 @@ int main(void)
                         "1152921504606846975",10);
     __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6),
                                 (__mpz_struct const *)(__e_acsl_var_6));
-    e_acsl_assert(! (__e_acsl_var_7 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion",
                   (char *)"(1152921504606846975 == 0xfffffffffffffff)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
index 60bdc576fc4b1d6f566ccfa036c337760144bcef..dbc15a14e1d1fcf3b9d6a0d47a50f122c96553df 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -29,13 +30,13 @@ int main(void)
       { int __e_acsl_var;
         if (0 <= i) { __e_acsl_var = i < 10; }
         else { __e_acsl_var = 0; }
-        e_acsl_assert(! __e_acsl_var,(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var,(char *)"Invariant",
                       (char *)"(0 <= i && i < 10)",9);
       }
       
       x += i;
       /*@ invariant i ≤ x; */ ;
-      e_acsl_assert(! (i <= x),(char *)"Invariant",(char *)"(i <= x)",11);
+      e_acsl_assert(i <= x,(char *)"Invariant",(char *)"(i <= x)",11);
       i ++;
     }
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
index 2d61fdda41e8d08a9149fc0d34b2ba23f3618621..77eddffa2f825a1bc18c8336f7e1f4f1a5b8d23d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -67,7 +68,7 @@ int main(void)
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
         }
         else { __e_acsl_var_7 = 0; }
-        e_acsl_assert(! __e_acsl_var_7,(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var_7,(char *)"Invariant",
                       (char *)"(0 <= i && i < 10)",9);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -83,7 +84,7 @@ int main(void)
         __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)x);
         __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8),
                                      (__mpz_struct const *)(__e_acsl_var_9));
-        e_acsl_assert(! (__e_acsl_var_10 <= 0),(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var_10 <= 0,(char *)"Invariant",
                       (char *)"(i <= x)",11);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
index 2060c89b30e58cb5f8ea446d8de3d6a11e2ed3e6..8cfc0944f5e228b07434fcd66bf5eba06c5880e8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,16 +24,16 @@ int main(void)
   goto L1;
   L1: 
   /*@ assert X ≡ 0; */ ;
-  e_acsl_assert(! (X == 0),(char *)"Assertion",(char *)"(X == 0)",12);
+  e_acsl_assert(X == 0,(char *)"Assertion",(char *)"(X == 0)",12);
   X = 1;
   goto L2;
   L2: 
   /*@ requires X ≡ 1;
       ensures X ≡ 2; */
   {
-    e_acsl_assert(! (X == 1),(char *)"Precondition",(char *)"(X == 1)",14);
+    e_acsl_assert(X == 1,(char *)"Precondition",(char *)"(X == 1)",14);
     X = 2;
-    e_acsl_assert(! (X == 2),(char *)"Postcondition",(char *)"(X == 2)",14);
+    e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"(X == 2)",14);
   }
   
   if (X) {
@@ -40,7 +41,7 @@ int main(void)
     __retres = 0;
     goto return_label; }
   __retres = 0;
-  return_label: e_acsl_assert(! (X == 3),(char *)"Postcondition",
+  return_label: e_acsl_assert(X == 3,(char *)"Postcondition",
                               (char *)"(X == 3)",9);
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
index a38e9802b6117ab8f6307d2c53302d3335ee2fa0..378b9606564765ac0ef2954ccb43293731cb1f8b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -50,8 +51,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(X == 0)",12);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(X == 0)",
+                  12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -73,7 +74,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition",
                     (char *)"(X == 1)",14);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -84,7 +85,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Postcondition",
                   (char *)"(X == 2)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -104,7 +105,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition",
                   (char *)"(X == 3)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
index bbbfe5cfe74126c67e7bbd24e6af06ee7842f1dd..b158d0b9402bc93d76a5c68d13638d6fabeed566 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -26,7 +27,7 @@ int main(void)
   { int __e_acsl_var;
     if (x == 0) { __e_acsl_var = y == 1; }
     else { __e_acsl_var = 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var,(char *)"Assertion",
                   (char *)"(x == 0 && y == 1)",11);
   }
   
@@ -36,12 +37,12 @@ int main(void)
     if (x != 0) {
       int __e_acsl_var_2;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",12);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",12);
       __e_acsl_var_2 = 1 / 0;
       __e_acsl_var_3 = y == __e_acsl_var_2;
     }
     else { __e_acsl_var_3 = 0; }
-    e_acsl_assert(! (! __e_acsl_var_3),(char *)"Assertion",
+    e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion",
                   (char *)"(!(x != 0 && y == 1/0))",12);
   }
   
@@ -49,7 +50,7 @@ int main(void)
   { int __e_acsl_var_4;
     if (y == 1) { __e_acsl_var_4 = 1; }
     else { __e_acsl_var_4 = x == 1; }
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Assertion",
                   (char *)"(y == 1 || x == 1)",13);
   }
   
@@ -60,11 +61,11 @@ int main(void)
     else {
       int __e_acsl_var_5;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",14);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",14);
       __e_acsl_var_5 = 1 / 0;
       __e_acsl_var_6 = y == __e_acsl_var_5;
     }
-    e_acsl_assert(! __e_acsl_var_6,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6,(char *)"Assertion",
                   (char *)"(x == 0 || y == 1/0)",14);
   }
   
@@ -72,7 +73,7 @@ int main(void)
   { int __e_acsl_var_7;
     if (! (x == 0)) { __e_acsl_var_7 = 1; }
     else { __e_acsl_var_7 = y == 1; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(x == 0 ==> y == 1)",15);
   }
   
@@ -83,11 +84,11 @@ int main(void)
     else {
       int __e_acsl_var_8;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",16);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",16);
       __e_acsl_var_8 = 1 / 0;
       __e_acsl_var_9 = y == __e_acsl_var_8;
     }
-    e_acsl_assert(! __e_acsl_var_9,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9,(char *)"Assertion",
                   (char *)"(x == 1 ==> y == 1/0)",16);
   }
   
@@ -95,7 +96,7 @@ int main(void)
   { int __e_acsl_var_10;
     if (x != 0) { __e_acsl_var_10 = x != 0; }
     else { __e_acsl_var_10 = y != 0; }
-    e_acsl_assert(! __e_acsl_var_10,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_10,(char *)"Assertion",
                   (char *)"(x!=0? x != 0: y != 0)",17);
   }
   
@@ -103,7 +104,7 @@ int main(void)
   { int __e_acsl_var_11;
     if (y != 0) { __e_acsl_var_11 = y != 0; }
     else { __e_acsl_var_11 = x != 0; }
-    e_acsl_assert(! __e_acsl_var_11,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11,(char *)"Assertion",
                   (char *)"(y!=0? y != 0: x != 0)",18);
   }
   
@@ -111,7 +112,7 @@ int main(void)
   { int __e_acsl_var_12;
     if (x == 1) { __e_acsl_var_12 = x == 18; }
     else { __e_acsl_var_12 = x == 0; }
-    e_acsl_assert(! __e_acsl_var_12,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12,(char *)"Assertion",
                   (char *)"(x==1? x == 18: x == 0)",19);
   }
   
@@ -128,7 +129,7 @@ int main(void)
       __e_acsl_var_15 = __e_acsl_var_14;
     }
     else { __e_acsl_var_15 = 0; }
-    e_acsl_assert(! __e_acsl_var_15,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_15,(char *)"Assertion",
                   (char *)"(x == 2 <==> y == 3)",22);
   }
   
@@ -145,7 +146,7 @@ int main(void)
       __e_acsl_var_18 = __e_acsl_var_17;
     }
     else { __e_acsl_var_18 = 0; }
-    e_acsl_assert(! __e_acsl_var_18,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_18,(char *)"Assertion",
                   (char *)"(x == 0 <==> y == 1)",23);
   }
   
@@ -153,7 +154,7 @@ int main(void)
   { int __e_acsl_var_19;
     if (x != 0) { __e_acsl_var_19 = x; }
     else { __e_acsl_var_19 = y; }
-    e_acsl_assert(! ((__e_acsl_var_19 != 0) == (x == 0)),(char *)"Assertion",
+    e_acsl_assert((__e_acsl_var_19 != 0) == (x == 0),(char *)"Assertion",
                   (char *)"(((x!=0? x: y)!=0) == (x==0))",26);
   }
   
@@ -165,7 +166,7 @@ int main(void)
     else { __e_acsl_var_20 = 0; }
     if (__e_acsl_var_20) { __e_acsl_var_21 = 1; }
     else { __e_acsl_var_21 = y != 0; }
-    e_acsl_assert(! __e_acsl_var_21,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_21,(char *)"Assertion",
                   (char *)"((x != 0 && y != 0) || y != 0)",27);
   }
   
@@ -177,7 +178,7 @@ int main(void)
     else { __e_acsl_var_22 = y != 0; }
     if (__e_acsl_var_22) { __e_acsl_var_23 = y == 1; }
     else { __e_acsl_var_23 = 0; }
-    e_acsl_assert(! __e_acsl_var_23,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23,(char *)"Assertion",
                   (char *)"((x != 0 || y != 0) && y == 1)",28);
   }
   
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
index 6907be62c4f0c794a1bb1cfaf787f82c936883d0..e51203f847deb102e20094a2478c7d5e9a2c6fb1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
@@ -35,9 +35,10 @@ extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -75,7 +76,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     }
     else { __e_acsl_var_7 = 0; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(x == 0 && y == 1)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -105,7 +106,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_13));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_15));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_14 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_14 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",12);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_15),
                     (__mpz_struct const *)(__e_acsl_var_12),
@@ -119,7 +120,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_15));
     }
     else { __e_acsl_var_17 = 0; }
-    e_acsl_assert(! (! __e_acsl_var_17),(char *)"Assertion",
+    e_acsl_assert(! __e_acsl_var_17,(char *)"Assertion",
                   (char *)"(!(x != 0 && y == 1/0))",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
@@ -148,7 +149,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_21));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
     }
-    e_acsl_assert(! __e_acsl_var_24,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_24,(char *)"Assertion",
                   (char *)"(y == 1 || x == 1)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -179,7 +180,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_30));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_32));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_31 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_31 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",14);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_32),
                     (__mpz_struct const *)(__e_acsl_var_29),
@@ -192,7 +193,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_32));
     }
-    e_acsl_assert(! __e_acsl_var_34,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_34,(char *)"Assertion",
                   (char *)"(x == 0 || y == 1/0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
@@ -221,7 +222,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
     }
-    e_acsl_assert(! __e_acsl_var_41,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41,(char *)"Assertion",
                   (char *)"(x == 0 ==> y == 1)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_36));
@@ -252,7 +253,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_47));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_49));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",16);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_49),
                     (__mpz_struct const *)(__e_acsl_var_46),
@@ -265,7 +266,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_47));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_49));
     }
-    e_acsl_assert(! __e_acsl_var_51,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51,(char *)"Assertion",
                   (char *)"(x == 1 ==> y == 1/0)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_42));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_43));
@@ -305,7 +306,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_58));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_59));
     }
-    e_acsl_assert(! __e_acsl_var_61,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61,(char *)"Assertion",
                   (char *)"(x!=0? x != 0: y != 0)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -345,7 +346,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_68));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_69));
     }
-    e_acsl_assert(! __e_acsl_var_71,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_71,(char *)"Assertion",
                   (char *)"(y!=0? y != 0: x != 0)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -385,7 +386,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_78));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_79));
     }
-    e_acsl_assert(! __e_acsl_var_81,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_81,(char *)"Assertion",
                   (char *)"(x==1? x == 18: x == 0)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_72));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_73));
@@ -442,7 +443,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_90));
     }
     else { __e_acsl_var_96 = 0; }
-    e_acsl_assert(! __e_acsl_var_96,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_96,(char *)"Assertion",
                   (char *)"(x == 2 <==> y == 3)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_82));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_83));
@@ -499,7 +500,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_105));
     }
     else { __e_acsl_var_111 = 0; }
-    e_acsl_assert(! __e_acsl_var_111,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_111,(char *)"Assertion",
                   (char *)"(x == 0 <==> y == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_97));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_98));
@@ -543,7 +544,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_119));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_120));
     }
-    e_acsl_assert(! __e_acsl_var_122,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_122,(char *)"Assertion",
                   (char *)"((x != 0 && y != 0) || y != 0)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_112));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_113));
@@ -586,7 +587,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_131));
     }
     else { __e_acsl_var_133 = 0; }
-    e_acsl_assert(! __e_acsl_var_133,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_133,(char *)"Assertion",
                   (char *)"((x != 0 || y != 0) && y == 1)",28);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_123));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_124));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
index da18a1cf9dcecf34c4bde29715235bfd5d1872c1..41e913947d6be0a204cb4bdaa32db6b06f49d130 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -47,7 +48,7 @@ int search(int elt)
       __e_acsl_i ++;
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(\\forall int i; 0 <= i && i < 9 ==> A[i] <= A[i+1])",
                   9);
     {
@@ -105,12 +106,12 @@ int search(int elt)
     int __e_acsl_var_7;
     if (! __e_acsl_var_3) { __e_acsl_var_4 = 1; }
     else { __e_acsl_var_4 = __retres == 1; }
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Postcondition",
                   (char *)"(\\old(\\exists int j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)",
                   12);
     if (! __e_acsl_var_6) { __e_acsl_var_7 = 1; }
     else { __e_acsl_var_7 = __retres == 0; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Postcondition",
                   (char *)"(\\old(\\forall int j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)",
                   15);
     return (__retres);
@@ -131,10 +132,10 @@ int main(void)
   
   found = search(36);
   /*@ assert found ≡ 1; */ ;
-  e_acsl_assert(! (found == 1),(char *)"Assertion",(char *)"(found == 1)",31);
+  e_acsl_assert(found == 1,(char *)"Assertion",(char *)"(found == 1)",31);
   found = search(5);
   /*@ assert found ≡ 0; */ ;
-  e_acsl_assert(! (found == 0),(char *)"Assertion",(char *)"(found == 0)",34);
+  e_acsl_assert(found == 0,(char *)"Assertion",(char *)"(found == 0)",34);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
index 3999f5c0923e6796674c415e99899a72f02e7409..bc68c1e9cb5de46a76f5b61ea74eb79c4e7850d1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,44 +24,40 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */ ;
-  e_acsl_assert(! (x < y),(char *)"Assertion",(char *)"(x < y)",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"(x < y)",9);
   /*@ requires x ≡ 0;
       ensures x ≥ 1; */
   {
-    e_acsl_assert(! (x == 0),(char *)"Precondition",(char *)"(x == 0)",10);
+    e_acsl_assert(x == 0,(char *)"Precondition",(char *)"(x == 0)",10);
     if (x) {
       /*@ assert \false; */ ;
-      e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",13);
+      e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13);
     }
     else {
       /*@ requires x ≡ 0;
           ensures x ≡ 1; */
       {
-        e_acsl_assert(! (x == 0),(char *)"Precondition",(char *)"(x == 0)",
-                      15);
+        e_acsl_assert(x == 0,(char *)"Precondition",(char *)"(x == 0)",15);
         x ++;
-        e_acsl_assert(! (x == 1),(char *)"Postcondition",(char *)"(x == 1)",
-                      16);
+        e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"(x == 1)",16);
       }
       
       if (x) {
         /*@ requires x ≡ 1;
             ensures x ≡ 2; */
         {
-          e_acsl_assert(! (x == 1),(char *)"Precondition",(char *)"(x == 1)",
-                        19);
+          e_acsl_assert(x == 1,(char *)"Precondition",(char *)"(x == 1)",19);
           x ++;
-          e_acsl_assert(! (x == 2),(char *)"Postcondition",
-                        (char *)"(x == 2)",20);
+          e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"(x == 2)",20);
         }
         
       }
       else {
         /*@ assert \false; */ ;
-        e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",23);
+        e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",23);
       }
     }
-    e_acsl_assert(! (x >= 1),(char *)"Postcondition",(char *)"(x >= 1)",11);
+    e_acsl_assert(x >= 1,(char *)"Postcondition",(char *)"(x >= 1)",11);
   }
   
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
index 44a0236904d877d7c42b13c8043fc3f42a3e98c9..04d1217dc1de81697904357c6e9b72395fe455dd 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -50,8 +51,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 < 0),(char *)"Assertion",
-                  (char *)"(x < y)",9);
+    e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -70,13 +70,13 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition",
                     (char *)"(x == 0)",10);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
       if (x) {
         /*@ assert \false; */ ;
-        e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",13);
+        e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13);
       }
       else {
         /*@ requires x ≡ 0;
@@ -93,7 +93,7 @@ int main(void)
             __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
             __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                         (__mpz_struct const *)(__e_acsl_var_8));
-            e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Precondition",
+            e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition",
                           (char *)"(x == 0)",15);
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -104,7 +104,7 @@ int main(void)
           __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1);
           __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                        (__mpz_struct const *)(__e_acsl_var_11));
-          e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Postcondition",
+          e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition",
                         (char *)"(x == 1)",16);
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -125,7 +125,7 @@ int main(void)
               __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1);
               __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                            (__mpz_struct const *)(__e_acsl_var_14));
-              e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Precondition",
+              e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Precondition",
                             (char *)"(x == 1)",19);
               __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
               __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
@@ -136,7 +136,7 @@ int main(void)
             __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)2);
             __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16),
                                          (__mpz_struct const *)(__e_acsl_var_17));
-            e_acsl_assert(! (__e_acsl_var_18 == 0),(char *)"Postcondition",
+            e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Postcondition",
                           (char *)"(x == 2)",20);
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_17));
@@ -145,7 +145,7 @@ int main(void)
         }
         else {
           /*@ assert \false; */ ;
-          e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",23);
+          e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",23);
         }
       }
     }
@@ -154,7 +154,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)1);
     __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19),
                                  (__mpz_struct const *)(__e_acsl_var_20));
-    e_acsl_assert(! (__e_acsl_var_21 >= 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_21 >= 0,(char *)"Postcondition",
                   (char *)"(x >= 1)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_20));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c
index a0259ccfb24113761e439b65d31a095a1cbc438a..3d0bd39a388494496abcf795cfd6d5984174324a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,10 +22,10 @@ int main(void)
   int x;
   x = 0;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! (x == 0),(char *)"Assertion",(char *)"(x == 0)",8);
+  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",8);
   if (x) {
     /*@ assert x ≢ 0; */ ;
-    e_acsl_assert(! (x != 0),(char *)"Assertion",(char *)"(x != 0)",9);
+    e_acsl_assert(x != 0,(char *)"Assertion",(char *)"(x != 0)",9);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
index 02c1e7398d7046fe1a51df058669e031c66eff12..c995015bc06a8983c6b6e32478f9e4c4b6a91235 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -48,8 +49,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(x == 0)",8);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)",
+                  8);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -64,7 +65,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 != 0),(char *)"Assertion",
+      e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion",
                     (char *)"(x != 0)",9);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
index 18d9040f32c6f98c63c8f5e6a6b208057aab5db2..490d636953664638a5b5ecfa6b52d47a7124c706 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -19,7 +20,7 @@ int main(void)
 {
   int __retres;
   /*@ assert \null ≡ (void *)0; */ ;
-  e_acsl_assert(! ((void *)0 == (void *)0),(char *)"Assertion",
+  e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",
                 (char *)"(\\null == (void *)0)",8);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c
index 18d9040f32c6f98c63c8f5e6a6b208057aab5db2..490d636953664638a5b5ecfa6b52d47a7124c706 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -19,7 +20,7 @@ int main(void)
 {
   int __retres;
   /*@ assert \null ≡ (void *)0; */ ;
-  e_acsl_assert(! ((void *)0 == (void *)0),(char *)"Assertion",
+  e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",
                 (char *)"(\\null == (void *)0)",8);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
index a1c123d5f21c0bcb9fbcb9563391696296cd38c7..0f54974d2ae1be31beebdd3e1496ad90c02654f9 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
@@ -9,9 +9,10 @@ enum bool {
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,14 +24,13 @@ int main(void)
 {
   int __retres;
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",10);
   /*@ assert 'c' ≡ 'c'; */ ;
-  e_acsl_assert(! ('c' == 'c'),(char *)"Assertion",
-                (char *)"(\'c\' == \'c\')",11);
+  e_acsl_assert('c' == 'c',(char *)"Assertion",(char *)"(\'c\' == \'c\')",11);
   /*@ assert false ≢ true; */ ;
-  e_acsl_assert(! (false != true),(char *)"Assertion",
-                (char *)"(false != true)",12);
+  e_acsl_assert(false != true,(char *)"Assertion",(char *)"(false != true)",
+                12);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
index 09541e160936fe15716c46988299e240b811e92b..49037d898eae52e193e8d841b08ae403e6ac0c98 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
@@ -28,9 +28,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -42,7 +43,7 @@ int main(void)
 {
   int __retres;
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",10);
   /*@ assert 'c' ≡ 'c'; */ ;
   {
@@ -51,7 +52,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)'c');
     __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var));
-    e_acsl_assert(! (__e_acsl_var_2 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",
                   (char *)"(\'c\' == \'c\')",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
   }
@@ -65,7 +66,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)true);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3),
                                 (__mpz_struct const *)(__e_acsl_var_4));
-    e_acsl_assert(! (__e_acsl_var_5 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",
                   (char *)"(false != true)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
index 1473c578fbbf445a383092164c64abc855d908e0..dba9793c88e90ffa66a4a216b3bfc8ead5a1c87c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -27,19 +28,19 @@ int main(void)
   t[2] = 4;
   p = & x;
   /*@ assert *p ≡ 1; */ ;
-  e_acsl_assert(! (*p == 1),(char *)"Assertion",(char *)"(*p == 1)",13);
+  e_acsl_assert(*p == 1,(char *)"Assertion",(char *)"(*p == 1)",13);
   /*@ assert t[0] ≡ 2; */ ;
-  e_acsl_assert(! (t[0] == 2),(char *)"Assertion",(char *)"(t[0] == 2)",14);
+  e_acsl_assert(t[0] == 2,(char *)"Assertion",(char *)"(t[0] == 2)",14);
   /*@ assert t[2] ≡ 4; */ ;
-  e_acsl_assert(! (t[2] == 4),(char *)"Assertion",(char *)"(t[2] == 4)",15);
+  e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"(t[2] == 4)",15);
   /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ;
   {
     int __e_acsl_var;
     /*@ assert sizeof((int)0x0) ≢ 0; */ ;
-    e_acsl_assert(4 == 0,(char *)"Assertion",
+    e_acsl_assert(! (4 == 0),(char *)"Assertion",
                   (char *)"(sizeof((int)0x0) == 0)",16);
     __e_acsl_var = (2 * 4) / 4;
-    e_acsl_assert(! (t[__e_acsl_var] == 4),(char *)"Assertion",
+    e_acsl_assert(t[__e_acsl_var] == 4,(char *)"Assertion",
                   (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16);
   }
   
@@ -49,13 +50,13 @@ int main(void)
     while (1) {
       if (! (i < 2)) { break; }
       /*@ assert t[i] ≡ i+2; */ ;
-      e_acsl_assert(! ((long long)t[i] == (long long)i + (long long)2),
+      e_acsl_assert((long long)t[i] == (long long)i + (long long)2,
                     (char *)"Assertion",(char *)"(t[i] == i+2)",19);
       /*@ assert t[2-i] ≡ 4-i; */ ;
-      e_acsl_assert(! ((long long)t[(long long)2 - (long long)i] == (long long)4 - (long long)i),
+      e_acsl_assert((long long)t[(long long)2 - (long long)i] == (long long)4 - (long long)i,
                     (char *)"Assertion",(char *)"(t[2-i] == 4-i)",20);
       /*@ assert *(&t[2]-i) ≡ 4-i; */ ;
-      e_acsl_assert(! ((long long)*(& t[2] - i) == (long long)4 - (long long)i),
+      e_acsl_assert((long long)*(& t[2] - i) == (long long)4 - (long long)i,
                     (char *)"Assertion",(char *)"(*(&t[2]-i) == 4-i)",21);
       i ++;
     }
@@ -64,7 +65,7 @@ int main(void)
   p = & t[2];
   t[2] = 5;
   /*@ assert *p ≡ 5; */ ;
-  e_acsl_assert(! (*p == 5),(char *)"Assertion",(char *)"(*p == 5)",27);
+  e_acsl_assert(*p == 5,(char *)"Assertion",(char *)"(*p == 5)",27);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
index 47af5506d5bf3fbbb07ed2c963b4ad02544b8c81..82beea1b50945c412b7a4132b8e1812398f85bde 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
@@ -62,9 +62,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -92,7 +93,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(*p == 1)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -107,7 +108,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(t[0] == 2)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -122,7 +123,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)4);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion",
                   (char *)"(t[2] == 4)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -153,7 +154,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_14));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_16));
     /*@ assert sizeof((int)0x0) ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Assertion",
                   (char *)"(sizeof((int)0x0) == 0)",16);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_16),
                   (__mpz_struct const *)(__e_acsl_var_12),
@@ -164,7 +165,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)4);
     __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                  (__mpz_struct const *)(__e_acsl_var_19));
-    e_acsl_assert(! (__e_acsl_var_20 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Assertion",
                   (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -197,7 +198,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_23));
         __e_acsl_var_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21),
                                      (__mpz_struct const *)(__e_acsl_var_24));
-        e_acsl_assert(! (__e_acsl_var_25 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_25 == 0,(char *)"Assertion",
                       (char *)"(t[i] == i+2)",19);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_21));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
@@ -231,7 +232,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_27));
         __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30),
                                      (__mpz_struct const *)(__e_acsl_var_32));
-        e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
                       (char *)"(t[2-i] == 4-i)",20);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_27));
@@ -258,7 +259,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_36));
         __e_acsl_var_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                      (__mpz_struct const *)(__e_acsl_var_37));
-        e_acsl_assert(! (__e_acsl_var_38 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_38 == 0,(char *)"Assertion",
                       (char *)"(*(&t[2]-i) == 4-i)",21);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_34));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
@@ -281,7 +282,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)5);
     __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39),
                                  (__mpz_struct const *)(__e_acsl_var_40));
-    e_acsl_assert(! (__e_acsl_var_41 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41 == 0,(char *)"Assertion",
                   (char *)"(*p == 5)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_40));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c
index d3364a12be6ba99eaaa8bc9dd07554486bdcc219..f043afbb8684ea93bfa5c62f924d9263f830ef58 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,7 +38,7 @@ int main(void)
       __e_acsl_x ++;
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x <= 1 ==> x == 0 || x == 1)",
                   11);
   }
@@ -56,7 +57,7 @@ int main(void)
       __e_acsl_x_2 ++;
     }
     e_acsl_end_loop2: ;
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 < x && x <= 1 ==> x == 1)",12);
   }
   
@@ -73,7 +74,7 @@ int main(void)
       __e_acsl_x_3 ++;
     }
     e_acsl_end_loop3: ;
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 < x && x < 1 ==> \\false)",13);
   }
   
@@ -91,7 +92,7 @@ int main(void)
       __e_acsl_x_4 ++;
     }
     e_acsl_end_loop4: ;
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x < 1 ==> x == 0)",14);
   }
   
@@ -125,7 +126,7 @@ int main(void)
       __e_acsl_x_5 ++;
     }
     e_acsl_end_loop5: ;
-    e_acsl_assert(! __e_acsl_var_6,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6,(char *)"Assertion",
                   (char *)"(\\forall int x, int y, int z;\n  ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n  x+z <= y+1)",
                   18);
   }
@@ -145,7 +146,7 @@ int main(void)
       __e_acsl_x_6 ++;
     }
     e_acsl_end_loop6: ;
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(\\exists int x; (0 <= x && x < 10) && x == 5)",
                   23);
   }
@@ -164,7 +165,7 @@ int main(void)
         int __e_acsl_var_9;
         int __e_acsl_var_12;
         /*@ assert 2 ≢ 0; */ ;
-        e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",28);
+        e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",28);
         __e_acsl_var_9 = __e_acsl_x_7 % 2;
         if (! (__e_acsl_var_9 == 0)) { __e_acsl_var_12 = 1; }
         else {
@@ -176,7 +177,8 @@ int main(void)
             {
               int __e_acsl_var_11;
               /*@ assert 2 ≢ 0; */ ;
-              e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",28);
+              e_acsl_assert(! (2 == 0),(char *)"Assertion",
+                            (char *)"(2 == 0)",28);
               __e_acsl_var_11 = __e_acsl_x_7 / 2;
               if (! (__e_acsl_y_2 <= __e_acsl_var_11)) { break; }
             }
@@ -198,7 +200,7 @@ int main(void)
       __e_acsl_x_7 ++;
     }
     e_acsl_end_loop8: ;
-    e_acsl_assert(! __e_acsl_var_8,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x < 10 ==>\n  (x%2 == 0 ==> (\\exists int y; (0 <= y && y <= x/2) && x == 2*y)))",
                   27);
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
index 62a516a177ba29f73c31d685c2eb28ac892a7400..f53003ba290ee6075b71b666dea6677147e495d7 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,7 +24,7 @@ int f(int x)
   __e_acsl_var_2 = x;
   __e_acsl_var = x;
   x = 0;
-  e_acsl_assert(! (x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2)),
+  e_acsl_assert(x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2),
                 (char *)"Postcondition",
                 (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7);
   return (x);
@@ -33,8 +34,7 @@ int Y = 1;
 /*@ ensures \result ≡ Y;  */
 int g(int x)
 {
-  e_acsl_assert(! (x == Y),(char *)"Postcondition",(char *)"(\\result == Y)",
-                18);
+  e_acsl_assert(x == Y,(char *)"Postcondition",(char *)"(\\result == Y)",18);
   return (x);
 }
 
@@ -43,7 +43,7 @@ int h(void)
 {
   int __retres;
   __retres = 0;
-  e_acsl_assert(! (__retres == 0),(char *)"Postcondition",
+  e_acsl_assert(__retres == 0,(char *)"Postcondition",
                 (char *)"(\\result == 0)",23);
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
index 435d1403d56eef3bc25dc5a71a39b1cd3d7d7ab2..859f8feea2c5624419188fd26c25d4af9c1299aa 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,10 +22,10 @@ int main(void)
   int x;
   x = 0;
   /*@ assert sizeof(int) ≡ sizeof(x); */ ;
-  e_acsl_assert(! (4 == 4),(char *)"Assertion",
+  e_acsl_assert(4 == 4,(char *)"Assertion",
                 (char *)"(sizeof(int) == sizeof(x))",9);
   /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ;
-  e_acsl_assert(! (4 == 4),(char *)"Assertion",
+  e_acsl_assert(4 == 4,(char *)"Assertion",
                 (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
index af77e709c2007fdb4248559050b8c08c52897113..409eb1b59d18a7d02291fd27ea3a708636575fba 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
@@ -24,9 +24,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -48,7 +49,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)4);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(sizeof(int) == sizeof(x))",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -63,7 +64,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)4);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
index 6d26534fb7ed05ed9a75cea219307d118bbd8154..d283cc0885594cf2e604b4b1d6b416797e8c7bbf 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -23,26 +24,25 @@ int main(void)
   x = 0;
   y = 2;
   /*@ ensures x ≡ 1; */
-  {
-    x = 1;
-    e_acsl_assert(! (x == 1),(char *)"Postcondition",(char *)"(x == 1)",9);
+  { x = 1;
+    e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"(x == 1)",9);
   }
   
   /*@ ensures x ≡ 2;
       ensures y ≡ 2; */
   {
     x = 2;
-    e_acsl_assert(! (x == 2),(char *)"Postcondition",(char *)"(x == 2)",12);
-    e_acsl_assert(! (y == 2),(char *)"Postcondition",(char *)"(y == 2)",13);
+    e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"(x == 2)",12);
+    e_acsl_assert(y == 2,(char *)"Postcondition",(char *)"(y == 2)",13);
   }
   
   /*@ requires x ≡ 2; */
-  e_acsl_assert(! (x == 2),(char *)"Precondition",(char *)"(x == 2)",16);
+  e_acsl_assert(x == 2,(char *)"Precondition",(char *)"(x == 2)",16);
   x ++;
   /*@ requires x ≡ 3;
       requires y ≡ 2; */
-  e_acsl_assert(! (x == 3),(char *)"Precondition",(char *)"(x == 3)",19);
-  e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",20);
+  e_acsl_assert(x == 3,(char *)"Precondition",(char *)"(x == 3)",19);
+  e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",20);
   x += y;
   /*@ behavior b1:
         requires x ≡ 5;
@@ -55,13 +55,13 @@ int main(void)
         
   */
   {
-    e_acsl_assert(! (x == 5),(char *)"Precondition",(char *)"(x == 5)",24);
-    e_acsl_assert(! ((long long)x == (long long)3 + (long long)y),
+    e_acsl_assert(x == 5,(char *)"Precondition",(char *)"(x == 5)",24);
+    e_acsl_assert((long long)x == (long long)3 + (long long)y,
                   (char *)"Precondition",(char *)"(x == 3+y)",27);
-    e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",28);
+    e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",28);
     x = 3;
-    e_acsl_assert(! (x == 3),(char *)"Postcondition",(char *)"(x == 3)",25);
-    e_acsl_assert(! ((long long)x == (long long)y + (long long)1),
+    e_acsl_assert(x == 3,(char *)"Postcondition",(char *)"(x == 3)",25);
+    e_acsl_assert((long long)x == (long long)y + (long long)1,
                   (char *)"Postcondition",(char *)"(x == y+1)",29);
   }
   
@@ -84,34 +84,34 @@ int main(void)
     int __e_acsl_var_5;
     if (! (x == 1)) { __e_acsl_var = 1; }
     else { __e_acsl_var = x == 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(x == 1 ==> x == 0)",34);
     if (x == 3) { __e_acsl_var_2 = y == 2; }
     else { __e_acsl_var_2 = 0; }
     if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; }
     else { __e_acsl_var_3 = x == 3; }
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x == 3)",38);
     if (x == 3) { __e_acsl_var_4 = y == 2; }
     else { __e_acsl_var_4 = 0; }
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = (long long)x + (long long)y == (long long)5; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x+y == 5)",39);
     x += y;
   }
   
   /*@ requires x ≡ 5; */
-  e_acsl_assert(! (x == 5),(char *)"Precondition",(char *)"(x == 5)",42);
+  e_acsl_assert(x == 5,(char *)"Precondition",(char *)"(x == 5)",42);
   /*@ requires y ≡ 2; */
-  e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",43);
+  e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",43);
   x += y;
   /*@ requires x ≡ 7;
       ensures x ≡ 7; */
   {
-    e_acsl_assert(! (x == 7),(char *)"Precondition",(char *)"(x == 7)",46);
+    e_acsl_assert(x == 7,(char *)"Precondition",(char *)"(x == 7)",46);
     __retres = 0;
-    e_acsl_assert(! (x == 7),(char *)"Postcondition",(char *)"(x == 7)",47);
+    e_acsl_assert(x == 7,(char *)"Postcondition",(char *)"(x == 7)",47);
   }
   
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
index 0b9dc4a37ded6c9222b143a71610cda37534e148..b91ee4c1fa656207487ebafd34d204fcf85529c6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
@@ -81,9 +81,10 @@ extern int __gmpz_com(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -111,7 +112,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x);
     __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2),
                                 (__mpz_struct const *)(__e_acsl_var_3));
-    e_acsl_assert(! (__e_acsl_var_4 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion",
                   (char *)"(-3 == x)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +132,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion",
                   (char *)"(x == -3)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
@@ -149,7 +150,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_9));
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion",
                   (char *)"(0 != ~0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -175,7 +176,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_15));
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion",
                   (char *)"(x+1 == -2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -204,7 +205,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_21));
     __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20),
                                  (__mpz_struct const *)(__e_acsl_var_22));
-    e_acsl_assert(! (__e_acsl_var_23 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion",
                   (char *)"(x-1 == -4)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -233,7 +234,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_27));
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion",
                   (char *)"(x*3 == -9)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_24));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
@@ -259,7 +260,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_32));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_34));
     /*@ assert 3 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
                   (char *)"(3 == 0)",19);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34),
                   (__mpz_struct const *)(__e_acsl_var_30),
@@ -270,7 +271,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_35));
     __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_36));
-    e_acsl_assert(! (__e_acsl_var_37 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion",
                   (char *)"(x/3 == -1)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_31));
@@ -295,7 +296,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_39));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_41));
     /*@ assert 0xfffffffffff ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_40 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion",
                   (char *)"(0xfffffffffff == 0)",20);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41),
                   (__mpz_struct const *)(__e_acsl_var_38),
@@ -303,7 +304,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1);
     __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41),
                                  (__mpz_struct const *)(__e_acsl_var_42));
-    e_acsl_assert(! (__e_acsl_var_43 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion",
                   (char *)"(0xfffffffffff/0xfffffffffff == 1)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
@@ -328,7 +329,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_46));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_48));
     /*@ assert 2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_47 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion",
                   (char *)"(2 == 0)",21);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48),
                   (__mpz_struct const *)(__e_acsl_var_44),
@@ -339,7 +340,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_49));
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48),
                                  (__mpz_struct const *)(__e_acsl_var_50));
-    e_acsl_assert(! (__e_acsl_var_51 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion",
                   (char *)"(x%2 == -1)",21);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_44));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_45));
@@ -374,7 +375,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_56));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_58));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_57 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",22);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58),
                   (__mpz_struct const *)(__e_acsl_var_53),
@@ -385,7 +386,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_59));
     __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58),
                                  (__mpz_struct const *)(__e_acsl_var_60));
-    e_acsl_assert(! (__e_acsl_var_61 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion",
                   (char *)"(-3%-2 == -1)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -417,7 +418,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_65));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_67));
     /*@ assert -2 ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_66 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion",
                   (char *)"(-2 == 0)",23);
     __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67),
                   (__mpz_struct const *)(__e_acsl_var_62),
@@ -425,7 +426,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1);
     __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67),
                                  (__mpz_struct const *)(__e_acsl_var_68));
-    e_acsl_assert(! (__e_acsl_var_69 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion",
                   (char *)"(3%-2 == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -486,7 +487,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_81));
     __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80),
                                  (__mpz_struct const *)(__e_acsl_var_82));
-    e_acsl_assert(! (__e_acsl_var_83 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion",
                   (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_70));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
index b410f3515677e9ed6a92be0d9e784318808c0780..7f65200db0b76ac11a9bf16e17c8cd6f5b2a9bcb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,7 +22,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert \true; */ ;
-  e_acsl_assert(0,(char *)"Assertion",(char *)"(\\true)",9);
+  e_acsl_assert(1,(char *)"Assertion",(char *)"(\\true)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c
index b410f3515677e9ed6a92be0d9e784318808c0780..7f65200db0b76ac11a9bf16e17c8cd6f5b2a9bcb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c
@@ -5,9 +5,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -21,7 +22,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert \true; */ ;
-  e_acsl_assert(0,(char *)"Assertion",(char *)"(\\true)",9);
+  e_acsl_assert(1,(char *)"Assertion",(char *)"(\\true)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
index 4435c8f153fc4996da12aa8a2ccec9fb9d5a2c05..415096f8544665e401ccb8ccf4c1bb39253c3987 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
@@ -6,9 +6,10 @@ typedef unsigned char uint8;
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -22,7 +23,7 @@ int main(void)
   uint8 x;
   x = (unsigned char)0;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! ((int)x == 0),(char *)"Assertion",(char *)"(x == 0)",11);
+  e_acsl_assert((int)x == 0,(char *)"Assertion",(char *)"(x == 0)",11);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
index 01a584305988d1d23a301311a68f7f54da80eca4..650b33b46c845d7aedfdab1ff2534eae219b83db 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
@@ -29,9 +29,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -53,8 +54,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(x == 0)",11);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)",
+                  11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
index 5cc92d346d024fae95326f6accef4e47b84ae5a4..7dc50bdf0836d53c1d86de0f9360b21d721ffacf 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
@@ -2,77 +2,59 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:233:[value] Assertion got status valid.
+PROJECT_FILE.i:234:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:238.
+        Called from PROJECT_FILE.i:239.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:239.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:240.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:245:[value] Assertion got status valid.
+PROJECT_FILE.i:246:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:252.
+        Called from PROJECT_FILE.i:253.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:253.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:254.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:259:[value] Assertion got status valid.
+PROJECT_FILE.i:260:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_str <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 PROJECT_FILE.i:86:[value] Function __gmpz_init_set_str: postcondition got status valid.
 [value] Done for function __gmpz_init_set_str
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:265.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:266.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -111,9 +93,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -132,8 +115,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0);
     __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var));
-    e_acsl_assert(! (__e_acsl_var_2 == 0),(char *)"Assertion",
-                  (char *)"(0 == 0)",9);
+    e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",(char *)"(0 == 0)",
+                  9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
   }
   
@@ -147,8 +130,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3),
                                 (__mpz_struct const *)(__e_acsl_var_4));
-    e_acsl_assert(! (__e_acsl_var_5 != 0),(char *)"Assertion",
-                  (char *)"(0 != 1)",10);
+    e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",(char *)"(0 != 1)",
+                  10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
   }
@@ -161,7 +144,7 @@ int main(void)
                         "1152921504606846975",10);
     __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6),
                                 (__mpz_struct const *)(__e_acsl_var_6));
-    e_acsl_assert(! (__e_acsl_var_7 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion",
                   (char *)"(1152921504606846975 == 0xfffffffffffffff)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_6));
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
index 59edb00daeaa0cc8c3f95905ce16e01f8cd4e9fc..a9e4db13f8de8a7f7e7c6abb04173d35bf161a72 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
@@ -2,19 +2,20 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:233:[value] Assertion got status valid.
+PROJECT_FILE.i:234:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:234.
+        Called from PROJECT_FILE.i:235.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:237:[value] Assertion got status valid.
+PROJECT_FILE.i:238:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:238.
+        Called from PROJECT_FILE.i:239.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:240:[value] Assertion got status valid.
+PROJECT_FILE.i:241:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -31,9 +32,10 @@ PROJECT_FILE.i:240:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -46,12 +48,12 @@ int main(void)
   int __retres;
   int x;
   /*@ assert 0 ≡ 0; */ ;
-  e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",9);
+  e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",9);
   x = 0;
   /*@ assert 0 ≢ 1; */ ;
-  e_acsl_assert(! (0 != 1),(char *)"Assertion",(char *)"(0 != 1)",10);
+  e_acsl_assert(0 != 1,(char *)"Assertion",(char *)"(0 != 1)",10);
   /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ;
-  e_acsl_assert(! ((unsigned long long)1152921504606846975 == (unsigned long long)0xfffffffffffffff),
+  e_acsl_assert((unsigned long long)1152921504606846975 == (unsigned long long)0xfffffffffffffff,
                 (char *)"Assertion",
                 (char *)"(1152921504606846975 == 0xfffffffffffffff)",11);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
index 7ff294b78c8adbacd5eb93749e581fa21d1609df..299111d306beea8f8b4cdeddba23288aee033be5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
@@ -2,1063 +2,866 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:237:[value] entering loop for the first time
+PROJECT_FILE.i:238:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status invalid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-PROJECT_FILE.i:256:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:257:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:258.
+        Called from PROJECT_FILE.i:259.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:262.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:267:[value] warning: 2's complement assumed for overflow
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_clear
+PROJECT_FILE.i:268:[value] warning: 2's complement assumed for overflow
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:259.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -1093,9 +896,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -1136,7 +940,7 @@ int main(void)
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
         }
         else { __e_acsl_var_7 = 0; }
-        e_acsl_assert(! __e_acsl_var_7,(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var_7,(char *)"Invariant",
                       (char *)"(0 <= i && i < 10)",9);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -1152,7 +956,7 @@ int main(void)
         __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)x);
         __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8),
                                      (__mpz_struct const *)(__e_acsl_var_9));
-        e_acsl_assert(! (__e_acsl_var_10 <= 0),(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var_10 <= 0,(char *)"Invariant",
                       (char *)"(i <= x)",11);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle
index a7aa285d2e940754185329d84c710e2b72f43fcb..316b4936958676c714e641bf1b57592423c2e724 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle
@@ -2,226 +2,137 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:237:[value] entering loop for the first time
+PROJECT_FILE.i:238:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:248:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:249:[value] assigning non deterministic value for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:248:[value] warning: 2's complement assumed for overflow
+PROJECT_FILE.i:249:[value] warning: 2's complement assumed for overflow
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:250.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:251.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -238,9 +149,10 @@ PROJECT_FILE.i:248:[value] warning: 2's complement assumed for overflow
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -262,13 +174,13 @@ int main(void)
       { int __e_acsl_var;
         if (0 <= i) { __e_acsl_var = i < 10; }
         else { __e_acsl_var = 0; }
-        e_acsl_assert(! __e_acsl_var,(char *)"Invariant",
+        e_acsl_assert(__e_acsl_var,(char *)"Invariant",
                       (char *)"(0 <= i && i < 10)",9);
       }
       
       x += i;
       /*@ invariant i ≤ x; */ ;
-      e_acsl_assert(! (i <= x),(char *)"Invariant",(char *)"(i <= x)",11);
+      e_acsl_assert(i <= x,(char *)"Invariant",(char *)"(i <= x)",11);
       i ++;
     }
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
index 353642ff86f588742cc5e231cdbcb8cded822ac7..65d07b88611e383765f9fa9912c8bdaf2d579252 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
@@ -3,113 +3,89 @@
 [value] Initial state computed
 [value] Values of globals at initialization
         X ∈ {0}
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:245.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:265.
+        Called from PROJECT_FILE.i:266.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:266.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:267.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:268.
+        Called from PROJECT_FILE.i:269.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:273.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:275.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:276.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:276.
+        Called from PROJECT_FILE.i:277.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:290.
+        Called from PROJECT_FILE.i:291.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:291.
+        Called from PROJECT_FILE.i:292.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:292.
+        Called from PROJECT_FILE.i:293.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:293.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:294.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:294.
+        Called from PROJECT_FILE.i:295.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:230:[value] Function main: postcondition got status valid.
+PROJECT_FILE.i:231:[value] Function main: postcondition got status valid.
 [value] Recording results for main
 [value] done for function main
 [value] ====== VALUES COMPUTED ======
@@ -143,9 +119,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -169,8 +146,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(X == 0)",12);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(X == 0)",
+                  12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -192,7 +169,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition",
                     (char *)"(X == 1)",14);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -203,7 +180,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Postcondition",
                   (char *)"(X == 2)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -223,7 +200,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3);
     __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                  (__mpz_struct const *)(__e_acsl_var_11));
-    e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition",
                   (char *)"(X == 3)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle
index 111f396d45280f9a914eebbbaca093936e925438..2b20402fe6d4972e3ae65f852ab1350eeed6061d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle
@@ -3,24 +3,25 @@
 [value] Initial state computed
 [value] Values of globals at initialization
         X ∈ {0}
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:230:[value] Function main: postcondition got status valid.
+PROJECT_FILE.i:231:[value] Function main: postcondition got status valid.
 [value] Recording results for main
 [value] done for function main
 [value] ====== VALUES COMPUTED ======
@@ -35,9 +36,10 @@ PROJECT_FILE.i:230:[value] Function main: postcondition got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -53,16 +55,16 @@ int main(void)
   goto L1;
   L1: 
   /*@ assert X ≡ 0; */ ;
-  e_acsl_assert(! (X == 0),(char *)"Assertion",(char *)"(X == 0)",12);
+  e_acsl_assert(X == 0,(char *)"Assertion",(char *)"(X == 0)",12);
   X = 1;
   goto L2;
   L2: 
   /*@ requires X ≡ 1;
       ensures X ≡ 2; */
   {
-    e_acsl_assert(! (X == 1),(char *)"Precondition",(char *)"(X == 1)",14);
+    e_acsl_assert(X == 1,(char *)"Precondition",(char *)"(X == 1)",14);
     X = 2;
-    e_acsl_assert(! (X == 2),(char *)"Postcondition",(char *)"(X == 2)",14);
+    e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"(X == 2)",14);
   }
   
   if (X) {
@@ -70,7 +72,7 @@ int main(void)
     __retres = 0;
     goto return_label; }
   __retres = 0;
-  return_label: e_acsl_assert(! (X == 3),(char *)"Postcondition",
+  return_label: e_acsl_assert(X == 3,(char *)"Postcondition",
                               (char *)"(X == 3)",9);
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
index 3422c92b5f33a75ba6571d271cc08ccc9c5b242b..de0bc9ae17ed7e61ddb5e5132e67dfdbb5e0f861 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
@@ -4,82 +4,77 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:250.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 [value] Done for function __gmpz_cmp
-PROJECT_FILE.i:252:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:253:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:257.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:258.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:258.
+        Called from PROJECT_FILE.i:259.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:263:[value] Assertion got status valid.
+PROJECT_FILE.i:264:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:269.
+        Called from PROJECT_FILE.i:270.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:270.
+        Called from PROJECT_FILE.i:271.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:279.
-[value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:280.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:281.
 [value] Done for function __gmpz_init_set_si
-[value] computing for function __gmpz_cmp <- main.
+[value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:282.
+[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_cmp <- main.
+        Called from PROJECT_FILE.i:283.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:284:[value] Assertion got status invalid (stopping propagation).
+PROJECT_FILE.i:285:[value] Assertion got status invalid (stopping propagation).
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -115,12 +110,6 @@ PROJECT_FILE.i:302:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:323.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -192,12 +181,6 @@ PROJECT_FILE.i:367:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:388.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -284,12 +267,6 @@ PROJECT_FILE.i:432:[value] Assertion got status unknown.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:463.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -340,12 +317,6 @@ PROJECT_FILE.i:469:[value] Assertion got status unknown.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:500.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -396,12 +367,6 @@ PROJECT_FILE.i:506:[value] Assertion got status unknown.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:537.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -467,12 +432,6 @@ PROJECT_FILE.i:543:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:590.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -538,12 +497,6 @@ PROJECT_FILE.i:596:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:643.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -595,12 +548,6 @@ PROJECT_FILE.i:651:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:685.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -651,12 +598,6 @@ PROJECT_FILE.i:692:[value] Assertion got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:726.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -710,9 +651,10 @@ extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -750,7 +692,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
     }
     else { __e_acsl_var_7 = 0; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(x == 0 && y == 1)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -780,7 +722,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_13));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_15));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_14 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_14 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",12);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_15),
                     (__mpz_struct const *)(__e_acsl_var_12),
@@ -794,7 +736,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_15));
     }
     else { __e_acsl_var_17 = 0; }
-    e_acsl_assert(! (! __e_acsl_var_17),(char *)"Assertion",
+    e_acsl_assert(! __e_acsl_var_17,(char *)"Assertion",
                   (char *)"(!(x != 0 && y == 1/0))",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
@@ -823,7 +765,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_21));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
     }
-    e_acsl_assert(! __e_acsl_var_24,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_24,(char *)"Assertion",
                   (char *)"(y == 1 || x == 1)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -854,7 +796,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_30));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_32));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_31 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_31 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",14);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_32),
                     (__mpz_struct const *)(__e_acsl_var_29),
@@ -867,7 +809,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_30));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_32));
     }
-    e_acsl_assert(! __e_acsl_var_34,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_34,(char *)"Assertion",
                   (char *)"(x == 0 || y == 1/0)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
@@ -896,7 +838,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
     }
-    e_acsl_assert(! __e_acsl_var_41,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41,(char *)"Assertion",
                   (char *)"(x == 0 ==> y == 1)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_36));
@@ -927,7 +869,7 @@ int main(void)
                                    (__mpz_struct const *)(__e_acsl_var_47));
       __gmpz_init((__mpz_struct *)(__e_acsl_var_49));
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion",
+      e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion",
                     (char *)"(0 == 0)",16);
       __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_49),
                     (__mpz_struct const *)(__e_acsl_var_46),
@@ -940,7 +882,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_47));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_49));
     }
-    e_acsl_assert(! __e_acsl_var_51,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_51,(char *)"Assertion",
                   (char *)"(x == 1 ==> y == 1/0)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_42));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_43));
@@ -980,7 +922,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_58));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_59));
     }
-    e_acsl_assert(! __e_acsl_var_61,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_61,(char *)"Assertion",
                   (char *)"(x!=0? x != 0: y != 0)",17);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_52));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_53));
@@ -1020,7 +962,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_68));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_69));
     }
-    e_acsl_assert(! __e_acsl_var_71,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_71,(char *)"Assertion",
                   (char *)"(y!=0? y != 0: x != 0)",18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -1060,7 +1002,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_78));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_79));
     }
-    e_acsl_assert(! __e_acsl_var_81,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_81,(char *)"Assertion",
                   (char *)"(x==1? x == 18: x == 0)",19);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_72));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_73));
@@ -1117,7 +1059,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_90));
     }
     else { __e_acsl_var_96 = 0; }
-    e_acsl_assert(! __e_acsl_var_96,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_96,(char *)"Assertion",
                   (char *)"(x == 2 <==> y == 3)",22);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_82));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_83));
@@ -1174,7 +1116,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_105));
     }
     else { __e_acsl_var_111 = 0; }
-    e_acsl_assert(! __e_acsl_var_111,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_111,(char *)"Assertion",
                   (char *)"(x == 0 <==> y == 1)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_97));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_98));
@@ -1218,7 +1160,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_119));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_120));
     }
-    e_acsl_assert(! __e_acsl_var_122,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_122,(char *)"Assertion",
                   (char *)"((x != 0 && y != 0) || y != 0)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_112));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_113));
@@ -1261,7 +1203,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_131));
     }
     else { __e_acsl_var_133 = 0; }
-    e_acsl_assert(! __e_acsl_var_133,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_133,(char *)"Assertion",
                   (char *)"((x != 0 || y != 0) && y == 1)",28);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_123));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_124));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle
index c01ed32c64816b03e2ea7d777edb25f93b155cba..4008dc6b905a9957960cb9b665bd8b56c687af2d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle
@@ -2,14 +2,15 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:244:[value] Assertion got status valid.
+PROJECT_FILE.i:245:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 PROJECT_FILE.i:260:[value] Assertion got status valid.
@@ -87,9 +88,10 @@ PROJECT_FILE.i:386:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -108,7 +110,7 @@ int main(void)
   { int __e_acsl_var;
     if (x == 0) { __e_acsl_var = y == 1; }
     else { __e_acsl_var = 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var,(char *)"Assertion",
                   (char *)"(x == 0 && y == 1)",11);
   }
   
@@ -118,12 +120,12 @@ int main(void)
     if (x != 0) {
       int __e_acsl_var_2;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",12);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",12);
       __e_acsl_var_2 = 1 / 0;
       __e_acsl_var_3 = y == __e_acsl_var_2;
     }
     else { __e_acsl_var_3 = 0; }
-    e_acsl_assert(! (! __e_acsl_var_3),(char *)"Assertion",
+    e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion",
                   (char *)"(!(x != 0 && y == 1/0))",12);
   }
   
@@ -131,7 +133,7 @@ int main(void)
   { int __e_acsl_var_4;
     if (y == 1) { __e_acsl_var_4 = 1; }
     else { __e_acsl_var_4 = x == 1; }
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Assertion",
                   (char *)"(y == 1 || x == 1)",13);
   }
   
@@ -142,11 +144,11 @@ int main(void)
     else {
       int __e_acsl_var_5;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",14);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",14);
       __e_acsl_var_5 = 1 / 0;
       __e_acsl_var_6 = y == __e_acsl_var_5;
     }
-    e_acsl_assert(! __e_acsl_var_6,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6,(char *)"Assertion",
                   (char *)"(x == 0 || y == 1/0)",14);
   }
   
@@ -154,7 +156,7 @@ int main(void)
   { int __e_acsl_var_7;
     if (! (x == 0)) { __e_acsl_var_7 = 1; }
     else { __e_acsl_var_7 = y == 1; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(x == 0 ==> y == 1)",15);
   }
   
@@ -165,11 +167,11 @@ int main(void)
     else {
       int __e_acsl_var_8;
       /*@ assert 0 ≢ 0; */ ;
-      e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"(0 == 0)",16);
+      e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",16);
       __e_acsl_var_8 = 1 / 0;
       __e_acsl_var_9 = y == __e_acsl_var_8;
     }
-    e_acsl_assert(! __e_acsl_var_9,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9,(char *)"Assertion",
                   (char *)"(x == 1 ==> y == 1/0)",16);
   }
   
@@ -177,7 +179,7 @@ int main(void)
   { int __e_acsl_var_10;
     if (x != 0) { __e_acsl_var_10 = x != 0; }
     else { __e_acsl_var_10 = y != 0; }
-    e_acsl_assert(! __e_acsl_var_10,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_10,(char *)"Assertion",
                   (char *)"(x!=0? x != 0: y != 0)",17);
   }
   
@@ -185,7 +187,7 @@ int main(void)
   { int __e_acsl_var_11;
     if (y != 0) { __e_acsl_var_11 = y != 0; }
     else { __e_acsl_var_11 = x != 0; }
-    e_acsl_assert(! __e_acsl_var_11,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_11,(char *)"Assertion",
                   (char *)"(y!=0? y != 0: x != 0)",18);
   }
   
@@ -193,7 +195,7 @@ int main(void)
   { int __e_acsl_var_12;
     if (x == 1) { __e_acsl_var_12 = x == 18; }
     else { __e_acsl_var_12 = x == 0; }
-    e_acsl_assert(! __e_acsl_var_12,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12,(char *)"Assertion",
                   (char *)"(x==1? x == 18: x == 0)",19);
   }
   
@@ -210,7 +212,7 @@ int main(void)
       __e_acsl_var_15 = __e_acsl_var_14;
     }
     else { __e_acsl_var_15 = 0; }
-    e_acsl_assert(! __e_acsl_var_15,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_15,(char *)"Assertion",
                   (char *)"(x == 2 <==> y == 3)",22);
   }
   
@@ -227,7 +229,7 @@ int main(void)
       __e_acsl_var_18 = __e_acsl_var_17;
     }
     else { __e_acsl_var_18 = 0; }
-    e_acsl_assert(! __e_acsl_var_18,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_18,(char *)"Assertion",
                   (char *)"(x == 0 <==> y == 1)",23);
   }
   
@@ -235,7 +237,7 @@ int main(void)
   { int __e_acsl_var_19;
     if (x != 0) { __e_acsl_var_19 = x; }
     else { __e_acsl_var_19 = y; }
-    e_acsl_assert(! ((__e_acsl_var_19 != 0) == (x == 0)),(char *)"Assertion",
+    e_acsl_assert((__e_acsl_var_19 != 0) == (x == 0),(char *)"Assertion",
                   (char *)"(((x!=0? x: y)!=0) == (x==0))",26);
   }
   
@@ -247,7 +249,7 @@ int main(void)
     else { __e_acsl_var_20 = 0; }
     if (__e_acsl_var_20) { __e_acsl_var_21 = 1; }
     else { __e_acsl_var_21 = y != 0; }
-    e_acsl_assert(! __e_acsl_var_21,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_21,(char *)"Assertion",
                   (char *)"((x != 0 && y != 0) || y != 0)",27);
   }
   
@@ -259,7 +261,7 @@ int main(void)
     else { __e_acsl_var_22 = y != 0; }
     if (__e_acsl_var_22) { __e_acsl_var_23 = y == 1; }
     else { __e_acsl_var_23 = 0; }
-    e_acsl_assert(! __e_acsl_var_23,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_23,(char *)"Assertion",
                   (char *)"((x != 0 || y != 0) && y == 1)",28);
   }
   
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
index 54eabbab4bbee734ae289ebb6748279b21438743..081c6fe342cce706e1d010f479d73aa3dbdb81aa 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
@@ -10,73 +10,70 @@ tests/e-acsl-runtime/linear_search.i:14:[e-acsl] warning: missing guard for ensu
 [value] Initial state computed
 [value] Values of globals at initialization
         A[0..9] ∈ {0}
-PROJECT_FILE.i:488:[value] entering loop for the first time
-PROJECT_FILE.i:491:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:489:[value] entering loop for the first time
+PROJECT_FILE.i:492:[value] assigning non deterministic value for the first time
 [value] computing for function search <- main.
-        Called from PROJECT_FILE.i:494.
-PROJECT_FILE.i:230:[value] Function search: precondition got status unknown.
+        Called from PROJECT_FILE.i:495.
+PROJECT_FILE.i:231:[value] Function search: precondition got status unknown.
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 PROJECT_FILE.i:94:[value] Function __gmpz_set: precondition got status valid.
 PROJECT_FILE.i:95:[value] Function __gmpz_set: precondition got status valid.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:259:[value] entering loop for the first time
+PROJECT_FILE.i:260:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:279:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_2 < 10;
+PROJECT_FILE.i:280:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_2 < 10;
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:279.
+        Called from PROJECT_FILE.i:280.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:280.
+        Called from PROJECT_FILE.i:281.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:283.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:284:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_6 < 10;
+PROJECT_FILE.i:285:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_6 < 10;
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:285.
-[value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:286.
-[value] Done for function __gmpz_clear
+[value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:287.
 [value] Done for function __gmpz_clear
@@ -86,297 +83,273 @@ PROJECT_FILE.i:284:[kernel] warning: accessing out of bounds index [0..429496729
 [value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:289.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- search <- main.
+        Called from PROJECT_FILE.i:290.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:299.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:302.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:303.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:303.
+        Called from PROJECT_FILE.i:304.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:304.
+        Called from PROJECT_FILE.i:305.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:309.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:310.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:312.
+        Called from PROJECT_FILE.i:313.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:317.
+        Called from PROJECT_FILE.i:318.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:321.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:325:[value] entering loop for the first time
+PROJECT_FILE.i:326:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:329.
+        Called from PROJECT_FILE.i:330.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:330.
+        Called from PROJECT_FILE.i:331.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:333.
+        Called from PROJECT_FILE.i:334.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:341.
+        Called from PROJECT_FILE.i:342.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:342:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_30 < 10;
+PROJECT_FILE.i:343:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_30 < 10;
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:343.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:343.
+        Called from PROJECT_FILE.i:344.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:344.
+        Called from PROJECT_FILE.i:345.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:345.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:346.
+        Called from PROJECT_FILE.i:347.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:356.
+        Called from PROJECT_FILE.i:357.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:357.
+        Called from PROJECT_FILE.i:358.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:358.
+        Called from PROJECT_FILE.i:359.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:359.
+        Called from PROJECT_FILE.i:360.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:360.
+        Called from PROJECT_FILE.i:361.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:361.
+        Called from PROJECT_FILE.i:362.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:367.
+        Called from PROJECT_FILE.i:368.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:374.
+        Called from PROJECT_FILE.i:375.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:377.
+        Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:378.
+        Called from PROJECT_FILE.i:379.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:379.
+        Called from PROJECT_FILE.i:380.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:382:[value] entering loop for the first time
+PROJECT_FILE.i:383:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:386.
+        Called from PROJECT_FILE.i:387.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:387.
+        Called from PROJECT_FILE.i:388.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:390.
+        Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:398.
+        Called from PROJECT_FILE.i:399.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:399:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_15 < 10;
+PROJECT_FILE.i:400:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_15 < 10;
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:399.
+        Called from PROJECT_FILE.i:400.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:400.
+        Called from PROJECT_FILE.i:401.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:401.
+        Called from PROJECT_FILE.i:402.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:402.
+        Called from PROJECT_FILE.i:403.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:403.
+        Called from PROJECT_FILE.i:404.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:413.
+        Called from PROJECT_FILE.i:414.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:414.
+        Called from PROJECT_FILE.i:415.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:415.
+        Called from PROJECT_FILE.i:416.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:416.
+        Called from PROJECT_FILE.i:417.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:417.
+        Called from PROJECT_FILE.i:418.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:418.
+        Called from PROJECT_FILE.i:419.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:424.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:430:[value] entering loop for the first time
+PROJECT_FILE.i:431:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:452.
+        Called from PROJECT_FILE.i:453.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:453.
+        Called from PROJECT_FILE.i:454.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:454.
+        Called from PROJECT_FILE.i:455.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:456.
+        Called from PROJECT_FILE.i:457.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:457.
+        Called from PROJECT_FILE.i:458.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:459.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:460.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:468.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:468.
+        Called from PROJECT_FILE.i:469.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:469.
+        Called from PROJECT_FILE.i:470.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:471.
+        Called from PROJECT_FILE.i:472.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:472.
+        Called from PROJECT_FILE.i:473.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:474.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:475.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:233:[value] Function search, behavior exists: postcondition got status unknown.
-PROJECT_FILE.i:233:[value] Function search, behavior exists: postcondition got status unknown, but it is unknown if the behavior is active.
-PROJECT_FILE.i:237:[value] Function search, behavior not_exists: postcondition got status unknown.
-PROJECT_FILE.i:237:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active.
+PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown.
+PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown, but it is unknown if the behavior is active.
+PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown.
+PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active.
 [value] Recording results for search
 [value] Done for function search
-PROJECT_FILE.i:495:[value] Assertion got status unknown.
+PROJECT_FILE.i:496:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:500.
+        Called from PROJECT_FILE.i:501.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:501.
+        Called from PROJECT_FILE.i:502.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:502.
+        Called from PROJECT_FILE.i:503.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:503.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:504.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:504.
+        Called from PROJECT_FILE.i:505.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:505.
+        Called from PROJECT_FILE.i:506.
 [value] Done for function __gmpz_clear
 [value] computing for function search <- main.
-        Called from PROJECT_FILE.i:509.
+        Called from PROJECT_FILE.i:510.
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:251.
+        Called from PROJECT_FILE.i:252.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:279:[value] Assertion got status unknown.
+PROJECT_FILE.i:280:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:279.
+        Called from PROJECT_FILE.i:280.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:280.
+        Called from PROJECT_FILE.i:281.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:283.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:284:[value] Assertion got status unknown.
+PROJECT_FILE.i:285:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:285.
-[value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:286.
-[value] Done for function __gmpz_clear
+[value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:287.
 [value] Done for function __gmpz_clear
@@ -386,236 +359,215 @@ PROJECT_FILE.i:284:[value] Assertion got status unknown.
 [value] computing for function __gmpz_clear <- search <- main.
         Called from PROJECT_FILE.i:289.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- search <- main.
+        Called from PROJECT_FILE.i:290.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:299.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:302.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:303.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:303.
+        Called from PROJECT_FILE.i:304.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:304.
+        Called from PROJECT_FILE.i:305.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:309.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:310.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:312.
+        Called from PROJECT_FILE.i:313.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:317.
+        Called from PROJECT_FILE.i:318.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:321.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:321.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:329.
+        Called from PROJECT_FILE.i:330.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:330.
+        Called from PROJECT_FILE.i:331.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:333.
+        Called from PROJECT_FILE.i:334.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:341.
+        Called from PROJECT_FILE.i:342.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:342:[value] Assertion got status unknown.
+PROJECT_FILE.i:343:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:343.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:343.
+        Called from PROJECT_FILE.i:344.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:344.
+        Called from PROJECT_FILE.i:345.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:345.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:346.
+        Called from PROJECT_FILE.i:347.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:356.
+        Called from PROJECT_FILE.i:357.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:357.
+        Called from PROJECT_FILE.i:358.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:358.
+        Called from PROJECT_FILE.i:359.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:359.
+        Called from PROJECT_FILE.i:360.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:360.
+        Called from PROJECT_FILE.i:361.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:361.
+        Called from PROJECT_FILE.i:362.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:367.
+        Called from PROJECT_FILE.i:368.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:374.
+        Called from PROJECT_FILE.i:375.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:377.
+        Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:378.
+        Called from PROJECT_FILE.i:379.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:379.
+        Called from PROJECT_FILE.i:380.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:386.
+        Called from PROJECT_FILE.i:387.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:387.
+        Called from PROJECT_FILE.i:388.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:390.
+        Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_get_ui <- search <- main.
-        Called from PROJECT_FILE.i:398.
+        Called from PROJECT_FILE.i:399.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:399:[value] Assertion got status unknown.
+PROJECT_FILE.i:400:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:399.
+        Called from PROJECT_FILE.i:400.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:400.
+        Called from PROJECT_FILE.i:401.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:401.
+        Called from PROJECT_FILE.i:402.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:402.
+        Called from PROJECT_FILE.i:403.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:403.
+        Called from PROJECT_FILE.i:404.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:413.
+        Called from PROJECT_FILE.i:414.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- search <- main.
-        Called from PROJECT_FILE.i:414.
+        Called from PROJECT_FILE.i:415.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- search <- main.
-        Called from PROJECT_FILE.i:415.
+        Called from PROJECT_FILE.i:416.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- search <- main.
-        Called from PROJECT_FILE.i:416.
+        Called from PROJECT_FILE.i:417.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:417.
+        Called from PROJECT_FILE.i:418.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:418.
+        Called from PROJECT_FILE.i:419.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:424.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:452.
+        Called from PROJECT_FILE.i:453.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:453.
+        Called from PROJECT_FILE.i:454.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:454.
+        Called from PROJECT_FILE.i:455.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:456.
+        Called from PROJECT_FILE.i:457.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:457.
+        Called from PROJECT_FILE.i:458.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:459.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:460.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:468.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- search <- main.
-        Called from PROJECT_FILE.i:468.
+        Called from PROJECT_FILE.i:469.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- search <- main.
-        Called from PROJECT_FILE.i:469.
+        Called from PROJECT_FILE.i:470.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:471.
+        Called from PROJECT_FILE.i:472.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- search <- main.
-        Called from PROJECT_FILE.i:472.
+        Called from PROJECT_FILE.i:473.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:474.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:475.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for search
 [value] Done for function search
-PROJECT_FILE.i:510:[value] Assertion got status unknown.
+PROJECT_FILE.i:511:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:515.
+        Called from PROJECT_FILE.i:516.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:516.
+        Called from PROJECT_FILE.i:517.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:517.
+        Called from PROJECT_FILE.i:518.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:518.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:519.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:519.
+        Called from PROJECT_FILE.i:520.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:520.
+        Called from PROJECT_FILE.i:521.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -675,9 +627,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -780,7 +733,7 @@ int search(int elt)
       
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(\\forall integer i; 0 <= i && i < 9 ==> A[i] <= A[i+1])",
                   9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_i));
@@ -950,7 +903,7 @@ int search(int elt)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_25));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
     }
-    e_acsl_assert(! __e_acsl_var_28,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_28,(char *)"Postcondition",
                   (char *)"(\\old(\\exists integer j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)",
                   12);
     if (! __e_acsl_var_39) { __e_acsl_var_43 = 1; }
@@ -966,7 +919,7 @@ int search(int elt)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_40));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_41));
     }
-    e_acsl_assert(! __e_acsl_var_43,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_43,(char *)"Postcondition",
                   (char *)"(\\old(\\forall integer j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)",
                   15);
     return (__retres);
@@ -995,7 +948,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(found == 1)",31);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -1011,7 +964,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(found == 0)",34);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle
index f52274abf328df4cf5d231ae7c0cda4d350bec8d..87caae80d6d6699686a1f63ba239814efa7d0940 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle
@@ -7,94 +7,59 @@ tests/e-acsl-runtime/linear_search.i:14:[e-acsl] warning: missing guard for ensu
 [value] Initial state computed
 [value] Values of globals at initialization
         A[0..9] ∈ {0}
-PROJECT_FILE.i:341:[value] entering loop for the first time
-PROJECT_FILE.i:344:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:342:[value] entering loop for the first time
+PROJECT_FILE.i:345:[value] assigning non deterministic value for the first time
 [value] computing for function search <- main.
-        Called from PROJECT_FILE.i:347.
-PROJECT_FILE.i:230:[value] Function search: precondition got status unknown.
-PROJECT_FILE.i:252:[value] entering loop for the first time
+        Called from PROJECT_FILE.i:348.
+PROJECT_FILE.i:231:[value] Function search: precondition got status unknown.
+PROJECT_FILE.i:253:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:262.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:263.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:269:[value] entering loop for the first time
-PROJECT_FILE.i:287:[value] entering loop for the first time
-PROJECT_FILE.i:303:[value] entering loop for the first time
+PROJECT_FILE.i:270:[value] entering loop for the first time
+PROJECT_FILE.i:288:[value] entering loop for the first time
+PROJECT_FILE.i:304:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:322.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:323.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:327.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:328.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:233:[value] Function search, behavior exists: postcondition got status unknown.
-PROJECT_FILE.i:233:[value] Function search, behavior exists: postcondition got status unknown, but it is unknown if the behavior is active.
-PROJECT_FILE.i:237:[value] Function search, behavior not_exists: postcondition got status unknown.
-PROJECT_FILE.i:237:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active.
+PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown.
+PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown, but it is unknown if the behavior is active.
+PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown.
+PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active.
 [value] Recording results for search
 [value] Done for function search
-PROJECT_FILE.i:348:[value] Assertion got status unknown.
+PROJECT_FILE.i:349:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:350.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function search <- main.
-        Called from PROJECT_FILE.i:351.
+        Called from PROJECT_FILE.i:352.
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:262.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:263.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:322.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:323.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:327.
-[value] computing for function printf <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- search <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:328.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for search
 [value] Done for function search
-PROJECT_FILE.i:352:[value] Assertion got status unknown.
+PROJECT_FILE.i:353:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:353.
+        Called from PROJECT_FILE.i:354.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -117,9 +82,10 @@ PROJECT_FILE.i:352:[value] Assertion got status unknown.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -159,7 +125,7 @@ int search(int elt)
       __e_acsl_i ++;
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(\\forall int i; 0 <= i && i < 9 ==> A[i] <= A[i+1])",
                   9);
     {
@@ -217,12 +183,12 @@ int search(int elt)
     int __e_acsl_var_7;
     if (! __e_acsl_var_3) { __e_acsl_var_4 = 1; }
     else { __e_acsl_var_4 = __retres == 1; }
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Postcondition",
                   (char *)"(\\old(\\exists int j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)",
                   12);
     if (! __e_acsl_var_6) { __e_acsl_var_7 = 1; }
     else { __e_acsl_var_7 = __retres == 0; }
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Postcondition",
                   (char *)"(\\old(\\forall int j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)",
                   15);
     return (__retres);
@@ -243,10 +209,10 @@ int main(void)
   
   found = search(36);
   /*@ assert found ≡ 1; */ ;
-  e_acsl_assert(! (found == 1),(char *)"Assertion",(char *)"(found == 1)",31);
+  e_acsl_assert(found == 1,(char *)"Assertion",(char *)"(found == 1)",31);
   found = search(5);
   /*@ assert found ≡ 0; */ ;
-  e_acsl_assert(! (found == 0),(char *)"Assertion",(char *)"(found == 0)",34);
+  e_acsl_assert(found == 0,(char *)"Assertion",(char *)"(found == 0)",34);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
index 109323831966488dd89f5d7ab0482722b7b8133a..7104aed36bf05b9f30a3e7572f6b6a72a86ac67c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
@@ -2,79 +2,61 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:245.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:263.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:264.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:265.
+        Called from PROJECT_FILE.i:266.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:283.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:285.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:286.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -94,94 +76,70 @@ PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:295.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:297.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:297.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:312.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:313.
+        Called from PROJECT_FILE.i:312.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:314.
+        Called from PROJECT_FILE.i:313.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:316.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:315.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:318.
+        Called from PROJECT_FILE.i:317.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:319.
+        Called from PROJECT_FILE.i:318.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:323.
+        Called from PROJECT_FILE.i:322.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:324.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:325.
+        Called from PROJECT_FILE.i:324.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:327.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:326.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:329.
+        Called from PROJECT_FILE.i:327.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:330.
+        Called from PROJECT_FILE.i:328.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:340.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:343.
+        Called from PROJECT_FILE.i:341.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:344.
+        Called from PROJECT_FILE.i:342.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:345.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:343.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:346.
+        Called from PROJECT_FILE.i:344.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:345.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -217,9 +175,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -243,8 +202,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 < 0),(char *)"Assertion",
-                  (char *)"(x < y)",9);
+    e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -263,13 +221,13 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition",
                     (char *)"(x == 0)",10);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
       if (x) {
         /*@ assert \false; */ ;
-        e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",13);
+        e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13);
       }
       else {
         /*@ requires x ≡ 0;
@@ -286,7 +244,7 @@ int main(void)
             __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0);
             __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                         (__mpz_struct const *)(__e_acsl_var_8));
-            e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Precondition",
+            e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition",
                           (char *)"(x == 0)",15);
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -297,7 +255,7 @@ int main(void)
           __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1);
           __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10),
                                        (__mpz_struct const *)(__e_acsl_var_11));
-          e_acsl_assert(! (__e_acsl_var_12 == 0),(char *)"Postcondition",
+          e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition",
                         (char *)"(x == 1)",16);
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
           __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -318,7 +276,7 @@ int main(void)
               __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1);
               __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13),
                                            (__mpz_struct const *)(__e_acsl_var_14));
-              e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Precondition",
+              e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Precondition",
                             (char *)"(x == 1)",19);
               __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
               __gmpz_clear((__mpz_struct *)(__e_acsl_var_14));
@@ -329,7 +287,7 @@ int main(void)
             __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)2);
             __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16),
                                          (__mpz_struct const *)(__e_acsl_var_17));
-            e_acsl_assert(! (__e_acsl_var_18 == 0),(char *)"Postcondition",
+            e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Postcondition",
                           (char *)"(x == 2)",20);
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_16));
             __gmpz_clear((__mpz_struct *)(__e_acsl_var_17));
@@ -338,7 +296,7 @@ int main(void)
         }
         else {
           /*@ assert \false; */ ;
-          e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",23);
+          e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",23);
         }
       }
     }
@@ -347,7 +305,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)1);
     __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19),
                                  (__mpz_struct const *)(__e_acsl_var_20));
-    e_acsl_assert(! (__e_acsl_var_21 >= 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_21 >= 0,(char *)"Postcondition",
                   (char *)"(x >= 1)",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_20));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle
index fd2425fdd039f9b9ec63e3c27d4cc326871b19ae..445fa9ec137ec466d0a1e3a402c320e68fbb75b1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle
@@ -2,33 +2,34 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status valid.
+PROJECT_FILE.i:237:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:252.
+        Called from PROJECT_FILE.i:253.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -46,9 +47,10 @@ PROJECT_FILE.i:236:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -64,44 +66,40 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */ ;
-  e_acsl_assert(! (x < y),(char *)"Assertion",(char *)"(x < y)",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"(x < y)",9);
   /*@ requires x ≡ 0;
       ensures x ≥ 1; */
   {
-    e_acsl_assert(! (x == 0),(char *)"Precondition",(char *)"(x == 0)",10);
+    e_acsl_assert(x == 0,(char *)"Precondition",(char *)"(x == 0)",10);
     if (x) {
       /*@ assert \false; */ ;
-      e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",13);
+      e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13);
     }
     else {
       /*@ requires x ≡ 0;
           ensures x ≡ 1; */
       {
-        e_acsl_assert(! (x == 0),(char *)"Precondition",(char *)"(x == 0)",
-                      15);
+        e_acsl_assert(x == 0,(char *)"Precondition",(char *)"(x == 0)",15);
         x ++;
-        e_acsl_assert(! (x == 1),(char *)"Postcondition",(char *)"(x == 1)",
-                      16);
+        e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"(x == 1)",16);
       }
       
       if (x) {
         /*@ requires x ≡ 1;
             ensures x ≡ 2; */
         {
-          e_acsl_assert(! (x == 1),(char *)"Precondition",(char *)"(x == 1)",
-                        19);
+          e_acsl_assert(x == 1,(char *)"Precondition",(char *)"(x == 1)",19);
           x ++;
-          e_acsl_assert(! (x == 2),(char *)"Postcondition",
-                        (char *)"(x == 2)",20);
+          e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"(x == 2)",20);
         }
         
       }
       else {
         /*@ assert \false; */ ;
-        e_acsl_assert(1,(char *)"Assertion",(char *)"(\\false)",23);
+        e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",23);
       }
     }
-    e_acsl_assert(! (x >= 1),(char *)"Postcondition",(char *)"(x >= 1)",11);
+    e_acsl_assert(x >= 1,(char *)"Postcondition",(char *)"(x >= 1)",11);
   }
   
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
index d6103f00977e3c746adc52b63f2bbb04cc0f79e3..9f45cb6493eb9fca9695460704bf17ba291033b0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
@@ -2,36 +2,30 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:239.
+        Called from PROJECT_FILE.i:240.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:242.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:243.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -66,9 +60,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -90,8 +85,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(x == 0)",8);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)",
+                  8);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
@@ -106,7 +101,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0);
       __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                   (__mpz_struct const *)(__e_acsl_var_5));
-      e_acsl_assert(! (__e_acsl_var_6 != 0),(char *)"Assertion",
+      e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion",
                     (char *)"(x != 0)",9);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.res.oracle
index 5fba6b6476b8fb7fcd27aa775c23f867fbdf5e03..4a97d4b6fbfe38040eb61ce23aa8fc14dbfea9e4 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -21,9 +22,10 @@ PROJECT_FILE.i:234:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,10 +39,10 @@ int main(void)
   int x;
   x = 0;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! (x == 0),(char *)"Assertion",(char *)"(x == 0)",8);
+  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",8);
   if (x) {
     /*@ assert x ≢ 0; */ ;
-    e_acsl_assert(! (x != 0),(char *)"Assertion",(char *)"(x != 0)",9);
+    e_acsl_assert(x != 0,(char *)"Assertion",(char *)"(x != 0)",9);
   }
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle
index e97c67273f38219408612974f433cfbec0596e37..aec6c5c837d3d4741dd0b331f64611b924fcb0b0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:232:[value] Assertion got status unknown.
+PROJECT_FILE.i:233:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:233.
+        Called from PROJECT_FILE.i:234.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -20,9 +21,10 @@ PROJECT_FILE.i:232:[value] Assertion got status unknown.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -34,7 +36,7 @@ int main(void)
 {
   int __retres;
   /*@ assert \null ≡ (void *)0; */ ;
-  e_acsl_assert(! ((void *)0 == (void *)0),(char *)"Assertion",
+  e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",
                 (char *)"(\\null == (void *)0)",8);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle
index e97c67273f38219408612974f433cfbec0596e37..aec6c5c837d3d4741dd0b331f64611b924fcb0b0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:232:[value] Assertion got status unknown.
+PROJECT_FILE.i:233:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:233.
+        Called from PROJECT_FILE.i:234.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -20,9 +21,10 @@ PROJECT_FILE.i:232:[value] Assertion got status unknown.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -34,7 +36,7 @@ int main(void)
 {
   int __retres;
   /*@ assert \null ≡ (void *)0; */ ;
-  e_acsl_assert(! ((void *)0 == (void *)0),(char *)"Assertion",
+  e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",
                 (char *)"(\\null == (void *)0)",8);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
index 0b7a8cdf84932d12218b59eac613057c857b84c4..14eba20508a989e75c62abf6c8f80dd4ba8e5a8e 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
@@ -2,61 +2,50 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status unknown.
+PROJECT_FILE.i:237:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:239:[value] Assertion got status valid.
+PROJECT_FILE.i:240:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:245.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:246.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:250:[value] Assertion got status valid.
+PROJECT_FILE.i:251:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:257.
+        Called from PROJECT_FILE.i:258.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:258.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:259.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -94,9 +83,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -108,7 +98,7 @@ int main(void)
 {
   int __retres;
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",10);
   /*@ assert 'c' ≡ 'c'; */ ;
   {
@@ -117,7 +107,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)'c');
     __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var));
-    e_acsl_assert(! (__e_acsl_var_2 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",
                   (char *)"(\'c\' == \'c\')",11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
   }
@@ -131,7 +121,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)true);
     __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3),
                                 (__mpz_struct const *)(__e_acsl_var_4));
-    e_acsl_assert(! (__e_acsl_var_5 != 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",
                   (char *)"(false != true)",12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle
index 09858eaab9df57a7c26f359449e20f44318a9043..7c9a6c3c1cdf95030c51738a880af97eab6ab109 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle
@@ -2,19 +2,20 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:236:[value] Assertion got status unknown.
+PROJECT_FILE.i:237:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:239:[value] Assertion got status valid.
+PROJECT_FILE.i:240:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:242:[value] Assertion got status valid.
+PROJECT_FILE.i:243:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -34,9 +35,10 @@ enum bool {
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -48,14 +50,13 @@ int main(void)
 {
   int __retres;
   /*@ assert "toto" ≢ "titi"; */ ;
-  e_acsl_assert(! ("toto" != "titi"),(char *)"Assertion",
+  e_acsl_assert("toto" != "titi",(char *)"Assertion",
                 (char *)"(\"toto\" != \"titi\")",10);
   /*@ assert 'c' ≡ 'c'; */ ;
-  e_acsl_assert(! ('c' == 'c'),(char *)"Assertion",
-                (char *)"(\'c\' == \'c\')",11);
+  e_acsl_assert('c' == 'c',(char *)"Assertion",(char *)"(\'c\' == \'c\')",11);
   /*@ assert false ≢ true; */ ;
-  e_acsl_assert(! (false != true),(char *)"Assertion",
-                (char *)"(false != true)",12);
+  e_acsl_assert(false != true,(char *)"Assertion",(char *)"(false != true)",
+                12);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
index 2b9caa2d8635106319f2e2b3b0b275b9efe58eb6..c0b66a261253e2b31b7fdce063ecd47924856e09 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
@@ -15,162 +15,129 @@ tests/e-acsl-runtime/ptr.i:27:[e-acsl] warning: missing guard for ensuring that
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:240:[value] Assertion got status valid.
+PROJECT_FILE.i:241:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:248.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:249.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:250.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:254:[value] Assertion got status valid.
+PROJECT_FILE.i:255:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:262.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:263.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:268:[value] Assertion got status valid.
+PROJECT_FILE.i:269:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:273.
+        Called from PROJECT_FILE.i:274.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:274.
+        Called from PROJECT_FILE.i:275.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:276.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:277.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:282:[value] Assertion got status valid.
+PROJECT_FILE.i:283:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:297.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:297.
+        Called from PROJECT_FILE.i:298.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_mul <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:299.
 PROJECT_FILE.i:145:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:146:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:147:[value] Function __gmpz_mul: precondition got status valid.
 [value] Done for function __gmpz_mul
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:299.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:302.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:302.
+        Called from PROJECT_FILE.i:303.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:303:[value] Assertion got status valid.
+PROJECT_FILE.i:304:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:304.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:305.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_q <- main.
-        Called from PROJECT_FILE.i:306.
+        Called from PROJECT_FILE.i:307.
 PROJECT_FILE.i:151:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:152:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid.
 [value] Done for function __gmpz_tdiv_q
 [value] computing for function __gmpz_get_ui <- main.
-        Called from PROJECT_FILE.i:307.
+        Called from PROJECT_FILE.i:308.
 PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid.
 [value] Done for function __gmpz_get_ui
-PROJECT_FILE.i:308:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_17 < 3;
+PROJECT_FILE.i:309:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_17 < 3;
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:308.
+        Called from PROJECT_FILE.i:309.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:309.
+        Called from PROJECT_FILE.i:310.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:310.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:311.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:312.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:313.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:314.
 [value] Done for function __gmpz_clear
@@ -192,37 +159,34 @@ PROJECT_FILE.i:308:[kernel] warning: accessing out of bounds index [0..429496729
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:320.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:327:[value] entering loop for the first time
-PROJECT_FILE.i:330:[value] Assertion got status valid.
-[value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:337.
-[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:321.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:328:[value] entering loop for the first time
+PROJECT_FILE.i:331:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:338.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:339.
 [value] Done for function __gmpz_init_set_si
-[value] computing for function __gmpz_init <- main.
+[value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:340.
+[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_init <- main.
+        Called from PROJECT_FILE.i:341.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:341.
+        Called from PROJECT_FILE.i:342.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:343.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:343.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:344.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -274,14 +238,11 @@ PROJECT_FILE.i:367:[kernel] warning: accessing out of bounds index [0..429496729
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:372.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:373.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:374.
 [value] Done for function __gmpz_clear
@@ -297,38 +258,32 @@ PROJECT_FILE.i:367:[kernel] warning: accessing out of bounds index [0..429496729
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:379.
-[value] Done for function __gmpz_clear
-PROJECT_FILE.i:383:[value] Assertion got status valid.
+PROJECT_FILE.i:382:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:390.
+        Called from PROJECT_FILE.i:389.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:391.
+        Called from PROJECT_FILE.i:390.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:392.
+        Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:393.
+        Called from PROJECT_FILE.i:392.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- main.
-        Called from PROJECT_FILE.i:394.
+        Called from PROJECT_FILE.i:393.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:395.
+        Called from PROJECT_FILE.i:394.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:396.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:395.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:397.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:398.
 [value] Done for function __gmpz_clear
@@ -338,36 +293,27 @@ PROJECT_FILE.i:383:[value] Assertion got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:400.
 [value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:401.
-[value] Done for function __gmpz_clear
-PROJECT_FILE.i:330:[value] Assertion got status unknown.
-[value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:337.
-[value] Done for function __gmpz_init_set_si
+PROJECT_FILE.i:331:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:338.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:339.
 [value] Done for function __gmpz_init_set_si
-[value] computing for function __gmpz_init <- main.
+[value] computing for function __gmpz_init_set_si <- main.
         Called from PROJECT_FILE.i:340.
+[value] Done for function __gmpz_init_set_si
+[value] computing for function __gmpz_init <- main.
+        Called from PROJECT_FILE.i:341.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:341.
+        Called from PROJECT_FILE.i:342.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:343.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:343.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:344.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
@@ -416,14 +362,11 @@ PROJECT_FILE.i:367:[value] Assertion got status unknown.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
         Called from PROJECT_FILE.i:372.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:373.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:374.
 [value] Done for function __gmpz_clear
@@ -439,38 +382,32 @@ PROJECT_FILE.i:367:[value] Assertion got status unknown.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:378.
 [value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:379.
-[value] Done for function __gmpz_clear
-PROJECT_FILE.i:383:[value] Assertion got status unknown.
+PROJECT_FILE.i:382:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:390.
+        Called from PROJECT_FILE.i:389.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:391.
+        Called from PROJECT_FILE.i:390.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:392.
+        Called from PROJECT_FILE.i:391.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:393.
+        Called from PROJECT_FILE.i:392.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- main.
-        Called from PROJECT_FILE.i:394.
+        Called from PROJECT_FILE.i:393.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:395.
+        Called from PROJECT_FILE.i:394.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:396.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:395.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:397.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:398.
 [value] Done for function __gmpz_clear
@@ -480,35 +417,26 @@ PROJECT_FILE.i:383:[value] Assertion got status unknown.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:400.
 [value] Done for function __gmpz_clear
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:401.
-[value] Done for function __gmpz_clear
-PROJECT_FILE.i:405:[value] assigning non deterministic value for the first time
-PROJECT_FILE.i:411:[value] Assertion got status valid.
+PROJECT_FILE.i:404:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:410:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:416.
+        Called from PROJECT_FILE.i:415.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:417.
+        Called from PROJECT_FILE.i:416.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:418.
+        Called from PROJECT_FILE.i:417.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:419.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:418.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:420.
+        Called from PROJECT_FILE.i:419.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:421.
+        Called from PROJECT_FILE.i:420.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -585,9 +513,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -615,7 +544,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(*p == 1)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -630,7 +559,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(t[0] == 2)",14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -645,7 +574,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)4);
     __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_8));
-    e_acsl_assert(! (__e_acsl_var_9 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion",
                   (char *)"(t[2] == 4)",15);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_7));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_8));
@@ -676,7 +605,7 @@ int main(void)
                                  (__mpz_struct const *)(__e_acsl_var_14));
     __gmpz_init((__mpz_struct *)(__e_acsl_var_16));
     /*@ assert sizeof((int)0x0) ≢ 0; */ ;
-    e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Assertion",
+    e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Assertion",
                   (char *)"(sizeof((int)0x0) == 0)",16);
     __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_16),
                   (__mpz_struct const *)(__e_acsl_var_12),
@@ -690,7 +619,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)4);
     __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                  (__mpz_struct const *)(__e_acsl_var_19));
-    e_acsl_assert(! (__e_acsl_var_20 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Assertion",
                   (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_11));
@@ -723,7 +652,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_23));
         __e_acsl_var_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21),
                                      (__mpz_struct const *)(__e_acsl_var_24));
-        e_acsl_assert(! (__e_acsl_var_25 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_25 == 0,(char *)"Assertion",
                       (char *)"(t[i] == i+2)",19);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_21));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_22));
@@ -760,7 +689,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_27));
         __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30),
                                      (__mpz_struct const *)(__e_acsl_var_32));
-        e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion",
                       (char *)"(t[2-i] == 4-i)",20);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_26));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_27));
@@ -787,7 +716,7 @@ int main(void)
                    (__mpz_struct const *)(__e_acsl_var_36));
         __e_acsl_var_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                      (__mpz_struct const *)(__e_acsl_var_37));
-        e_acsl_assert(! (__e_acsl_var_38 == 0),(char *)"Assertion",
+        e_acsl_assert(__e_acsl_var_38 == 0,(char *)"Assertion",
                       (char *)"(*(&t[2]-i) == 4-i)",21);
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_34));
         __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
@@ -810,7 +739,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)5);
     __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39),
                                  (__mpz_struct const *)(__e_acsl_var_40));
-    e_acsl_assert(! (__e_acsl_var_41 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_41 == 0,(char *)"Assertion",
                   (char *)"(*p == 5)",27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_39));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_40));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle
index b8652fcf2c621bb159dc733da84f237b97dcae76..0f00c1221aec082fe0dd8c0147376b407d969aab 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle
@@ -13,85 +13,68 @@ tests/e-acsl-runtime/ptr.i:27:[e-acsl] warning: missing guard for ensuring that
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:240:[value] Assertion got status valid.
+PROJECT_FILE.i:241:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:243:[value] Assertion got status valid.
+PROJECT_FILE.i:244:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:246:[value] Assertion got status valid.
+PROJECT_FILE.i:247:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:249:[value] Assertion got status valid.
-PROJECT_FILE.i:252:[value] Assertion got status valid.
+PROJECT_FILE.i:250:[value] Assertion got status valid.
+PROJECT_FILE.i:253:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:263:[value] entering loop for the first time
-PROJECT_FILE.i:266:[value] Assertion got status valid.
+PROJECT_FILE.i:264:[value] entering loop for the first time
+PROJECT_FILE.i:267:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:270:[value] Assertion got status valid.
+PROJECT_FILE.i:271:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:274:[value] Assertion got status valid.
+PROJECT_FILE.i:275:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:266:[value] Assertion got status unknown.
+PROJECT_FILE.i:267:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:267.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:268.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:270:[value] Assertion got status unknown.
+PROJECT_FILE.i:271:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:271.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:272.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:274:[value] Assertion got status unknown.
+PROJECT_FILE.i:275:[value] Assertion got status unknown.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:275.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:276.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:278:[value] assigning non deterministic value for the first time
-PROJECT_FILE.i:284:[value] Assertion got status valid.
+PROJECT_FILE.i:279:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:285:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -112,9 +95,10 @@ PROJECT_FILE.i:284:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -134,19 +118,19 @@ int main(void)
   t[2] = 4;
   p = & x;
   /*@ assert *p ≡ 1; */ ;
-  e_acsl_assert(! (*p == 1),(char *)"Assertion",(char *)"(*p == 1)",13);
+  e_acsl_assert(*p == 1,(char *)"Assertion",(char *)"(*p == 1)",13);
   /*@ assert t[0] ≡ 2; */ ;
-  e_acsl_assert(! (t[0] == 2),(char *)"Assertion",(char *)"(t[0] == 2)",14);
+  e_acsl_assert(t[0] == 2,(char *)"Assertion",(char *)"(t[0] == 2)",14);
   /*@ assert t[2] ≡ 4; */ ;
-  e_acsl_assert(! (t[2] == 4),(char *)"Assertion",(char *)"(t[2] == 4)",15);
+  e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"(t[2] == 4)",15);
   /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ;
   {
     int __e_acsl_var;
     /*@ assert sizeof((int)0x0) ≢ 0; */ ;
-    e_acsl_assert(4 == 0,(char *)"Assertion",
+    e_acsl_assert(! (4 == 0),(char *)"Assertion",
                   (char *)"(sizeof((int)0x0) == 0)",16);
     __e_acsl_var = (2 * 4) / 4;
-    e_acsl_assert(! (t[__e_acsl_var] == 4),(char *)"Assertion",
+    e_acsl_assert(t[__e_acsl_var] == 4,(char *)"Assertion",
                   (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16);
   }
   
@@ -156,13 +140,13 @@ int main(void)
     while (1) {
       if (! (i < 2)) { break; }
       /*@ assert t[i] ≡ i+2; */ ;
-      e_acsl_assert(! ((long long)t[i] == (long long)i + (long long)2),
+      e_acsl_assert((long long)t[i] == (long long)i + (long long)2,
                     (char *)"Assertion",(char *)"(t[i] == i+2)",19);
       /*@ assert t[2-i] ≡ 4-i; */ ;
-      e_acsl_assert(! ((long long)t[(long long)2 - (long long)i] == (long long)4 - (long long)i),
+      e_acsl_assert((long long)t[(long long)2 - (long long)i] == (long long)4 - (long long)i,
                     (char *)"Assertion",(char *)"(t[2-i] == 4-i)",20);
       /*@ assert *(&t[2]-i) ≡ 4-i; */ ;
-      e_acsl_assert(! ((long long)*(& t[2] - i) == (long long)4 - (long long)i),
+      e_acsl_assert((long long)*(& t[2] - i) == (long long)4 - (long long)i,
                     (char *)"Assertion",(char *)"(*(&t[2]-i) == 4-i)",21);
       i ++;
     }
@@ -171,7 +155,7 @@ int main(void)
   p = & t[2];
   t[2] = 5;
   /*@ assert *p ≡ 5; */ ;
-  e_acsl_assert(! (*p == 5),(char *)"Assertion",(char *)"(*p == 5)",27);
+  e_acsl_assert(*p == 5,(char *)"Assertion",(char *)"(*p == 5)",27);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
index 590753b799396ac967fe2ce8d079c7aae4b359f9..fb943cd4de75b0fa06061379251d2b7f799ff867 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
@@ -2,711 +2,657 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:232:[value] Assertion got status unknown.
+PROJECT_FILE.i:233:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:94:[value] Function __gmpz_set: precondition got status valid.
 PROJECT_FILE.i:95:[value] Function __gmpz_set: precondition got status valid.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:245:[value] entering loop for the first time
+PROJECT_FILE.i:246:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:250.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:266.
+        Called from PROJECT_FILE.i:267.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_cmp
-PROJECT_FILE.i:268:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:269:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:269.
+        Called from PROJECT_FILE.i:270.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:282.
+        Called from PROJECT_FILE.i:283.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:283.
+        Called from PROJECT_FILE.i:284.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:284.
+        Called from PROJECT_FILE.i:285.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:285.
+        Called from PROJECT_FILE.i:286.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:286.
+        Called from PROJECT_FILE.i:287.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:291.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:292.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:294.
+        Called from PROJECT_FILE.i:295.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:298:[value] Assertion got status unknown.
+PROJECT_FILE.i:299:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:303.
+        Called from PROJECT_FILE.i:304.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:308.
+        Called from PROJECT_FILE.i:309.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:309.
+        Called from PROJECT_FILE.i:310.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:310.
+        Called from PROJECT_FILE.i:311.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:311.
+        Called from PROJECT_FILE.i:312.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:312.
-[value] Done for function __gmpz_set
-[value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:313.
-[value] Done for function __gmpz_clear
+[value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:314.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:315.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:318:[value] entering loop for the first time
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:316.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:319:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:323.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:323.
+        Called from PROJECT_FILE.i:324.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:326.
+        Called from PROJECT_FILE.i:327.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:332.
+        Called from PROJECT_FILE.i:333.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:333.
+        Called from PROJECT_FILE.i:334.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:334.
+        Called from PROJECT_FILE.i:335.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:344.
+        Called from PROJECT_FILE.i:345.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:345.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:346.
+        Called from PROJECT_FILE.i:347.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:349.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:349.
+        Called from PROJECT_FILE.i:350.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:354.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:355.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:356.
+        Called from PROJECT_FILE.i:357.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:360:[value] Assertion got status unknown.
+PROJECT_FILE.i:361:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:365.
+        Called from PROJECT_FILE.i:366.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:370.
+        Called from PROJECT_FILE.i:371.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:371.
+        Called from PROJECT_FILE.i:372.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:372.
+        Called from PROJECT_FILE.i:373.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:373.
+        Called from PROJECT_FILE.i:374.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:374.
-[value] Done for function __gmpz_set
-[value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:375.
-[value] Done for function __gmpz_clear
+[value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:376.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:377.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:380:[value] entering loop for the first time
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:378.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:381:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:384.
+        Called from PROJECT_FILE.i:385.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:385.
+        Called from PROJECT_FILE.i:386.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:388.
+        Called from PROJECT_FILE.i:389.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:408.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:409.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:410.
+        Called from PROJECT_FILE.i:411.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:414:[value] Assertion got status unknown.
+PROJECT_FILE.i:415:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:419.
+        Called from PROJECT_FILE.i:420.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:422.
+        Called from PROJECT_FILE.i:423.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:423.
+        Called from PROJECT_FILE.i:424.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:424.
+        Called from PROJECT_FILE.i:425.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:427:[value] entering loop for the first time
+PROJECT_FILE.i:428:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:431.
+        Called from PROJECT_FILE.i:432.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:432.
+        Called from PROJECT_FILE.i:433.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:435.
+        Called from PROJECT_FILE.i:436.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:441.
+        Called from PROJECT_FILE.i:442.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:442.
+        Called from PROJECT_FILE.i:443.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:443.
+        Called from PROJECT_FILE.i:444.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:453.
+        Called from PROJECT_FILE.i:454.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:454.
+        Called from PROJECT_FILE.i:455.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:455.
+        Called from PROJECT_FILE.i:456.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:456.
+        Called from PROJECT_FILE.i:457.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:457.
+        Called from PROJECT_FILE.i:458.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:458.
+        Called from PROJECT_FILE.i:459.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:463.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:464.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:465.
+        Called from PROJECT_FILE.i:466.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:469:[value] Assertion got status unknown.
-[value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:479.
-[value] Done for function __gmpz_init
+PROJECT_FILE.i:470:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
         Called from PROJECT_FILE.i:480.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init <- main.
         Called from PROJECT_FILE.i:481.
 [value] Done for function __gmpz_init
+[value] computing for function __gmpz_init <- main.
+        Called from PROJECT_FILE.i:482.
+[value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:484.
+        Called from PROJECT_FILE.i:485.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:485.
+        Called from PROJECT_FILE.i:486.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:486.
+        Called from PROJECT_FILE.i:487.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:489:[value] entering loop for the first time
+PROJECT_FILE.i:490:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:493.
+        Called from PROJECT_FILE.i:494.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:494.
+        Called from PROJECT_FILE.i:495.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:497.
+        Called from PROJECT_FILE.i:498.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:502.
+        Called from PROJECT_FILE.i:503.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:503.
+        Called from PROJECT_FILE.i:504.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:504.
+        Called from PROJECT_FILE.i:505.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:507:[value] entering loop for the first time
+PROJECT_FILE.i:508:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:511.
+        Called from PROJECT_FILE.i:512.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:512.
+        Called from PROJECT_FILE.i:513.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:515.
+        Called from PROJECT_FILE.i:516.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:520.
+        Called from PROJECT_FILE.i:521.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:580.
+        Called from PROJECT_FILE.i:581.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:521.
+        Called from PROJECT_FILE.i:522.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:581.
+        Called from PROJECT_FILE.i:582.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:522.
+        Called from PROJECT_FILE.i:523.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:582.
+        Called from PROJECT_FILE.i:583.
 [value] Done for function __gmpz_add
-PROJECT_FILE.i:525:[value] entering loop for the first time
+PROJECT_FILE.i:526:[value] entering loop for the first time
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:583.
+        Called from PROJECT_FILE.i:584.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:584.
+        Called from PROJECT_FILE.i:585.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:585.
+        Called from PROJECT_FILE.i:586.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:528.
+        Called from PROJECT_FILE.i:529.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:537.
+        Called from PROJECT_FILE.i:538.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:538.
+        Called from PROJECT_FILE.i:539.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:568.
+        Called from PROJECT_FILE.i:569.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:539.
+        Called from PROJECT_FILE.i:540.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:569.
+        Called from PROJECT_FILE.i:570.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:540.
+        Called from PROJECT_FILE.i:541.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:570.
+        Called from PROJECT_FILE.i:571.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:541.
+        Called from PROJECT_FILE.i:542.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:571.
+        Called from PROJECT_FILE.i:572.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:542.
+        Called from PROJECT_FILE.i:543.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:572.
+        Called from PROJECT_FILE.i:573.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:544.
+        Called from PROJECT_FILE.i:545.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:573.
+        Called from PROJECT_FILE.i:574.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:545.
+        Called from PROJECT_FILE.i:546.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:546.
+        Called from PROJECT_FILE.i:547.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:556.
+        Called from PROJECT_FILE.i:557.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:557.
+        Called from PROJECT_FILE.i:558.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:558.
+        Called from PROJECT_FILE.i:559.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:559.
+        Called from PROJECT_FILE.i:560.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:560.
+        Called from PROJECT_FILE.i:561.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:561.
+        Called from PROJECT_FILE.i:562.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:590.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:591.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:593.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:594.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:595.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:599:[value] Assertion got status unknown.
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:596.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:600:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:604.
+        Called from PROJECT_FILE.i:605.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:607.
+        Called from PROJECT_FILE.i:608.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:608.
+        Called from PROJECT_FILE.i:609.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:609.
+        Called from PROJECT_FILE.i:610.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:612:[value] entering loop for the first time
+PROJECT_FILE.i:613:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:616.
+        Called from PROJECT_FILE.i:617.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:617.
+        Called from PROJECT_FILE.i:618.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:620.
+        Called from PROJECT_FILE.i:621.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:626.
+        Called from PROJECT_FILE.i:627.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:627.
+        Called from PROJECT_FILE.i:628.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:628.
+        Called from PROJECT_FILE.i:629.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:638.
+        Called from PROJECT_FILE.i:639.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:639.
+        Called from PROJECT_FILE.i:640.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:640.
+        Called from PROJECT_FILE.i:641.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:641.
+        Called from PROJECT_FILE.i:642.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:642.
+        Called from PROJECT_FILE.i:643.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:643.
+        Called from PROJECT_FILE.i:644.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:648.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:649.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:650.
+        Called from PROJECT_FILE.i:651.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:654:[value] Assertion got status unknown.
+PROJECT_FILE.i:655:[value] Assertion got status unknown.
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:661.
+        Called from PROJECT_FILE.i:662.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:664.
+        Called from PROJECT_FILE.i:665.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:665.
+        Called from PROJECT_FILE.i:666.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:666.
+        Called from PROJECT_FILE.i:667.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:669:[value] entering loop for the first time
+PROJECT_FILE.i:670:[value] entering loop for the first time
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:673.
+        Called from PROJECT_FILE.i:674.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:674.
+        Called from PROJECT_FILE.i:675.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:677.
+        Called from PROJECT_FILE.i:678.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:687.
+        Called from PROJECT_FILE.i:688.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:688.
+        Called from PROJECT_FILE.i:689.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:689.
+        Called from PROJECT_FILE.i:690.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:690.
+        Called from PROJECT_FILE.i:691.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:691:[value] Assertion got status valid.
+PROJECT_FILE.i:692:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:692.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:693.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_r <- main.
-        Called from PROJECT_FILE.i:693.
+        Called from PROJECT_FILE.i:694.
 PROJECT_FILE.i:157:[value] Function __gmpz_tdiv_r: precondition got status valid.
 PROJECT_FILE.i:158:[value] Function __gmpz_tdiv_r: precondition got status valid.
 PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid.
 [value] Done for function __gmpz_tdiv_r
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:694.
+        Called from PROJECT_FILE.i:695.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:763.
+        Called from PROJECT_FILE.i:765.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:700.
+        Called from PROJECT_FILE.i:701.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:764.
+        Called from PROJECT_FILE.i:766.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:765.
+        Called from PROJECT_FILE.i:767.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:703.
+        Called from PROJECT_FILE.i:704.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:704.
+        Called from PROJECT_FILE.i:705.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:705.
+        Called from PROJECT_FILE.i:706.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:775.
+        Called from PROJECT_FILE.i:777.
 [value] Done for function __gmpz_init_set_si
-PROJECT_FILE.i:708:[value] entering loop for the first time
+PROJECT_FILE.i:709:[value] entering loop for the first time
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:776.
+        Called from PROJECT_FILE.i:778.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:777.
+        Called from PROJECT_FILE.i:779.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:778.
+        Called from PROJECT_FILE.i:780.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:715.
+        Called from PROJECT_FILE.i:716.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:779.
+        Called from PROJECT_FILE.i:781.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:716.
+        Called from PROJECT_FILE.i:717.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:780.
+        Called from PROJECT_FILE.i:782.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:717.
+        Called from PROJECT_FILE.i:718.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:719.
+        Called from PROJECT_FILE.i:720.
 [value] Done for function __gmpz_init
-PROJECT_FILE.i:720:[value] Assertion got status valid.
+PROJECT_FILE.i:721:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:721.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:722.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_tdiv_q <- main.
-        Called from PROJECT_FILE.i:722.
+        Called from PROJECT_FILE.i:724.
 PROJECT_FILE.i:151:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:152:[value] Function __gmpz_tdiv_q: precondition got status valid.
 PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid.
 [value] Done for function __gmpz_tdiv_q
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:723.
+        Called from PROJECT_FILE.i:725.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:726.
+        Called from PROJECT_FILE.i:728.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:727.
+        Called from PROJECT_FILE.i:729.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:728.
+        Called from PROJECT_FILE.i:730.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:761.
+        Called from PROJECT_FILE.i:763.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:735.
+        Called from PROJECT_FILE.i:737.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:763.
+        Called from PROJECT_FILE.i:765.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:736.
+        Called from PROJECT_FILE.i:738.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:764.
+        Called from PROJECT_FILE.i:766.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_mul <- main.
-        Called from PROJECT_FILE.i:737.
+        Called from PROJECT_FILE.i:739.
 PROJECT_FILE.i:145:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:146:[value] Function __gmpz_mul: precondition got status valid.
 PROJECT_FILE.i:147:[value] Function __gmpz_mul: precondition got status valid.
 [value] Done for function __gmpz_mul
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:765.
+        Called from PROJECT_FILE.i:767.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:738.
+        Called from PROJECT_FILE.i:740.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:739.
+        Called from PROJECT_FILE.i:741.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:740.
+        Called from PROJECT_FILE.i:742.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:750.
+        Called from PROJECT_FILE.i:752.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:751.
+        Called from PROJECT_FILE.i:753.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:752.
+        Called from PROJECT_FILE.i:754.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_set <- main.
-        Called from PROJECT_FILE.i:753.
+        Called from PROJECT_FILE.i:755.
 [value] Done for function __gmpz_set
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:761.
+        Called from PROJECT_FILE.i:763.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:754.
+        Called from PROJECT_FILE.i:756.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:755.
+        Called from PROJECT_FILE.i:757.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:785.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:787.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:788.
+        Called from PROJECT_FILE.i:790.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -780,9 +726,10 @@ extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -857,7 +804,7 @@ int main(void)
       
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var,(char *)"Assertion",
                   (char *)"(\\forall integer x; 0 <= x && x <= 1 ==> x == 0 || x == 1)",
                   11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x));
@@ -926,7 +873,7 @@ int main(void)
       
     }
     e_acsl_end_loop2: ;
-    e_acsl_assert(! __e_acsl_var_12,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_12,(char *)"Assertion",
                   (char *)"(\\forall integer x; 0 < x && x <= 1 ==> x == 1)",
                   12);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_2));
@@ -984,7 +931,7 @@ int main(void)
       
     }
     e_acsl_end_loop3: ;
-    e_acsl_assert(! __e_acsl_var_22,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_22,(char *)"Assertion",
                   (char *)"(\\forall integer x; 0 < x && x < 1 ==> \\false)",
                   13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_3));
@@ -1044,7 +991,7 @@ int main(void)
       
     }
     e_acsl_end_loop4: ;
-    e_acsl_assert(! __e_acsl_var_30,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_30,(char *)"Assertion",
                   (char *)"(\\forall integer x; 0 <= x && x < 1 ==> x == 0)",
                   14);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_4));
@@ -1190,7 +1137,7 @@ int main(void)
       
     }
     e_acsl_end_loop5: ;
-    e_acsl_assert(! __e_acsl_var_38,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_38,(char *)"Assertion",
                   (char *)"(\\forall integer x, integer y, integer z;\n  ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n  x+z <= y+1)",
                   18);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_5));
@@ -1252,7 +1199,7 @@ int main(void)
       
     }
     e_acsl_end_loop6: ;
-    e_acsl_assert(! __e_acsl_var_57,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_57,(char *)"Assertion",
                   (char *)"(\\exists integer x; (0 <= x && x < 10) && x == 5)",
                   23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_6));
@@ -1298,7 +1245,7 @@ int main(void)
                                      (__mpz_struct const *)(__e_acsl_var_67));
         __gmpz_init((__mpz_struct *)(__e_acsl_var_69));
         /*@ assert 2 ≢ 0; */ ;
-        e_acsl_assert(__e_acsl_var_68 == 0,(char *)"Assertion",
+        e_acsl_assert(! (__e_acsl_var_68 == 0),(char *)"Assertion",
                       (char *)"(2 == 0)",28);
         __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_69),
                       (__mpz_struct const *)(__e_acsl_x_7),
@@ -1332,7 +1279,7 @@ int main(void)
                                            (__mpz_struct const *)(__e_acsl_var_77));
               __gmpz_init((__mpz_struct *)(__e_acsl_var_79));
               /*@ assert 2 ≢ 0; */ ;
-              e_acsl_assert(__e_acsl_var_78 == 0,(char *)"Assertion",
+              e_acsl_assert(! (__e_acsl_var_78 == 0),(char *)"Assertion",
                             (char *)"(2 == 0)",28);
               __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_79),
                             (__mpz_struct const *)(__e_acsl_x_7),
@@ -1408,7 +1355,7 @@ int main(void)
       
     }
     e_acsl_end_loop8: ;
-    e_acsl_assert(! __e_acsl_var_65,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_65,(char *)"Assertion",
                   (char *)"(\\forall integer x; 0 <= x && x < 10 ==>\n  (x%2 == 0 ==> (\\exists integer y; (0 <= y && y <= x/2) && x == 2*y)))",
                   27);
     __gmpz_clear((__mpz_struct *)(__e_acsl_x_7));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle
index 7ad082b471a0b3615e4be6372ca12c6f3f71572d..72f97d6b7064ccfb1db7d1460624866eec164e84 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle
@@ -2,121 +2,110 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:232:[value] Assertion got status unknown.
-PROJECT_FILE.i:238:[value] entering loop for the first time
-PROJECT_FILE.i:250:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:233:[value] Assertion got status unknown.
+PROJECT_FILE.i:239:[value] entering loop for the first time
+PROJECT_FILE.i:251:[value] assigning non deterministic value for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:254.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:259:[value] Assertion got status unknown.
-PROJECT_FILE.i:265:[value] entering loop for the first time
+PROJECT_FILE.i:260:[value] Assertion got status unknown.
+PROJECT_FILE.i:266:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:275.
+        Called from PROJECT_FILE.i:276.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:280:[value] Assertion got status unknown.
-PROJECT_FILE.i:286:[value] entering loop for the first time
+PROJECT_FILE.i:281:[value] Assertion got status unknown.
+PROJECT_FILE.i:287:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:297.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:301:[value] Assertion got status unknown.
-PROJECT_FILE.i:307:[value] entering loop for the first time
+PROJECT_FILE.i:302:[value] Assertion got status unknown.
+PROJECT_FILE.i:308:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:317.
+        Called from PROJECT_FILE.i:318.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:322:[value] Assertion got status unknown.
-PROJECT_FILE.i:333:[value] entering loop for the first time
-PROJECT_FILE.i:337:[value] entering loop for the first time
-PROJECT_FILE.i:341:[value] entering loop for the first time
+PROJECT_FILE.i:323:[value] Assertion got status unknown.
+PROJECT_FILE.i:334:[value] entering loop for the first time
+PROJECT_FILE.i:338:[value] entering loop for the first time
+PROJECT_FILE.i:342:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:355.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:356.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:361:[value] Assertion got status unknown.
-PROJECT_FILE.i:367:[value] entering loop for the first time
+PROJECT_FILE.i:362:[value] Assertion got status unknown.
+PROJECT_FILE.i:368:[value] entering loop for the first time
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:377.
+        Called from PROJECT_FILE.i:378.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:382:[value] Assertion got status unknown.
-PROJECT_FILE.i:390:[value] entering loop for the first time
-PROJECT_FILE.i:396:[value] Assertion got status valid.
+PROJECT_FILE.i:383:[value] Assertion got status unknown.
+PROJECT_FILE.i:391:[value] entering loop for the first time
+PROJECT_FILE.i:397:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:405:[value] entering loop for the first time
-PROJECT_FILE.i:408:[value] Assertion got status valid.
+PROJECT_FILE.i:406:[value] entering loop for the first time
+PROJECT_FILE.i:409:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:397.
+        Called from PROJECT_FILE.i:398.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:432.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:433.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -132,9 +121,10 @@ PROJECT_FILE.i:408:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -164,7 +154,7 @@ int main(void)
       __e_acsl_x ++;
     }
     e_acsl_end_loop1: ;
-    e_acsl_assert(! __e_acsl_var,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x <= 1 ==> x == 0 || x == 1)",
                   11);
   }
@@ -183,7 +173,7 @@ int main(void)
       __e_acsl_x_2 ++;
     }
     e_acsl_end_loop2: ;
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 < x && x <= 1 ==> x == 1)",12);
   }
   
@@ -200,7 +190,7 @@ int main(void)
       __e_acsl_x_3 ++;
     }
     e_acsl_end_loop3: ;
-    e_acsl_assert(! __e_acsl_var_4,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_4,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 < x && x < 1 ==> \\false)",13);
   }
   
@@ -218,7 +208,7 @@ int main(void)
       __e_acsl_x_4 ++;
     }
     e_acsl_end_loop4: ;
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x < 1 ==> x == 0)",14);
   }
   
@@ -252,7 +242,7 @@ int main(void)
       __e_acsl_x_5 ++;
     }
     e_acsl_end_loop5: ;
-    e_acsl_assert(! __e_acsl_var_6,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6,(char *)"Assertion",
                   (char *)"(\\forall int x, int y, int z;\n  ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n  x+z <= y+1)",
                   18);
   }
@@ -272,7 +262,7 @@ int main(void)
       __e_acsl_x_6 ++;
     }
     e_acsl_end_loop6: ;
-    e_acsl_assert(! __e_acsl_var_7,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_7,(char *)"Assertion",
                   (char *)"(\\exists int x; (0 <= x && x < 10) && x == 5)",
                   23);
   }
@@ -291,7 +281,7 @@ int main(void)
         int __e_acsl_var_9;
         int __e_acsl_var_12;
         /*@ assert 2 ≢ 0; */ ;
-        e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",28);
+        e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",28);
         __e_acsl_var_9 = __e_acsl_x_7 % 2;
         if (! (__e_acsl_var_9 == 0)) { __e_acsl_var_12 = 1; }
         else {
@@ -303,7 +293,8 @@ int main(void)
             {
               int __e_acsl_var_11;
               /*@ assert 2 ≢ 0; */ ;
-              e_acsl_assert(2 == 0,(char *)"Assertion",(char *)"(2 == 0)",28);
+              e_acsl_assert(! (2 == 0),(char *)"Assertion",
+                            (char *)"(2 == 0)",28);
               __e_acsl_var_11 = __e_acsl_x_7 / 2;
               if (! (__e_acsl_y_2 <= __e_acsl_var_11)) { break; }
             }
@@ -325,7 +316,7 @@ int main(void)
       __e_acsl_x_7 ++;
     }
     e_acsl_end_loop8: ;
-    e_acsl_assert(! __e_acsl_var_8,(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_8,(char *)"Assertion",
                   (char *)"(\\forall int x; 0 <= x && x < 10 ==>\n  (x%2 == 0 ==> (\\exists int y; (0 <= y && y <= x/2) && x == 2*y)))",
                   27);
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
index 06cb5b8306baca1c11f9f84d397be908fdfec13f..e31ce740de6627db9c061f8848da7bcff0c1afcf 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
@@ -5,53 +5,44 @@ tests/e-acsl-runtime/result.i:7:[e-acsl] warning: missing guard for ensuring tha
 [value] Values of globals at initialization
         Y ∈ {1}
 [value] computing for function f <- main.
-        Called from PROJECT_FILE.i:306.
+        Called from PROJECT_FILE.i:305.
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- f <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_sub <- f <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 PROJECT_FILE.i:139:[value] Function __gmpz_sub: precondition got status valid.
 PROJECT_FILE.i:140:[value] Function __gmpz_sub: precondition got status valid.
 PROJECT_FILE.i:141:[value] Function __gmpz_sub: precondition got status valid.
 [value] Done for function __gmpz_sub
 [value] computing for function __gmpz_get_ui <- f <- main.
-        Called from PROJECT_FILE.i:248.
+        Called from PROJECT_FILE.i:249.
 PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid.
 [value] Done for function __gmpz_get_ui
 [value] computing for function __gmpz_init_set_si <- f <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:250.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- f <- main.
-        Called from PROJECT_FILE.i:250.
+        Called from PROJECT_FILE.i:251.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:251.
-[value] computing for function printf <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:252.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- f <- main.
-        Called from PROJECT_FILE.i:253.
-PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
         Called from PROJECT_FILE.i:254.
+PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- f <- main.
         Called from PROJECT_FILE.i:255.
@@ -59,28 +50,25 @@ PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] computing for function __gmpz_clear <- f <- main.
         Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:229:[value] Function f: postcondition got status valid.
+[value] computing for function __gmpz_clear <- f <- main.
+        Called from PROJECT_FILE.i:257.
+[value] Done for function __gmpz_clear
+PROJECT_FILE.i:230:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
 [value] computing for function g <- main.
-        Called from PROJECT_FILE.i:307.
+        Called from PROJECT_FILE.i:306.
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:270.
+        Called from PROJECT_FILE.i:271.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- g <- main.
-        Called from PROJECT_FILE.i:271.
+        Called from PROJECT_FILE.i:272.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- g <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:273.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:273.
-[value] computing for function printf <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:274.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- g <- main.
@@ -89,11 +77,11 @@ PROJECT_FILE.i:229:[value] Function f: postcondition got status valid.
 [value] computing for function __gmpz_clear <- g <- main.
         Called from PROJECT_FILE.i:276.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:263:[value] Function g: postcondition got status valid.
+PROJECT_FILE.i:264:[value] Function g: postcondition got status valid.
 [value] Recording results for g
 [value] Done for function g
 [value] computing for function h <- main.
-        Called from PROJECT_FILE.i:308.
+        Called from PROJECT_FILE.i:307.
 [value] computing for function __gmpz_init_set_si <- h <- main.
         Called from PROJECT_FILE.i:291.
 [value] Done for function __gmpz_init_set_si
@@ -105,19 +93,13 @@ PROJECT_FILE.i:263:[value] Function g: postcondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- h <- main.
         Called from PROJECT_FILE.i:294.
-[value] computing for function printf <- e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- h <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:295.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- h <- main.
-        Called from PROJECT_FILE.i:297.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_clear
 PROJECT_FILE.i:282:[value] Function h: postcondition got status valid.
 [value] Recording results for h
@@ -178,9 +160,10 @@ extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -214,7 +197,7 @@ int f(int x)
                        (long)((int)__e_acsl_var_6));
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_7));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Postcondition",
                   (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_3));
@@ -236,7 +219,7 @@ int g(int x)
   __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)Y);
   __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                               (__mpz_struct const *)(__e_acsl_var_2));
-  e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Postcondition",
+  e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition",
                 (char *)"(\\result == Y)",18);
   __gmpz_clear((__mpz_struct *)(__e_acsl_var));
   __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -256,7 +239,7 @@ int h(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition",
                   (char *)"(\\result == 0)",23);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle
index 76b8bb977f524c779767849fb07026c7692655f1..6a2b1b6b0c044994d81bbaac3a1c6e43bee9f908 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle
@@ -4,30 +4,31 @@
 [value] Values of globals at initialization
         Y ∈ {1}
 [value] computing for function f <- main.
-        Called from PROJECT_FILE.i:262.
+        Called from PROJECT_FILE.i:263.
 [value] computing for function e_acsl_assert <- f <- main.
-        Called from PROJECT_FILE.i:237.
+        Called from PROJECT_FILE.i:238.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:229:[value] Function f: postcondition got status valid.
+PROJECT_FILE.i:230:[value] Function f: postcondition got status valid.
 [value] Recording results for f
 [value] Done for function f
 [value] computing for function g <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] computing for function e_acsl_assert <- g <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:243:[value] Function g: postcondition got status valid.
+PROJECT_FILE.i:244:[value] Function g: postcondition got status valid.
 [value] Recording results for g
 [value] Done for function g
 [value] computing for function h <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] computing for function e_acsl_assert <- h <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:250:[value] Function h: postcondition got status valid.
+PROJECT_FILE.i:251:[value] Function h: postcondition got status valid.
 [value] Recording results for h
 [value] Done for function h
 [value] Recording results for main
@@ -50,9 +51,10 @@ PROJECT_FILE.i:250:[value] Function h: postcondition got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -68,7 +70,7 @@ int f(int x)
   __e_acsl_var_2 = x;
   __e_acsl_var = x;
   x = 0;
-  e_acsl_assert(! (x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2)),
+  e_acsl_assert(x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2),
                 (char *)"Postcondition",
                 (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7);
   return (x);
@@ -78,8 +80,7 @@ int Y = 1;
 /*@ ensures \result ≡ Y;  */
 int g(int x)
 {
-  e_acsl_assert(! (x == Y),(char *)"Postcondition",(char *)"(\\result == Y)",
-                18);
+  e_acsl_assert(x == Y,(char *)"Postcondition",(char *)"(\\result == Y)",18);
   return (x);
 }
 
@@ -88,7 +89,7 @@ int h(void)
 {
   int __retres;
   __retres = 0;
-  e_acsl_assert(! (__retres == 0),(char *)"Postcondition",
+  e_acsl_assert(__retres == 0,(char *)"Postcondition",
                 (char *)"(\\result == 0)",23);
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
index 30b5146a613ffd113eabf85bb371221ae1f99a46..18ae5401eaac070ade62ecb978d17685dacc7da8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
@@ -2,62 +2,50 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:239.
+        Called from PROJECT_FILE.i:240.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:242.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:243.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Done for function __gmpz_clear
-PROJECT_FILE.i:249:[value] Assertion got status valid.
+PROJECT_FILE.i:250:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:254.
+        Called from PROJECT_FILE.i:255.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:255.
+        Called from PROJECT_FILE.i:256.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:256.
+        Called from PROJECT_FILE.i:257.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:257.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:258.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -92,9 +80,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -116,7 +105,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)4);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",
                   (char *)"(sizeof(int) == sizeof(x))",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -131,7 +120,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)4);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Assertion",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion",
                   (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle
index eecad667ef78e7c8feb697f04c5ca7c8c7bb6ff2..2b518ac5d9fa5ba50d0a34b77b1c806b01c3375b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle
@@ -2,14 +2,15 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-PROJECT_FILE.i:237:[value] Assertion got status valid.
+PROJECT_FILE.i:238:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:238.
+        Called from PROJECT_FILE.i:239.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -26,9 +27,10 @@ PROJECT_FILE.i:237:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -42,10 +44,10 @@ int main(void)
   int x;
   x = 0;
   /*@ assert sizeof(int) ≡ sizeof(x); */ ;
-  e_acsl_assert(! (4 == 4),(char *)"Assertion",
+  e_acsl_assert(4 == 4,(char *)"Assertion",
                 (char *)"(sizeof(int) == sizeof(x))",9);
   /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ;
-  e_acsl_assert(! (4 == 4),(char *)"Assertion",
+  e_acsl_assert(4 == 4,(char *)"Assertion",
                 (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10);
   __retres = 0;
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
index d7ce74a0b38e888cc177369101e3135fcd39ae99..59dd91e988bdc2910938334d2e0927c3f4db62eb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
@@ -3,145 +3,106 @@
 [value] Initial state computed
 [value] Values of globals at initialization
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:243.
+        Called from PROJECT_FILE.i:244.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:245.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:246.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:246.
+        Called from PROJECT_FILE.i:247.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:247.
+        Called from PROJECT_FILE.i:248.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:259.
+        Called from PROJECT_FILE.i:260.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:260.
+        Called from PROJECT_FILE.i:261.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:261.
+        Called from PROJECT_FILE.i:262.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:262.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:263.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:263.
+        Called from PROJECT_FILE.i:264.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:264.
+        Called from PROJECT_FILE.i:265.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:265.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:266.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:266.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:267.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:268.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:269.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:276.
+        Called from PROJECT_FILE.i:277.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:277.
+        Called from PROJECT_FILE.i:278.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:278.
+        Called from PROJECT_FILE.i:279.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:279.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:280.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:280.
+        Called from PROJECT_FILE.i:281.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:281.
+        Called from PROJECT_FILE.i:282.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:294.
+        Called from PROJECT_FILE.i:295.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:295.
+        Called from PROJECT_FILE.i:296.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:297.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:297.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:298.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:298.
+        Called from PROJECT_FILE.i:299.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:299.
+        Called from PROJECT_FILE.i:300.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:300.
+        Called from PROJECT_FILE.i:301.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:301.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:302.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:302.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:303.
 [value] Done for function __gmpz_clear
@@ -151,73 +112,55 @@ PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:305.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:306.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:337.
+        Called from PROJECT_FILE.i:338.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:338.
+        Called from PROJECT_FILE.i:339.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:339.
+        Called from PROJECT_FILE.i:340.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:340.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:341.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:341.
+        Called from PROJECT_FILE.i:342.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:342.
+        Called from PROJECT_FILE.i:343.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:343.
+        Called from PROJECT_FILE.i:344.
 PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:344.
+        Called from PROJECT_FILE.i:345.
 PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid.
 PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:345.
+        Called from PROJECT_FILE.i:346.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:346.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:347.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:347.
+        Called from PROJECT_FILE.i:348.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:348.
+        Called from PROJECT_FILE.i:349.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:349.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:350.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:350.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:351.
 [value] Done for function __gmpz_clear
@@ -233,53 +176,41 @@ PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:355.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:356.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:359.
+        Called from PROJECT_FILE.i:360.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:360.
+        Called from PROJECT_FILE.i:361.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:361.
+        Called from PROJECT_FILE.i:362.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:362.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:363.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:363.
+        Called from PROJECT_FILE.i:364.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:364.
+        Called from PROJECT_FILE.i:365.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:365.
+        Called from PROJECT_FILE.i:366.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:366.
+        Called from PROJECT_FILE.i:367.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:367.
+        Called from PROJECT_FILE.i:368.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:368.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:369.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:369.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:370.
 [value] Done for function __gmpz_clear
@@ -292,126 +223,114 @@ PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid.
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:373.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:374.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:399.
+        Called from PROJECT_FILE.i:400.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:400.
+        Called from PROJECT_FILE.i:401.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:401.
+        Called from PROJECT_FILE.i:402.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:407.
+        Called from PROJECT_FILE.i:408.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:408.
+        Called from PROJECT_FILE.i:409.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:409.
+        Called from PROJECT_FILE.i:410.
 [value] Done for function __gmpz_cmp
-PROJECT_FILE.i:410:[value] assigning non deterministic value for the first time
+PROJECT_FILE.i:411:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:411.
+        Called from PROJECT_FILE.i:412.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:412.
+        Called from PROJECT_FILE.i:413.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:414.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:415.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:415.
+        Called from PROJECT_FILE.i:416.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:416.
+        Called from PROJECT_FILE.i:417.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:421.
+        Called from PROJECT_FILE.i:422.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:422.
+        Called from PROJECT_FILE.i:423.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:423.
+        Called from PROJECT_FILE.i:424.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:425.
+        Called from PROJECT_FILE.i:426.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:426.
+        Called from PROJECT_FILE.i:427.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:434.
+        Called from PROJECT_FILE.i:435.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:435.
+        Called from PROJECT_FILE.i:436.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:436.
+        Called from PROJECT_FILE.i:437.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:438.
+        Called from PROJECT_FILE.i:439.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:439.
+        Called from PROJECT_FILE.i:440.
 [value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:441.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:442.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:443.
+        Called from PROJECT_FILE.i:444.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:448.
+        Called from PROJECT_FILE.i:449.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:449.
+        Called from PROJECT_FILE.i:450.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:450.
+        Called from PROJECT_FILE.i:451.
 [value] Done for function __gmpz_cmp
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:452.
+        Called from PROJECT_FILE.i:453.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:453.
+        Called from PROJECT_FILE.i:454.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:463.
+        Called from PROJECT_FILE.i:464.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:464.
+        Called from PROJECT_FILE.i:465.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init <- main.
-        Called from PROJECT_FILE.i:465.
+        Called from PROJECT_FILE.i:466.
 [value] Done for function __gmpz_init
 [value] computing for function __gmpz_add <- main.
-        Called from PROJECT_FILE.i:466.
+        Called from PROJECT_FILE.i:467.
 [value] Done for function __gmpz_add
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:467.
+        Called from PROJECT_FILE.i:468.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:468.
+        Called from PROJECT_FILE.i:469.
 [value] Done for function __gmpz_cmp
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:470.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:471.
 [value] Done for function __gmpz_clear
@@ -421,124 +340,97 @@ PROJECT_FILE.i:410:[value] assigning non deterministic value for the first time
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:473.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:474.
+[value] Done for function __gmpz_clear
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:475.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:476.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
-[value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:477.
-[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:478.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
         Called from PROJECT_FILE.i:479.
 [value] Done for function __gmpz_clear
+[value] computing for function __gmpz_clear <- main.
+        Called from PROJECT_FILE.i:480.
+[value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:488.
+        Called from PROJECT_FILE.i:489.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:489.
+        Called from PROJECT_FILE.i:490.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:490.
+        Called from PROJECT_FILE.i:491.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:491.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:492.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:492.
+        Called from PROJECT_FILE.i:493.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:493.
+        Called from PROJECT_FILE.i:494.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:499.
+        Called from PROJECT_FILE.i:500.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:500.
+        Called from PROJECT_FILE.i:501.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:501.
+        Called from PROJECT_FILE.i:502.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:502.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:503.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:503.
+        Called from PROJECT_FILE.i:504.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:504.
+        Called from PROJECT_FILE.i:505.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:519.
+        Called from PROJECT_FILE.i:520.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:520.
+        Called from PROJECT_FILE.i:521.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:521.
+        Called from PROJECT_FILE.i:522.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:522.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:523.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:523.
+        Called from PROJECT_FILE.i:524.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:524.
+        Called from PROJECT_FILE.i:525.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:528.
+        Called from PROJECT_FILE.i:529.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:529.
+        Called from PROJECT_FILE.i:530.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:530.
+        Called from PROJECT_FILE.i:531.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:531.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:532.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:532.
+        Called from PROJECT_FILE.i:533.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:533.
+        Called from PROJECT_FILE.i:534.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -585,9 +477,10 @@ extern void __gmpz_add(__mpz_struct * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -612,7 +505,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition",
                   (char *)"(x == 1)",9);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
@@ -631,12 +524,12 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2);
     __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_6 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Postcondition",
                   (char *)"(x == 2)",12);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)y);
     __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7),
                                 (__mpz_struct const *)(__e_acsl_var_5));
-    e_acsl_assert(! (__e_acsl_var_8 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Postcondition",
                   (char *)"(y == 2)",13);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_4));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_5));
@@ -652,7 +545,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)2);
     __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9),
                                  (__mpz_struct const *)(__e_acsl_var_10));
-    e_acsl_assert(! (__e_acsl_var_11 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_11 == 0,(char *)"Precondition",
                   (char *)"(x == 2)",16);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_9));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_10));
@@ -672,13 +565,13 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)3);
     __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_12),
                                  (__mpz_struct const *)(__e_acsl_var_13));
-    e_acsl_assert(! (__e_acsl_var_14 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_14 == 0,(char *)"Precondition",
                   (char *)"(x == 3)",19);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)y);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)2);
     __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_15),
                                  (__mpz_struct const *)(__e_acsl_var_16));
-    e_acsl_assert(! (__e_acsl_var_17 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Precondition",
                   (char *)"(y == 2)",20);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_12));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_13));
@@ -719,7 +612,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)5);
       __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                    (__mpz_struct const *)(__e_acsl_var_19));
-      e_acsl_assert(! (__e_acsl_var_20 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Precondition",
                     (char *)"(x == 5)",24);
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)3);
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)y);
@@ -729,12 +622,12 @@ int main(void)
                  (__mpz_struct const *)(__e_acsl_var_22));
       __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18),
                                    (__mpz_struct const *)(__e_acsl_var_23));
-      e_acsl_assert(! (__e_acsl_var_24 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_24 == 0,(char *)"Precondition",
                     (char *)"(x == 3+y)",27);
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)2);
       __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22),
                                    (__mpz_struct const *)(__e_acsl_var_25));
-      e_acsl_assert(! (__e_acsl_var_26 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Precondition",
                     (char *)"(y == 2)",28);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_18));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_19));
@@ -749,7 +642,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)3);
     __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27),
                                  (__mpz_struct const *)(__e_acsl_var_28));
-    e_acsl_assert(! (__e_acsl_var_29 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Postcondition",
                   (char *)"(x == 3)",25);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)y);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)1);
@@ -759,7 +652,7 @@ int main(void)
                (__mpz_struct const *)(__e_acsl_var_31));
     __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27),
                                  (__mpz_struct const *)(__e_acsl_var_32));
-    e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Postcondition",
                   (char *)"(x == y+1)",29);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_27));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_28));
@@ -808,7 +701,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_37));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_38));
     }
-    e_acsl_assert(! __e_acsl_var_40,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_40,(char *)"Precondition",
                   (char *)"(x == 1 ==> x == 0)",34);
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_41),(long)3);
     __e_acsl_var_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
@@ -839,7 +732,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_47));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_48));
     }
-    e_acsl_assert(! __e_acsl_var_50,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_50,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x == 3)",38);
     __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34),
                                  (__mpz_struct const *)(__e_acsl_var_41));
@@ -878,7 +771,7 @@ int main(void)
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_58));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_59));
     }
-    e_acsl_assert(! __e_acsl_var_61,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_61,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x+y == 5)",39);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_34));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_35));
@@ -895,7 +788,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)5);
     __e_acsl_var_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_62),
                                  (__mpz_struct const *)(__e_acsl_var_63));
-    e_acsl_assert(! (__e_acsl_var_64 == 0),(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_64 == 0,(char *)"Precondition",
                   (char *)"(x == 5)",42);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_62));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_63));
@@ -908,7 +801,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_66),(long)2);
       __e_acsl_var_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_65),
                                    (__mpz_struct const *)(__e_acsl_var_66));
-      e_acsl_assert(! (__e_acsl_var_67 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_67 == 0,(char *)"Precondition",
                     (char *)"(y == 2)",43);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_65));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_66));
@@ -930,7 +823,7 @@ int main(void)
       __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_69),(long)7);
       __e_acsl_var_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_68),
                                    (__mpz_struct const *)(__e_acsl_var_69));
-      e_acsl_assert(! (__e_acsl_var_70 == 0),(char *)"Precondition",
+      e_acsl_assert(__e_acsl_var_70 == 0,(char *)"Precondition",
                     (char *)"(x == 7)",46);
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_68));
       __gmpz_clear((__mpz_struct *)(__e_acsl_var_69));
@@ -941,7 +834,7 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_72),(long)7);
     __e_acsl_var_73 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_71),
                                  (__mpz_struct const *)(__e_acsl_var_72));
-    e_acsl_assert(! (__e_acsl_var_73 == 0),(char *)"Postcondition",
+    e_acsl_assert(__e_acsl_var_73 == 0,(char *)"Postcondition",
                   (char *)"(x == 7)",47);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_71));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_72));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle
index c6eb51fa5722502b569b136721639aaa7879a642..3cab7e2a66b80951487ca06f2a19a43b1617e7d1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle
@@ -3,11 +3,8 @@
 [value] Initial state computed
 [value] Values of globals at initialization
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:238.
-[value] Recording results for e_acsl_assert
-[value] Done for function e_acsl_assert
-[value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:239.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
@@ -15,11 +12,11 @@
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:249.
+        Called from PROJECT_FILE.i:246.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:253.
+        Called from PROJECT_FILE.i:250.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
@@ -27,7 +24,7 @@
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:267.
+        Called from PROJECT_FILE.i:255.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
@@ -35,11 +32,11 @@
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:270.
+        Called from PROJECT_FILE.i:269.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:272.
+        Called from PROJECT_FILE.i:271.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
@@ -47,31 +44,35 @@
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:296.
+        Called from PROJECT_FILE.i:274.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:301.
+        Called from PROJECT_FILE.i:297.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:307.
+        Called from PROJECT_FILE.i:302.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:313.
+        Called from PROJECT_FILE.i:308.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:315.
+        Called from PROJECT_FILE.i:314.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:320.
+        Called from PROJECT_FILE.i:316.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:322.
+        Called from PROJECT_FILE.i:321.
+[value] Recording results for e_acsl_assert
+[value] Done for function e_acsl_assert
+[value] computing for function e_acsl_assert <- main.
+        Called from PROJECT_FILE.i:323.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -89,9 +90,10 @@
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -107,26 +109,25 @@ int main(void)
   x = 0;
   y = 2;
   /*@ ensures x ≡ 1; */
-  {
-    x = 1;
-    e_acsl_assert(! (x == 1),(char *)"Postcondition",(char *)"(x == 1)",9);
+  { x = 1;
+    e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"(x == 1)",9);
   }
   
   /*@ ensures x ≡ 2;
       ensures y ≡ 2; */
   {
     x = 2;
-    e_acsl_assert(! (x == 2),(char *)"Postcondition",(char *)"(x == 2)",12);
-    e_acsl_assert(! (y == 2),(char *)"Postcondition",(char *)"(y == 2)",13);
+    e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"(x == 2)",12);
+    e_acsl_assert(y == 2,(char *)"Postcondition",(char *)"(y == 2)",13);
   }
   
   /*@ requires x ≡ 2; */
-  e_acsl_assert(! (x == 2),(char *)"Precondition",(char *)"(x == 2)",16);
+  e_acsl_assert(x == 2,(char *)"Precondition",(char *)"(x == 2)",16);
   x ++;
   /*@ requires x ≡ 3;
       requires y ≡ 2; */
-  e_acsl_assert(! (x == 3),(char *)"Precondition",(char *)"(x == 3)",19);
-  e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",20);
+  e_acsl_assert(x == 3,(char *)"Precondition",(char *)"(x == 3)",19);
+  e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",20);
   x += y;
   /*@ behavior b1:
         requires x ≡ 5;
@@ -139,13 +140,13 @@ int main(void)
         
   */
   {
-    e_acsl_assert(! (x == 5),(char *)"Precondition",(char *)"(x == 5)",24);
-    e_acsl_assert(! ((long long)x == (long long)3 + (long long)y),
+    e_acsl_assert(x == 5,(char *)"Precondition",(char *)"(x == 5)",24);
+    e_acsl_assert((long long)x == (long long)3 + (long long)y,
                   (char *)"Precondition",(char *)"(x == 3+y)",27);
-    e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",28);
+    e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",28);
     x = 3;
-    e_acsl_assert(! (x == 3),(char *)"Postcondition",(char *)"(x == 3)",25);
-    e_acsl_assert(! ((long long)x == (long long)y + (long long)1),
+    e_acsl_assert(x == 3,(char *)"Postcondition",(char *)"(x == 3)",25);
+    e_acsl_assert((long long)x == (long long)y + (long long)1,
                   (char *)"Postcondition",(char *)"(x == y+1)",29);
   }
   
@@ -168,34 +169,34 @@ int main(void)
     int __e_acsl_var_5;
     if (! (x == 1)) { __e_acsl_var = 1; }
     else { __e_acsl_var = x == 0; }
-    e_acsl_assert(! __e_acsl_var,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var,(char *)"Precondition",
                   (char *)"(x == 1 ==> x == 0)",34);
     if (x == 3) { __e_acsl_var_2 = y == 2; }
     else { __e_acsl_var_2 = 0; }
     if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; }
     else { __e_acsl_var_3 = x == 3; }
-    e_acsl_assert(! __e_acsl_var_3,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_3,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x == 3)",38);
     if (x == 3) { __e_acsl_var_4 = y == 2; }
     else { __e_acsl_var_4 = 0; }
     if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; }
     else { __e_acsl_var_5 = (long long)x + (long long)y == (long long)5; }
-    e_acsl_assert(! __e_acsl_var_5,(char *)"Precondition",
+    e_acsl_assert(__e_acsl_var_5,(char *)"Precondition",
                   (char *)"(x == 3 && y == 2 ==> x+y == 5)",39);
     x += y;
   }
   
   /*@ requires x ≡ 5; */
-  e_acsl_assert(! (x == 5),(char *)"Precondition",(char *)"(x == 5)",42);
+  e_acsl_assert(x == 5,(char *)"Precondition",(char *)"(x == 5)",42);
   /*@ requires y ≡ 2; */
-  e_acsl_assert(! (y == 2),(char *)"Precondition",(char *)"(y == 2)",43);
+  e_acsl_assert(y == 2,(char *)"Precondition",(char *)"(y == 2)",43);
   x += y;
   /*@ requires x ≡ 7;
       ensures x ≡ 7; */
   {
-    e_acsl_assert(! (x == 7),(char *)"Precondition",(char *)"(x == 7)",46);
+    e_acsl_assert(x == 7,(char *)"Precondition",(char *)"(x == 7)",46);
     __retres = 0;
-    e_acsl_assert(! (x == 7),(char *)"Postcondition",(char *)"(x == 7)",47);
+    e_acsl_assert(x == 7,(char *)"Postcondition",(char *)"(x == 7)",47);
   }
   
   return (__retres);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle
index a5bfbd3ed539f635b395b0f4810616f03687746a..33190956028542ba90e005e2b29c30c44f25dff5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -21,9 +22,10 @@ PROJECT_FILE.i:234:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,7 +39,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert \true; */ ;
-  e_acsl_assert(0,(char *)"Assertion",(char *)"(\\true)",9);
+  e_acsl_assert(1,(char *)"Assertion",(char *)"(\\true)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle
index a5bfbd3ed539f635b395b0f4810616f03687746a..33190956028542ba90e005e2b29c30c44f25dff5 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:234:[value] Assertion got status valid.
+PROJECT_FILE.i:235:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:235.
+        Called from PROJECT_FILE.i:236.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -21,9 +22,10 @@ PROJECT_FILE.i:234:[value] Assertion got status valid.
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -37,7 +39,7 @@ int main(void)
   int x;
   x = 0;
   /*@ assert \true; */ ;
-  e_acsl_assert(0,(char *)"Assertion",(char *)"(\\true)",9);
+  e_acsl_assert(1,(char *)"Assertion",(char *)"(\\true)",9);
   __retres = 0;
   return (__retres);
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
index 4c419a07f7e93ec9e4ee55d0699043646c274250..dd6698bb3bc52d8cb85914ea42c88c9f8bbc72ed 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
@@ -2,37 +2,31 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:235:[value] Assertion got status valid.
+PROJECT_FILE.i:236:[value] Assertion got status valid.
 [value] computing for function __gmpz_init_set_ui <- main.
-        Called from PROJECT_FILE.i:240.
+        Called from PROJECT_FILE.i:241.
 PROJECT_FILE.i:78:[value] Function __gmpz_init_set_ui: postcondition got status valid.
 [value] Done for function __gmpz_init_set_ui
 [value] computing for function __gmpz_init_set_si <- main.
-        Called from PROJECT_FILE.i:241.
+        Called from PROJECT_FILE.i:242.
 PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid.
 [value] Done for function __gmpz_init_set_si
 [value] computing for function __gmpz_cmp <- main.
-        Called from PROJECT_FILE.i:242.
+        Called from PROJECT_FILE.i:243.
 PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid.
 PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid.
 [value] Done for function __gmpz_cmp
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:243.
-[value] computing for function printf <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:223.
-[value] Done for function printf
-[value] computing for function exit <- e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:225.
-PROJECT_FILE.i:211:[value] Function exit: postcondition got status invalid.
-[value] Done for function exit
+        Called from PROJECT_FILE.i:244.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:244.
+        Called from PROJECT_FILE.i:245.
 PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid.
 [value] Done for function __gmpz_clear
 [value] computing for function __gmpz_clear <- main.
-        Called from PROJECT_FILE.i:245.
+        Called from PROJECT_FILE.i:246.
 [value] Done for function __gmpz_clear
 [value] Recording results for main
 [value] done for function main
@@ -72,9 +66,10 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -96,8 +91,8 @@ int main(void)
     __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0);
     __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var),
                                 (__mpz_struct const *)(__e_acsl_var_2));
-    e_acsl_assert(! (__e_acsl_var_3 == 0),(char *)"Assertion",
-                  (char *)"(x == 0)",11);
+    e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)",
+                  11);
     __gmpz_clear((__mpz_struct *)(__e_acsl_var));
     __gmpz_clear((__mpz_struct *)(__e_acsl_var_2));
   }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle
index a9c72ae557ade60e130b605860df2dcfe0841b44..c46b994892b42b98015da0fe783ab59a81e567b2 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle
@@ -2,9 +2,10 @@
 [value] Computing initial state
 [value] Initial state computed
 [value] Values of globals at initialization
-PROJECT_FILE.i:235:[value] Assertion got status valid.
+PROJECT_FILE.i:236:[value] Assertion got status valid.
 [value] computing for function e_acsl_assert <- main.
-        Called from PROJECT_FILE.i:236.
+        Called from PROJECT_FILE.i:237.
+PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid.
 [value] Recording results for e_acsl_assert
 [value] Done for function e_acsl_assert
 [value] Recording results for main
@@ -22,9 +23,10 @@ typedef unsigned char uint8;
 extern void exit(int status);
 /*@ assigns \nothing;  */
 extern int printf(char const * , ...);
+/*@ requires predicate ≢ 0;  */
 void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
 {
-  if (predicate) {
+  if (! predicate) {
     printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
            line,pred_txt);
     exit(1);
@@ -38,7 +40,7 @@ int main(void)
   uint8 x;
   x = (unsigned char)0;
   /*@ assert x ≡ 0; */ ;
-  e_acsl_assert(! ((int)x == 0),(char *)"Assertion",(char *)"(x == 0)",11);
+  e_acsl_assert((int)x == 0,(char *)"Assertion",(char *)"(x == 0)",11);
   __retres = 0;
   return (__retres);
 }