diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
index d162a6aa8af1d3950d49a402bad992c1dd71b1b4..a6aaa2ac124cf324726b9b0de001107670a74dd3 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
@@ -1,4 +1,5 @@
 /* Generated by Frama-C */
+#include "stdio.h"
 #include "stdlib.h"
 char *__gen_e_acsl_literal_string;
 char *__gen_e_acsl_literal_string_2;
@@ -15,17 +16,6 @@ char *__gen_e_acsl_literal_string_2;
  */
 void *__gen_e_acsl_memchr(void const *buf, int c, size_t n);
 
-/*@ behavior exists:
-      assumes ∃ ℤ i; 0 ≤ i < (int)n ∧ (int)*((char *)buf + i) ≡ c;
-      ensures
-        ∀ int j;
-          0 ≤ j < (int)\offset((char *)\result) ⇒
-          (int)*((char *)\old(buf) + j) ≢ \old(c);
-    
-    behavior not_exists:
-      assumes ∀ ℤ k; 0 ≤ k < (int)n ⇒ (int)*((char *)buf + k) ≢ c;
-      ensures \result ≡ (void *)0;
- */
 void *memchr(void const *buf, int c, size_t n)
 {
   void *__retres;
@@ -37,7 +27,7 @@ void *memchr(void const *buf, int c, size_t n)
   __e_acsl_full_init((void *)(& s));
   i = 0;
   while ((size_t)i < n) {
-    /*@ assert Value: mem_access: \valid_read(s); */
+    /*@ assert Eva: mem_access: \valid_read(s); */
     if ((int)*s == c) {
       __e_acsl_full_init((void *)(& __retres));
       __retres = (void *)s;
@@ -50,10 +40,12 @@ void *memchr(void const *buf, int c, size_t n)
   __e_acsl_full_init((void *)(& __retres));
   __retres = (void *)0;
   return_label:
+  {
     __e_acsl_delete_block((void *)(& buf));
     __e_acsl_delete_block((void *)(& s));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
+  }
 }
 
 /*@ behavior exists:
@@ -75,14 +67,14 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
   int __gen_e_acsl_at;
   void *__retres;
   __e_acsl_store_block((void *)(& __retres),(size_t)8);
-  __e_acsl_store_block((void *)(& buf),(size_t)8);
   {
     int __gen_e_acsl_forall_2;
     unsigned int __gen_e_acsl_k;
     __gen_e_acsl_forall_2 = 1;
     __gen_e_acsl_k = 0U;
     while (1) {
-      if (__gen_e_acsl_k < (int)((unsigned int)n)) ; else break;
+      if (__gen_e_acsl_k < (unsigned int)((int)((unsigned int)n))) ;
+      else break;
       {
         int __gen_e_acsl_valid_read_3;
         __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_k),
@@ -92,7 +84,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
         __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
                         (char *)"memchr",
                         (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_k)",
-                        11);
+                        12);
         if ((int)*((char *)buf + __gen_e_acsl_k) != c) ;
         else {
           __gen_e_acsl_forall_2 = 0;
@@ -112,7 +104,8 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
     __gen_e_acsl_exists = 0;
     __gen_e_acsl_i = 0U;
     while (1) {
-      if (__gen_e_acsl_i < (int)((unsigned int)n)) ; else break;
+      if (__gen_e_acsl_i < (unsigned int)((int)((unsigned int)n))) ;
+      else break;
       {
         int __gen_e_acsl_valid_read;
         __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_i),
@@ -122,7 +115,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
         __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",
                         (char *)"memchr",
                         (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_i)",
-                        8);
+                        9);
         if (! ((int)*((char *)buf + __gen_e_acsl_i) == c)) ;
         else {
           __gen_e_acsl_exists = 1;
@@ -134,6 +127,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
     e_acsl_end_loop1: ;
     __gen_e_acsl_at = __gen_e_acsl_exists;
   }
+  __e_acsl_store_block((void *)(& buf),(size_t)8);
   __retres = memchr(buf,c,n);
   {
     int __gen_e_acsl_implies;
@@ -146,9 +140,9 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
       __gen_e_acsl_j = 0;
       while (1) {
         {
-          int __gen_e_acsl_offset;
+          unsigned long __gen_e_acsl_offset;
           __gen_e_acsl_offset = __e_acsl_offset(__retres);
-          if (__gen_e_acsl_j < (int)((unsigned int)__gen_e_acsl_offset)) 
+          if (__gen_e_acsl_j < (unsigned int)((int)((unsigned int)__gen_e_acsl_offset))) 
             ;
           else break;
         }
@@ -161,7 +155,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
           __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
                           (char *)"memchr",
                           (char *)"mem_access: \\valid_read((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j)",
-                          9);
+                          10);
           if ((int)*((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j) != __gen_e_acsl_at_3) 
             ;
           else {
@@ -177,13 +171,13 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
     __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",
                     (char *)"memchr",
                     (char *)"\\old(\\exists integer i; 0 <= i < (int)n && (int)*((char *)buf + i) == c) ==>\n(\\forall int j;\n   0 <= j < (int)\\offset((char *)\\result) ==>\n   (int)*((char *)\\old(buf) + j) != \\old(c))",
-                    9);
+                    10);
     if (! __gen_e_acsl_at_4) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = __retres == (void *)0;
     __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
                     (char *)"memchr",
                     (char *)"\\old(\\forall integer k; 0 <= k < (int)n ==> (int)*((char *)buf + k) != c) ==>\n\\result == (void *)0",
-                    12);
+                    13);
     __e_acsl_delete_block((void *)(& buf));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c
index b8e45500b0367862bcf1497c46db6e9c5ef19d3e..a8006861e6c56233ae4e40b9ceb6d3d62bbb4183 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c
@@ -14,6 +14,8 @@ int fact(int n)
   }
   tmp = __gen_e_acsl_fact(n - 1);
   ;
+  /*@ assert Eva: signed_overflow: -2147483648 ≤ n * tmp; */
+  /*@ assert Eva: signed_overflow: n * tmp ≤ 2147483647; */
   __retres = n * tmp;
   return_label: return __retres;
 }
@@ -25,7 +27,7 @@ int main(void)
   int x = __gen_e_acsl_fact(5);
   /*@ assert x ≡ 120; */
   __e_acsl_assert(x == 120,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 120",13);
+                  (char *)"x == 120",14);
   __retres = 0;
   return __retres;
 }
@@ -35,7 +37,7 @@ int __gen_e_acsl_fact(int n)
 {
   int __retres;
   __e_acsl_assert(n > 0,(char *)"Precondition",(char *)"fact",
-                  (char *)"n > 0",5);
+                  (char *)"n > 0",6);
   __retres = fact(n);
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
index f4b14fd603b479d80dbb90585b1d1ee98c79546a..071c1a1276c9fe851a6b108888e5e75a49628956 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
@@ -1,4 +1,6 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 struct spongeStateStruct {
    unsigned char __attribute__((__aligned__(32))) state[1600 / 8] ;
    unsigned char __attribute__((__aligned__(32))) dataQueue[1536 / 8] ;
@@ -8,29 +10,30 @@ typedef struct spongeStateStruct spongeState;
 int main(void)
 {
   int __retres;
-  spongeState *state;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
-  __e_acsl_store_block((void *)(& state),8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  spongeState *state = malloc(sizeof(spongeState));
+  __e_acsl_store_block((void *)(& state),(size_t)8);
   __e_acsl_full_init((void *)(& state));
-  state = (spongeState *)malloc(sizeof(spongeState));
   __e_acsl_initialize((void *)(& state->bitsInQueue),sizeof(unsigned int));
   state->bitsInQueue = (unsigned int)16;
-  /*@ assert ¬\initialized(&state->dataQueue[state->bitsInQueue/8]); */
+  /*@ assert ¬\initialized(&state->dataQueue[state->bitsInQueue / 8]); */
   {
     int __gen_e_acsl_valid_read;
     int __gen_e_acsl_initialized;
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& state->bitsInQueue),
-                                                  sizeof(unsigned int));
+                                                  sizeof(unsigned int),
+                                                  (void *)(& state->bitsInQueue),
+                                                  (void *)0);
     __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
                     (char *)"mem_access: \\valid_read(&state->bitsInQueue)",
                     22);
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& state->dataQueue[
-                                                    state->bitsInQueue / 8UL]),
+                                                    state->bitsInQueue / 8U]),
                                                     sizeof(unsigned char __attribute__((
                                                     __aligned__(32)))));
     __e_acsl_assert(! __gen_e_acsl_initialized,(char *)"Assertion",
                     (char *)"main",
-                    (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue/8])",
+                    (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue / 8])",
                     22);
   }
   free((void *)state);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c
index a3e45b4666eae33e8c90343149e96681333c9ca2..e5f0d771cd64e8662ae052d763d753d3bbc244e6 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c
@@ -1,30 +1,31 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int T1[3];
 int T2[4];
 int main(void)
 {
   int __retres;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   {
-    int i;
-    i = 0;
+    int i = 0;
     while (i < 3) {
       T1[i] = i;
       i ++;
     }
   }
   {
-    int i_0;
-    i_0 = 0;
+    int i_0 = 0;
     while (i_0 < 4) {
       T2[i_0] = 2 * i_0;
       i_0 ++;
     }
   }
   /*@ assert T1[0] ≡ T2[0]; */
-  __e_acsl_assert(T1[0UL] == T2[0UL],(char *)"Assertion",(char *)"main",
+  __e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",(char *)"main",
                   (char *)"T1[0] == T2[0]",13);
   /*@ assert T1[1] ≢ T2[1]; */
-  __e_acsl_assert(T1[1UL] != T2[1UL],(char *)"Assertion",(char *)"main",
+  __e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",(char *)"main",
                   (char *)"T1[1] != T2[1]",14);
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c
index 8b57d232ff6f7e266949eb4ff2c34cf98f97c0db..6f61fb210e9cf50361b4e61d509f2f193f589969 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c
@@ -1,20 +1,21 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int T1[3];
 int T2[4];
 int main(void)
 {
   int __retres;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   {
-    int i;
-    i = 0;
+    int i = 0;
     while (i < 3) {
       T1[i] = i;
       i ++;
     }
   }
   {
-    int i_0;
-    i_0 = 0;
+    int i_0 = 0;
     while (i_0 < 4) {
       T2[i_0] = 2 * i_0;
       i_0 ++;
@@ -22,13 +23,13 @@ int main(void)
   }
   /*@ assert T1[0] ≡ T2[0]; */
   {
-    mpz_t __gen_e_acsl_;
-    mpz_t __gen_e_acsl__2;
+    __e_acsl_mpz_t __gen_e_acsl_;
+    __e_acsl_mpz_t __gen_e_acsl__2;
     int __gen_e_acsl_eq;
-    __gmpz_init_set_si(__gen_e_acsl_,(long)T1[0UL]);
-    __gmpz_init_set_si(__gen_e_acsl__2,(long)T2[0UL]);
-    __gen_e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_),
-                                 (__mpz_struct const *)(__gen_e_acsl__2));
+    __gmpz_init_set_si(__gen_e_acsl_,(long)T1[0]);
+    __gmpz_init_set_si(__gen_e_acsl__2,(long)T2[0]);
+    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
                     (char *)"T1[0] == T2[0]",13);
     __gmpz_clear(__gen_e_acsl_);
@@ -36,13 +37,13 @@ int main(void)
   }
   /*@ assert T1[1] ≢ T2[1]; */
   {
-    mpz_t __gen_e_acsl__3;
-    mpz_t __gen_e_acsl__4;
+    __e_acsl_mpz_t __gen_e_acsl__3;
+    __e_acsl_mpz_t __gen_e_acsl__4;
     int __gen_e_acsl_ne;
-    __gmpz_init_set_si(__gen_e_acsl__3,(long)T1[1UL]);
-    __gmpz_init_set_si(__gen_e_acsl__4,(long)T2[1UL]);
-    __gen_e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl__3),
-                                 (__mpz_struct const *)(__gen_e_acsl__4));
+    __gmpz_init_set_si(__gen_e_acsl__3,(long)T1[1]);
+    __gmpz_init_set_si(__gen_e_acsl__4,(long)T2[1]);
+    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
     __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
                     (char *)"T1[1] != T2[1]",14);
     __gmpz_clear(__gen_e_acsl__3);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c
index f3859df710c5ee042defc15cf8f8d46d6767486e..2518d42c41aaf084e4a2bc70af463fd0d9911d9f 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c
@@ -1,11 +1,12 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int main(void)
 {
   int __retres;
-  long x;
-  int y;
-  x = (long)0;
-  y = 0;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  long x = (long)0;
+  int y = 0;
   /*@ assert (int)x ≡ y; */
   __e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"main",
                   (char *)"(int)x == y",10);
@@ -26,6 +27,10 @@ int main(void)
                   (char *)"main",
                   (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
                   18);
+  int t[2] = {0, 1};
+  /*@ assert (float)x ≡ t[(int)0.1]; */
+  __e_acsl_assert((float)x == (float)t[0],(char *)"Assertion",(char *)"main",
+                  (char *)"(float)x == t[(int)0.1]",23);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c
index f29b5dd326373504c968abef22018576826eaf99..b511e029f6290b2ac2e392a2efe3059d650497c3 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c
@@ -1,24 +1,25 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int main(void)
 {
   int __retres;
-  long x;
-  int y;
-  x = (long)0;
-  y = 0;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  long x = (long)0;
+  int y = 0;
   /*@ assert (int)x ≡ y; */
   {
-    mpz_t __gen_e_acsl_x;
-    unsigned long __gen_e_acsl_cast;
-    mpz_t __gen_e_acsl_;
-    mpz_t __gen_e_acsl_y;
+    __e_acsl_mpz_t __gen_e_acsl_x;
+    long __gen_e_acsl_cast;
+    __e_acsl_mpz_t __gen_e_acsl_;
+    __e_acsl_mpz_t __gen_e_acsl_y;
     int __gen_e_acsl_eq;
     __gmpz_init_set_si(__gen_e_acsl_x,x);
-    __gen_e_acsl_cast = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl_x));
-    __gmpz_init_set_ui(__gen_e_acsl_,__gen_e_acsl_cast);
+    __gen_e_acsl_cast = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_x));
+    __gmpz_init_set_si(__gen_e_acsl_,__gen_e_acsl_cast);
     __gmpz_init_set_si(__gen_e_acsl_y,(long)y);
-    __gen_e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_),
-                                 (__mpz_struct const *)(__gen_e_acsl_y));
+    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_y));
     __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
                     (char *)"(int)x == y",10);
     __gmpz_clear(__gen_e_acsl_x);
@@ -27,17 +28,17 @@ int main(void)
   }
   /*@ assert x ≡ (long)y; */
   {
-    mpz_t __gen_e_acsl_x_2;
-    mpz_t __gen_e_acsl_y_2;
-    unsigned long __gen_e_acsl_cast_2;
-    mpz_t __gen_e_acsl__2;
+    __e_acsl_mpz_t __gen_e_acsl_x_2;
+    __e_acsl_mpz_t __gen_e_acsl_y_2;
+    long __gen_e_acsl_cast_2;
+    __e_acsl_mpz_t __gen_e_acsl__2;
     int __gen_e_acsl_eq_2;
     __gmpz_init_set_si(__gen_e_acsl_x_2,x);
     __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y);
-    __gen_e_acsl_cast_2 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl_y_2));
-    __gmpz_init_set_ui(__gen_e_acsl__2,__gen_e_acsl_cast_2);
-    __gen_e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_x_2),
-                                   (__mpz_struct const *)(__gen_e_acsl__2));
+    __gen_e_acsl_cast_2 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2));
+    __gmpz_init_set_si(__gen_e_acsl__2,__gen_e_acsl_cast_2);
+    __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
+                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",
                     (char *)"main",(char *)"x == (long)y",11);
     __gmpz_clear(__gen_e_acsl_x_2);
@@ -46,17 +47,17 @@ int main(void)
   }
   /*@ assert y ≡ (int)0; */
   {
-    mpz_t __gen_e_acsl_y_3;
-    mpz_t __gen_e_acsl__3;
-    unsigned long __gen_e_acsl_cast_3;
-    mpz_t __gen_e_acsl__4;
+    __e_acsl_mpz_t __gen_e_acsl_y_3;
+    __e_acsl_mpz_t __gen_e_acsl__3;
+    long __gen_e_acsl_cast_3;
+    __e_acsl_mpz_t __gen_e_acsl__4;
     int __gen_e_acsl_eq_3;
     __gmpz_init_set_si(__gen_e_acsl_y_3,(long)y);
     __gmpz_init_set_si(__gen_e_acsl__3,0L);
-    __gen_e_acsl_cast_3 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl__3));
-    __gmpz_init_set_ui(__gen_e_acsl__4,__gen_e_acsl_cast_3);
-    __gen_e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_y_3),
-                                   (__mpz_struct const *)(__gen_e_acsl__4));
+    __gen_e_acsl_cast_3 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
+    __gmpz_init_set_si(__gen_e_acsl__4,__gen_e_acsl_cast_3);
+    __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_3),
+                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
     __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",
                     (char *)"main",(char *)"y == (int)0",13);
     __gmpz_clear(__gen_e_acsl_y_3);
@@ -65,21 +66,21 @@ int main(void)
   }
   /*@ assert (unsigned int)y ≡ (unsigned int)0; */
   {
-    mpz_t __gen_e_acsl_y_4;
+    __e_acsl_mpz_t __gen_e_acsl_y_4;
     unsigned long __gen_e_acsl_cast_4;
-    mpz_t __gen_e_acsl__5;
-    mpz_t __gen_e_acsl__6;
+    __e_acsl_mpz_t __gen_e_acsl__5;
+    __e_acsl_mpz_t __gen_e_acsl__6;
     unsigned long __gen_e_acsl_cast_5;
-    mpz_t __gen_e_acsl__7;
+    __e_acsl_mpz_t __gen_e_acsl__7;
     int __gen_e_acsl_eq_4;
     __gmpz_init_set_si(__gen_e_acsl_y_4,(long)y);
-    __gen_e_acsl_cast_4 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl_y_4));
+    __gen_e_acsl_cast_4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_4));
     __gmpz_init_set_ui(__gen_e_acsl__5,__gen_e_acsl_cast_4);
     __gmpz_init_set_si(__gen_e_acsl__6,0L);
-    __gen_e_acsl_cast_5 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl__6));
+    __gen_e_acsl_cast_5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl__6));
     __gmpz_init_set_ui(__gen_e_acsl__7,__gen_e_acsl_cast_5);
-    __gen_e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl__5),
-                                   (__mpz_struct const *)(__gen_e_acsl__7));
+    __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__5),
+                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__7));
     __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion",
                     (char *)"main",
                     (char *)"(unsigned int)y == (unsigned int)0",14);
@@ -90,17 +91,17 @@ int main(void)
   }
   /*@ assert y ≢ (int)0xfffffffffffffff; */
   {
-    mpz_t __gen_e_acsl_y_5;
-    mpz_t __gen_e_acsl__8;
-    unsigned long __gen_e_acsl_cast_6;
-    mpz_t __gen_e_acsl__9;
+    __e_acsl_mpz_t __gen_e_acsl_y_5;
+    __e_acsl_mpz_t __gen_e_acsl__8;
+    long __gen_e_acsl_cast_6;
+    __e_acsl_mpz_t __gen_e_acsl__9;
     int __gen_e_acsl_ne;
     __gmpz_init_set_si(__gen_e_acsl_y_5,(long)y);
     __gmpz_init_set_ui(__gen_e_acsl__8,1152921504606846975UL);
-    __gen_e_acsl_cast_6 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl__8));
-    __gmpz_init_set_ui(__gen_e_acsl__9,__gen_e_acsl_cast_6);
-    __gen_e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_y_5),
-                                 (__mpz_struct const *)(__gen_e_acsl__9));
+    __gen_e_acsl_cast_6 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl__8));
+    __gmpz_init_set_si(__gen_e_acsl__9,__gen_e_acsl_cast_6);
+    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_5),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__9));
     __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
                     (char *)"y != (int)0xfffffffffffffff",17);
     __gmpz_clear(__gen_e_acsl_y_5);
@@ -109,21 +110,21 @@ int main(void)
   }
   /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */
   {
-    mpz_t __gen_e_acsl_y_6;
+    __e_acsl_mpz_t __gen_e_acsl_y_6;
     unsigned long __gen_e_acsl_cast_7;
-    mpz_t __gen_e_acsl__10;
-    mpz_t __gen_e_acsl__11;
+    __e_acsl_mpz_t __gen_e_acsl__10;
+    __e_acsl_mpz_t __gen_e_acsl__11;
     unsigned long __gen_e_acsl_cast_8;
-    mpz_t __gen_e_acsl__12;
+    __e_acsl_mpz_t __gen_e_acsl__12;
     int __gen_e_acsl_ne_2;
     __gmpz_init_set_si(__gen_e_acsl_y_6,(long)y);
-    __gen_e_acsl_cast_7 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl_y_6));
+    __gen_e_acsl_cast_7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_6));
     __gmpz_init_set_ui(__gen_e_acsl__10,__gen_e_acsl_cast_7);
     __gmpz_init_set_ui(__gen_e_acsl__11,1152921504606846975UL);
-    __gen_e_acsl_cast_8 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl__11));
+    __gen_e_acsl_cast_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl__11));
     __gmpz_init_set_ui(__gen_e_acsl__12,__gen_e_acsl_cast_8);
-    __gen_e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl__10),
-                                   (__mpz_struct const *)(__gen_e_acsl__12));
+    __gen_e_acsl_ne_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__10),
+                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__12));
     __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion",
                     (char *)"main",
                     (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
@@ -133,6 +134,39 @@ int main(void)
     __gmpz_clear(__gen_e_acsl__11);
     __gmpz_clear(__gen_e_acsl__12);
   }
+  int t[2] = {0, 1};
+  /*@ assert (float)x ≡ t[(int)0.1]; */
+  {
+    __e_acsl_mpz_t __gen_e_acsl__13;
+    long __gen_e_acsl_cast_9;
+    __e_acsl_mpz_t __gen_e_acsl___gen_e_acsl_cast_9;
+    __e_acsl_mpz_t __gen_e_acsl__14;
+    int __gen_e_acsl_lt;
+    __e_acsl_mpz_t __gen_e_acsl__15;
+    int __gen_e_acsl_le;
+    __gmpz_init_set_si(__gen_e_acsl__13,(long)0.1);
+    __gen_e_acsl_cast_9 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl__13));
+    __gmpz_init_set_si(__gen_e_acsl___gen_e_acsl_cast_9,__gen_e_acsl_cast_9);
+    __gmpz_init_set_si(__gen_e_acsl__14,2L);
+    __gen_e_acsl_lt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl___gen_e_acsl_cast_9),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__14));
+    __e_acsl_assert(__gen_e_acsl_lt < 0,(char *)"RTE",(char *)"main",
+                    (char *)"index_bound: __gen_e_acsl_cast_9 < 2",23);
+    __gmpz_init_set_si(__gen_e_acsl__15,0L);
+    __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__15),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl___gen_e_acsl_cast_9));
+    __e_acsl_assert(__gen_e_acsl_le <= 0,(char *)"RTE",(char *)"main",
+                    (char *)"index_bound: 0 <= __gen_e_acsl_cast_9",23);
+    /*@ assert Eva: index_bound: 0 ≤ __gen_e_acsl_cast_9; */
+    /*@ assert Eva: index_bound: __gen_e_acsl_cast_9 < 2; */
+    __e_acsl_assert((float)x == (float)t[__gen_e_acsl_cast_9],
+                    (char *)"Assertion",(char *)"main",
+                    (char *)"(float)x == t[(int)0.1]",23);
+    __gmpz_clear(__gen_e_acsl__13);
+    __gmpz_clear(__gen_e_acsl___gen_e_acsl_cast_9);
+    __gmpz_clear(__gen_e_acsl__14);
+    __gmpz_clear(__gen_e_acsl__15);
+  }
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c
index a82eeee300c89084acae75bbe704a1ad52003dbc..fb9c180c46dfceede209d330ed3a35eb3b270354 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c
@@ -1,4 +1,6 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 unsigned long long my_pow(unsigned int x, unsigned int n)
 {
   unsigned long long __retres;
@@ -8,12 +10,10 @@ unsigned long long my_pow(unsigned int x, unsigned int n)
     __retres = (unsigned long long)1;
     goto return_label;
   }
-  { /* sequence */
-    tmp_0 = my_pow(x,n / (unsigned int)2);
-    tmp = (int)tmp_0;
-  }
-  /*@ assert Value: signed_overflow: -2147483648 ≤ tmp*tmp; */
-  /*@ assert Value: signed_overflow: tmp*tmp ≤ 2147483647; */
+  tmp_0 = my_pow(x,n / (unsigned int)2);
+  tmp = (int)tmp_0;
+  /*@ assert Eva: signed_overflow: -2147483648 ≤ tmp * tmp; */
+  /*@ assert Eva: signed_overflow: tmp * tmp ≤ 2147483647; */
   tmp *= tmp;
   if (n % (unsigned int)2 == (unsigned int)0) {
     __retres = (unsigned long long)tmp;
@@ -26,45 +26,44 @@ unsigned long long my_pow(unsigned int x, unsigned int n)
 int main(void)
 {
   int __retres;
-  unsigned long long x;
-  x = my_pow((unsigned int)2,(unsigned int)63);
-  /*@ assert (2*x+1)%2 ≡ 1; */
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  unsigned long long x = my_pow((unsigned int)2,(unsigned int)63);
+  /*@ assert (2 * x + 1) % 2 ≡ 1; */
   {
-    mpz_t __gen_e_acsl_;
-    mpz_t __gen_e_acsl_x;
-    mpz_t __gen_e_acsl_mul;
-    mpz_t __gen_e_acsl__2;
-    mpz_t __gen_e_acsl_add;
-    mpz_t __gen_e_acsl__3;
+    __e_acsl_mpz_t __gen_e_acsl_;
+    __e_acsl_mpz_t __gen_e_acsl_x;
+    __e_acsl_mpz_t __gen_e_acsl_mul;
+    __e_acsl_mpz_t __gen_e_acsl__2;
+    __e_acsl_mpz_t __gen_e_acsl_add;
+    __e_acsl_mpz_t __gen_e_acsl__3;
     int __gen_e_acsl_mod_guard;
-    mpz_t __gen_e_acsl_mod;
-    unsigned long __gen_e_acsl__4;
+    __e_acsl_mpz_t __gen_e_acsl_mod;
+    long __gen_e_acsl__4;
     __gmpz_init_set_si(__gen_e_acsl_,2L);
     __gmpz_init(__gen_e_acsl_x);
-    __gmpz_import(__gen_e_acsl_x,1UL,1,8UL,0,0UL,(void const *)(& x));
+    __gmpz_import(__gen_e_acsl_x,(size_t)1,1,(size_t)8,0,(size_t)0,
+                  (void const *)(& x));
     __gmpz_init(__gen_e_acsl_mul);
-    __gmpz_mul(__gen_e_acsl_mul,(__mpz_struct const *)(__gen_e_acsl_),
-               (__mpz_struct const *)(__gen_e_acsl_x));
+    __gmpz_mul(__gen_e_acsl_mul,(__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x));
     __gmpz_init_set_si(__gen_e_acsl__2,1L);
     __gmpz_init(__gen_e_acsl_add);
-    __gmpz_add(__gen_e_acsl_add,(__mpz_struct const *)(__gen_e_acsl_mul),
-               (__mpz_struct const *)(__gen_e_acsl__2));
+    __gmpz_add(__gen_e_acsl_add,
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __gmpz_init_set_si(__gen_e_acsl__3,0L);
-    __gen_e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_),
-                                        (__mpz_struct const *)(__gen_e_acsl__3));
+    __gen_e_acsl_mod_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+                                        (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
     __gmpz_init(__gen_e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
     __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion",
                     (char *)"main",(char *)"2 == 0",17);
-    __gmpz_tdiv_r(__gen_e_acsl_mod,(__mpz_struct const *)(__gen_e_acsl_add),
-                  (__mpz_struct const *)(__gen_e_acsl_));
-    __gen_e_acsl__4 = __gmpz_get_ui((__mpz_struct const *)(__gen_e_acsl_mod));
-    /*@ assert
-        Value: ptr_comparison:
-          \pointer_comparable((void *)__gen_e_acsl__4, (void *)1);
-    */
-    __e_acsl_assert(__gen_e_acsl__4 == 1,(char *)"Assertion",(char *)"main",
-                    (char *)"(2*x+1)%2 == 1",17);
+    __gmpz_tdiv_r(__gen_e_acsl_mod,
+                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
+                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
+    __gen_e_acsl__4 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod));
+    __e_acsl_assert(__gen_e_acsl__4 == 1L,(char *)"Assertion",(char *)"main",
+                    (char *)"(2 * x + 1) % 2 == 1",17);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_x);
     __gmpz_clear(__gen_e_acsl_mul);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c
index af00a19e9e5e67004dde13c375597ffc124c084c..203245a06493a161763875b504af3b52ade5466b 100644
--- a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c
@@ -1,4 +1,6 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 unsigned long long my_pow(unsigned int x, unsigned int n)
 {
   unsigned long long __retres;
@@ -8,12 +10,10 @@ unsigned long long my_pow(unsigned int x, unsigned int n)
     __retres = (unsigned long long)1;
     goto return_label;
   }
-  { /* sequence */
-    tmp_0 = my_pow(x,n / (unsigned int)2);
-    tmp = (int)tmp_0;
-  }
-  /*@ assert Value: signed_overflow: -2147483648 ≤ tmp*tmp; */
-  /*@ assert Value: signed_overflow: tmp*tmp ≤ 2147483647; */
+  tmp_0 = my_pow(x,n / (unsigned int)2);
+  tmp = (int)tmp_0;
+  /*@ assert Eva: signed_overflow: -2147483648 ≤ tmp * tmp; */
+  /*@ assert Eva: signed_overflow: tmp * tmp ≤ 2147483647; */
   tmp *= tmp;
   if (n % (unsigned int)2 == (unsigned int)0) {
     __retres = (unsigned long long)tmp;
@@ -26,46 +26,45 @@ unsigned long long my_pow(unsigned int x, unsigned int n)
 int main(void)
 {
   int __retres;
-  unsigned long long x;
-  x = my_pow((unsigned int)2,(unsigned int)63);
-  /*@ assert (2*x+1)%2 ≡ 1; */
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  unsigned long long x = my_pow((unsigned int)2,(unsigned int)63);
+  /*@ assert (2 * x + 1) % 2 ≡ 1; */
   {
-    mpz_t __gen_e_acsl_;
-    mpz_t __gen_e_acsl_x;
-    mpz_t __gen_e_acsl_mul;
-    mpz_t __gen_e_acsl__2;
-    mpz_t __gen_e_acsl_add;
-    mpz_t __gen_e_acsl__3;
+    __e_acsl_mpz_t __gen_e_acsl_;
+    __e_acsl_mpz_t __gen_e_acsl_x;
+    __e_acsl_mpz_t __gen_e_acsl_mul;
+    __e_acsl_mpz_t __gen_e_acsl__2;
+    __e_acsl_mpz_t __gen_e_acsl_add;
+    __e_acsl_mpz_t __gen_e_acsl__3;
     int __gen_e_acsl_mod_guard;
-    mpz_t __gen_e_acsl_mod;
+    __e_acsl_mpz_t __gen_e_acsl_mod;
     int __gen_e_acsl_eq;
     __gmpz_init_set_si(__gen_e_acsl_,2L);
     __gmpz_init(__gen_e_acsl_x);
-    __gmpz_import(__gen_e_acsl_x,1UL,1,8UL,0,0UL,(void const *)(& x));
+    __gmpz_import(__gen_e_acsl_x,(size_t)1,1,(size_t)8,0,(size_t)0,
+                  (void const *)(& x));
     __gmpz_init(__gen_e_acsl_mul);
-    __gmpz_mul(__gen_e_acsl_mul,(__mpz_struct const *)(__gen_e_acsl_),
-               (__mpz_struct const *)(__gen_e_acsl_x));
+    __gmpz_mul(__gen_e_acsl_mul,(__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x));
     __gmpz_init_set_si(__gen_e_acsl__2,1L);
     __gmpz_init(__gen_e_acsl_add);
-    __gmpz_add(__gen_e_acsl_add,(__mpz_struct const *)(__gen_e_acsl_mul),
-               (__mpz_struct const *)(__gen_e_acsl__2));
+    __gmpz_add(__gen_e_acsl_add,
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __gmpz_init_set_si(__gen_e_acsl__3,0L);
-    __gen_e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_),
-                                        (__mpz_struct const *)(__gen_e_acsl__3));
+    __gen_e_acsl_mod_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
+                                        (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
     __gmpz_init(__gen_e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
     __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion",
                     (char *)"main",(char *)"2 == 0",17);
-    __gmpz_tdiv_r(__gen_e_acsl_mod,(__mpz_struct const *)(__gen_e_acsl_add),
-                  (__mpz_struct const *)(__gen_e_acsl_));
-    __gen_e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__gen_e_acsl_mod),
-                                 (__mpz_struct const *)(__gen_e_acsl__2));
-    /*@ assert
-        Value: ptr_comparison:
-          \pointer_comparable((void *)__gen_e_acsl_eq, (void *)0);
-    */
+    __gmpz_tdiv_r(__gen_e_acsl_mod,
+                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
+                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
+    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"(2*x+1)%2 == 1",17);
+                    (char *)"(2 * x + 1) % 2 == 1",17);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_x);
     __gmpz_clear(__gen_e_acsl_mul);
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c
index 9e5ae38764a0272c6d400ab9eb49040b3bf01d0f..bf4446cc44867feef2aae41aa6b2337956b740f4 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c
@@ -1,35 +1,33 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 /*@ ensures \valid(\result); */
 int *__gen_e_acsl_f(int *x, int *y);
 
-/*@ ensures \valid(\result); */
 int *f(int *x, int *y)
 {
-  __e_acsl_store_block((void *)(& x),8UL);
-  __e_acsl_store_block((void *)(& y),8UL);
+  __e_acsl_store_block((void *)(& y),(size_t)8);
+  __e_acsl_store_block((void *)(& x),(size_t)8);
   __e_acsl_initialize((void *)y,sizeof(int));
   *y = 1;
-  __e_acsl_delete_block((void *)(& x));
   __e_acsl_delete_block((void *)(& y));
+  __e_acsl_delete_block((void *)(& x));
   return x;
 }
 
 int main(void)
 {
   int __retres;
-  int x;
   int *p;
-  int *q;
-  int *r;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
-  __e_acsl_store_block((void *)(& q),8UL);
-  __e_acsl_store_block((void *)(& p),8UL);
-  __e_acsl_store_block((void *)(& x),4UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  __e_acsl_store_block((void *)(& p),(size_t)8);
+  int x = 0;
+  __e_acsl_store_block((void *)(& x),(size_t)4);
   __e_acsl_full_init((void *)(& x));
-  x = 0;
+  int *q = malloc(sizeof(int));
+  __e_acsl_store_block((void *)(& q),(size_t)8);
   __e_acsl_full_init((void *)(& q));
-  q = (int *)malloc(sizeof(int));
-  r = (int *)malloc(sizeof(int));
+  int *r = malloc(sizeof(int));
   __e_acsl_full_init((void *)(& p));
   p = __gen_e_acsl_f(& x,q);
   __e_acsl_full_init((void *)(& q));
@@ -46,17 +44,19 @@ int main(void)
 int *__gen_e_acsl_f(int *x, int *y)
 {
   int *__retres;
-  __e_acsl_store_block((void *)(& __retres),8UL);
-  __e_acsl_store_block((void *)(& x),8UL);
-  __e_acsl_store_block((void *)(& y),8UL);
+  __e_acsl_store_block((void *)(& __retres),(size_t)8);
+  __e_acsl_store_block((void *)(& y),(size_t)8);
+  __e_acsl_store_block((void *)(& x),(size_t)8);
   __retres = f(x,y);
   {
     int __gen_e_acsl_valid;
-    __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(int));
+    __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(int),
+                                        (void *)__retres,
+                                        (void *)(& __retres));
     __e_acsl_assert(__gen_e_acsl_valid,(char *)"Postcondition",(char *)"f",
                     (char *)"\\valid(\\result)",10);
-    __e_acsl_delete_block((void *)(& x));
     __e_acsl_delete_block((void *)(& y));
+    __e_acsl_delete_block((void *)(& x));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
   }
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c
index 4ac268a1f3efa96799795732de71fc47f342dfea..cf5247b2a952dbbff231d47d5ff9a826d58815c2 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c
@@ -1,8 +1,10 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 char array[1024];
 void __e_acsl_globals_init(void)
 {
-  __e_acsl_store_block((void *)(array),1024UL);
+  __e_acsl_store_block((void *)(array),(size_t)1024);
   __e_acsl_full_init((void *)(& array));
   return;
 }
@@ -11,13 +13,13 @@ int main(void)
 {
   int __retres;
   int *p;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   __e_acsl_globals_init();
-  __e_acsl_store_block((void *)(& p),8UL);
+  __e_acsl_store_block((void *)(& p),(size_t)8);
   /*@ assert ¬\freeable(p); */
   {
     int __gen_e_acsl_freeable;
-    /*@ assert Value: initialisation: \initialized(&p); */
+    /*@ assert Eva: initialization: \initialized(&p); */
     __gen_e_acsl_freeable = __e_acsl_freeable((void *)p);
     __e_acsl_assert(! __gen_e_acsl_freeable,(char *)"Assertion",
                     (char *)"main",(char *)"!\\freeable(p)",15);
@@ -31,12 +33,12 @@ int main(void)
   }
   __e_acsl_full_init((void *)(& p));
   p = (int *)malloc((unsigned long)4 * sizeof(int));
-  /*@ assert ¬\freeable(p+1); */
+  /*@ assert ¬\freeable(p + 1); */
   {
     int __gen_e_acsl_freeable_3;
-    __gen_e_acsl_freeable_3 = __e_acsl_freeable((void *)(p + 1UL));
+    __gen_e_acsl_freeable_3 = __e_acsl_freeable((void *)(p + 1));
     __e_acsl_assert(! __gen_e_acsl_freeable_3,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable(p+1)",18);
+                    (char *)"main",(char *)"!\\freeable(p + 1)",18);
   }
   /*@ assert \freeable(p); */
   {
@@ -63,7 +65,7 @@ int main(void)
   /*@ assert ¬\freeable(&array[5]); */
   {
     int __gen_e_acsl_freeable_7;
-    __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5UL]));
+    __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5]));
     __e_acsl_assert(! __gen_e_acsl_freeable_7,(char *)"Assertion",
                     (char *)"main",(char *)"!\\freeable(&array[5])",25);
   }
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c
index 16a1a33e734fa6f7da1a5a0f22cbd2cb3a42ad7c..8f13de4aa0b5e7d2f8c3e6d1216c8c6b062ad6fe 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c
@@ -1,11 +1,13 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int G = 0;
 int *P;
 void __e_acsl_globals_init(void)
 {
-  __e_acsl_store_block((void *)(& P),8UL);
+  __e_acsl_store_block((void *)(& P),(size_t)8);
   __e_acsl_full_init((void *)(& P));
-  __e_acsl_store_block((void *)(& G),4UL);
+  __e_acsl_store_block((void *)(& G),(size_t)4);
   __e_acsl_full_init((void *)(& G));
   return;
 }
@@ -13,25 +15,26 @@ void __e_acsl_globals_init(void)
 int main(void)
 {
   int __retres;
-  int *q;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   __e_acsl_globals_init();
-  __e_acsl_store_block((void *)(& q),8UL);
   P = & G;
+  int *q = P;
+  __e_acsl_store_block((void *)(& q),(size_t)8);
   __e_acsl_full_init((void *)(& q));
-  q = P;
   {
     int __gen_e_acsl_valid_read;
     int __gen_e_acsl_valid;
     __e_acsl_initialize((void *)P,sizeof(int));
-    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int));
+    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int),
+                                                  (void *)P,(void *)(& P));
     __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
                     (char *)"mem_access: \\valid_read(P)",14);
-    __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int));
+    __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int),(void *)P,
+                                        (void *)(& P));
     __e_acsl_assert(__gen_e_acsl_valid,(char *)"RTE",(char *)"main",
                     (char *)"mem_access: \\valid(P)",14);
-    (*P) ++;
   }
+  (*P) ++;
   /*@ assert *q ≡ G; */
   {
     int __gen_e_acsl_initialized;
@@ -40,7 +43,9 @@ int main(void)
                                                     sizeof(int *));
     if (__gen_e_acsl_initialized) {
       int __gen_e_acsl_valid_read_2;
-      __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)q,sizeof(int));
+      __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)q,sizeof(int),
+                                                      (void *)q,
+                                                      (void *)(& q));
       __gen_e_acsl_and = __gen_e_acsl_valid_read_2;
     }
     else __gen_e_acsl_and = 0;
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c
index 3f83c01a9e7347aad7120c2c4556af34f8e5fde9..1358d2061e4feebc47c3492a046a4e53a9296281 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c
@@ -1,4 +1,5 @@
 /* Generated by Frama-C */
+#include "stdio.h"
 #include "stdlib.h"
 int A = 0;
 int B;
@@ -31,30 +32,30 @@ int main(void)
   __e_acsl_full_init((void *)(& q));
   /*@ assert \initialized(&A); */
   __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&A)",16);
+                  (char *)"\\initialized(&A)",17);
   /*@ assert \initialized(&B); */
   __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&B)",17);
+                  (char *)"\\initialized(&B)",18);
   /*@ assert \initialized(p); */
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(p)",18);
+                    (char *)"main",(char *)"\\initialized(p)",19);
   }
   /*@ assert \initialized(q); */
   {
     int __gen_e_acsl_initialized_2;
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",19);
+                    (char *)"main",(char *)"\\initialized(q)",20);
   }
   int a = 0;
   __e_acsl_store_block((void *)(& a),(size_t)4);
   __e_acsl_full_init((void *)(& a));
   long c[2] = {(long)1, (long)1};
   __e_acsl_store_block((void *)(c),(size_t)16);
-  __e_acsl_full_init((void *)(c));
+  __e_acsl_full_init((void *)(& c));
   __e_acsl_full_init((void *)(& p));
   p = & a;
   __e_acsl_full_init((void *)(& q));
@@ -65,7 +66,7 @@ int main(void)
     __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a),
                                                       sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_3,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&a)",30);
+                    (char *)"main",(char *)"\\initialized(&a)",31);
   }
   /*@ assert ¬\initialized(&b); */
   {
@@ -73,21 +74,21 @@ int main(void)
     __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b),
                                                       sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_4,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&b)",31);
+                    (char *)"main",(char *)"!\\initialized(&b)",32);
   }
   /*@ assert \initialized(p); */
   {
     int __gen_e_acsl_initialized_5;
     __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_5,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(p)",32);
+                    (char *)"main",(char *)"\\initialized(p)",33);
   }
   /*@ assert ¬\initialized(q); */
   {
     int __gen_e_acsl_initialized_6;
     __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_6,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",33);
+                    (char *)"main",(char *)"!\\initialized(q)",34);
   }
   /*@ assert \initialized(&c); */
   {
@@ -95,7 +96,7 @@ int main(void)
     __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& c),
                                                       sizeof(long [2]));
     __e_acsl_assert(__gen_e_acsl_initialized_7,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&c)",34);
+                    (char *)"main",(char *)"\\initialized(&c)",35);
   }
   /*@ assert ¬\initialized(&d); */
   {
@@ -103,7 +104,7 @@ int main(void)
     __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& d),
                                                       sizeof(long [2]));
     __e_acsl_assert(! __gen_e_acsl_initialized_8,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",35);
+                    (char *)"main",(char *)"!\\initialized(&d)",36);
   }
   __e_acsl_full_init((void *)(& b));
   b = 0;
@@ -112,7 +113,7 @@ int main(void)
     int __gen_e_acsl_initialized_9;
     __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_9,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",39);
+                    (char *)"main",(char *)"\\initialized(q)",40);
   }
   /*@ assert \initialized(&b); */
   {
@@ -120,7 +121,7 @@ int main(void)
     __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b),
                                                        sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_10,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&b)",40);
+                    (char *)"main",(char *)"\\initialized(&b)",41);
   }
   __e_acsl_full_init((void *)(& r));
   r = d;
@@ -130,7 +131,7 @@ int main(void)
     __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_11,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized((long *)d)",43);
+                    (char *)"main",(char *)"!\\initialized((long *)d)",44);
   }
   /*@ assert ¬\initialized(&d[1]); */
   {
@@ -138,7 +139,7 @@ int main(void)
     __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_12,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d[1])",44);
+                    (char *)"main",(char *)"!\\initialized(&d[1])",45);
   }
   /*@ assert ¬\initialized(&d); */
   {
@@ -146,7 +147,7 @@ int main(void)
     __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
     __e_acsl_assert(! __gen_e_acsl_initialized_13,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",45);
+                    (char *)"main",(char *)"!\\initialized(&d)",46);
   }
   /*@ assert ¬\initialized(r); */
   {
@@ -154,7 +155,7 @@ int main(void)
     __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_14,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r)",46);
+                    (char *)"main",(char *)"!\\initialized(r)",47);
   }
   /*@ assert ¬\initialized(r + 1); */
   {
@@ -162,7 +163,7 @@ int main(void)
     __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_15,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r + 1)",47);
+                    (char *)"main",(char *)"!\\initialized(r + 1)",48);
   }
   __e_acsl_initialize((void *)(d),sizeof(long));
   d[0] = (long)1;
@@ -172,7 +173,7 @@ int main(void)
     __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_16,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized((long *)d)",50);
+                    (char *)"main",(char *)"\\initialized((long *)d)",51);
   }
   /*@ assert ¬\initialized(&d[1]); */
   {
@@ -180,7 +181,7 @@ int main(void)
     __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_17,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d[1])",51);
+                    (char *)"main",(char *)"!\\initialized(&d[1])",52);
   }
   /*@ assert ¬\initialized(&d); */
   {
@@ -188,7 +189,7 @@ int main(void)
     __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
     __e_acsl_assert(! __gen_e_acsl_initialized_18,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",52);
+                    (char *)"main",(char *)"!\\initialized(&d)",53);
   }
   /*@ assert \initialized(r); */
   {
@@ -196,7 +197,7 @@ int main(void)
     __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_19,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r)",53);
+                    (char *)"main",(char *)"\\initialized(r)",54);
   }
   /*@ assert ¬\initialized(r + 1); */
   {
@@ -204,7 +205,7 @@ int main(void)
     __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
     __e_acsl_assert(! __gen_e_acsl_initialized_20,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r + 1)",54);
+                    (char *)"main",(char *)"!\\initialized(r + 1)",55);
   }
   __e_acsl_initialize((void *)(& d[1]),sizeof(long));
   d[1] = (long)1;
@@ -214,7 +215,7 @@ int main(void)
     __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_21,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized((long *)d)",57);
+                    (char *)"main",(char *)"\\initialized((long *)d)",58);
   }
   /*@ assert \initialized(&d[1]); */
   {
@@ -222,7 +223,7 @@ int main(void)
     __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_22,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&d[1])",58);
+                    (char *)"main",(char *)"\\initialized(&d[1])",59);
   }
   /*@ assert \initialized(&d); */
   {
@@ -230,7 +231,7 @@ int main(void)
     __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
     __e_acsl_assert(__gen_e_acsl_initialized_23,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&d)",59);
+                    (char *)"main",(char *)"\\initialized(&d)",60);
   }
   /*@ assert \initialized(r); */
   {
@@ -238,7 +239,7 @@ int main(void)
     __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_24,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r)",60);
+                    (char *)"main",(char *)"\\initialized(r)",61);
   }
   /*@ assert \initialized(r + 1); */
   {
@@ -246,7 +247,7 @@ int main(void)
     __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
     __e_acsl_assert(__gen_e_acsl_initialized_25,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r + 1)",61);
+                    (char *)"main",(char *)"\\initialized(r + 1)",62);
   }
   __e_acsl_full_init((void *)(& p));
   p = (int *)malloc(sizeof(int *));
@@ -255,7 +256,7 @@ int main(void)
     int __gen_e_acsl_initialized_26;
     __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)p,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_26,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",65);
+                    (char *)"main",(char *)"!\\initialized(p)",66);
   }
   __e_acsl_full_init((void *)(& q));
   q = (int *)calloc((unsigned long)1,sizeof(int));
@@ -264,7 +265,7 @@ int main(void)
     int __gen_e_acsl_initialized_27;
     __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_27,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",69);
+                    (char *)"main",(char *)"\\initialized(q)",70);
   }
   __e_acsl_full_init((void *)(& q));
   q = (int *)realloc((void *)q,(unsigned long)2 * sizeof(int));
@@ -273,7 +274,7 @@ int main(void)
     int __gen_e_acsl_initialized_28;
     __gen_e_acsl_initialized_28 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_28,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",74);
+                    (char *)"main",(char *)"\\initialized(q)",75);
   }
   __e_acsl_full_init((void *)(& q));
   q ++;
@@ -282,7 +283,7 @@ int main(void)
     int __gen_e_acsl_initialized_29;
     __gen_e_acsl_initialized_29 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_29,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",76);
+                    (char *)"main",(char *)"!\\initialized(q)",77);
   }
   __e_acsl_full_init((void *)(& q));
   q --;
@@ -291,16 +292,18 @@ int main(void)
   /*@ assert ¬\initialized(p); */
   {
     int __gen_e_acsl_initialized_30;
+    /*@ assert Eva: dangling_pointer: ¬\dangling(&p); */
     __gen_e_acsl_initialized_30 = __e_acsl_initialized((void *)p,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_30,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",84);
+                    (char *)"main",(char *)"!\\initialized(p)",85);
   }
   /*@ assert ¬\initialized(q); */
   {
     int __gen_e_acsl_initialized_31;
+    /*@ assert Eva: dangling_pointer: ¬\dangling(&q); */
     __gen_e_acsl_initialized_31 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_31,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",85);
+                    (char *)"main",(char *)"!\\initialized(q)",86);
   }
   __e_acsl_full_init((void *)(& q));
   q = (int *)(& q - 1024 * 5);
@@ -311,7 +314,7 @@ int main(void)
     int __gen_e_acsl_initialized_32;
     __gen_e_acsl_initialized_32 = __e_acsl_initialized((void *)q,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_32,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",93);
+                    (char *)"main",(char *)"!\\initialized(q)",94);
   }
   __e_acsl_full_init((void *)(& p));
   p = (int *)0;
@@ -320,7 +323,7 @@ int main(void)
     int __gen_e_acsl_initialized_33;
     __gen_e_acsl_initialized_33 = __e_acsl_initialized((void *)p,sizeof(int));
     __e_acsl_assert(! __gen_e_acsl_initialized_33,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",96);
+                    (char *)"main",(char *)"!\\initialized(p)",97);
   }
   int size = 100;
   char *partsc = malloc((unsigned long)size * sizeof(char));
@@ -329,10 +332,10 @@ int main(void)
     int i = 0;
     while (i < size) {
       if (i % 2 != 0) 
-        /*@ assert Value: mem_access: \valid(partsc + i); */
+        /*@ assert Eva: mem_access: \valid(partsc + i); */
         *(partsc + i) = (char)'0';
       else 
-        /*@ assert Value: mem_access: \valid(partsi + i); */
+        /*@ assert Eva: mem_access: \valid(partsi + i); */
         *(partsi + i) = (char)0;
       i ++;
     }
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c
index b937dcc050160b7ccbb6f31d54c670b246c29009..e1ac038ae1dfed70bb62129533b15f7fc74269cf 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c
@@ -1,12 +1,13 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int main(void)
 {
   int __retres;
-  int x;
-  x = 0;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  int x = 0;
   {
-    int i;
-    i = 0;
+    int i = 0;
     while (i < 10) {
       /*@ invariant 0 ≤ i < 10; */
       {
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c
index d238cea7a4d25f4ffb1d15da64de69e493dbea07..787629e84006dcab2b937755cb866c94ea8c489a 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c
@@ -1,4 +1,6 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 struct list {
    int element ;
    struct list *next ;
@@ -6,8 +8,8 @@ struct list {
 struct list *add(struct list *l, int i)
 {
   struct list *new;
-  __e_acsl_store_block((void *)(& new),8UL);
-  __e_acsl_store_block((void *)(& l),8UL);
+  __e_acsl_store_block((void *)(& new),(size_t)8);
+  __e_acsl_store_block((void *)(& l),(size_t)8);
   __e_acsl_full_init((void *)(& new));
   new = (struct list *)malloc(sizeof(struct list));
   /*@ assert \valid(new); */
@@ -18,7 +20,8 @@ struct list *add(struct list *l, int i)
                                                     sizeof(struct list *));
     if (__gen_e_acsl_initialized) {
       int __gen_e_acsl_valid;
-      __gen_e_acsl_valid = __e_acsl_valid((void *)new,sizeof(struct list));
+      __gen_e_acsl_valid = __e_acsl_valid((void *)new,sizeof(struct list),
+                                          (void *)new,(void *)(& new));
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
@@ -37,11 +40,10 @@ struct list *add(struct list *l, int i)
 int main(void)
 {
   int __retres;
-  struct list *l;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
-  __e_acsl_store_block((void *)(& l),8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  struct list *l = (struct list *)0;
+  __e_acsl_store_block((void *)(& l),(size_t)8);
   __e_acsl_full_init((void *)(& l));
-  l = (struct list *)0;
   __e_acsl_full_init((void *)(& l));
   l = add(l,4);
   __e_acsl_full_init((void *)(& l));
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c
index 46adee7686eb208a41375ff00252f481a9b08930..fec7a5f6f53723bc5e6364c8f304f7763a61d162 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c
@@ -1,16 +1,18 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 void simple_loop(void)
 {
-  int sum;
-  sum = 0;
+  int sum = 0;
   {
-    int i;
-    i = 0;
+    int i = 0;
     {
-      int __gen_e_acsl_and;
-      if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                      (char *)"simple_loop",(char *)"0 <= i <= 10",8);
+      {
+        int __gen_e_acsl_and;
+        if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
+        __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
+                        (char *)"simple_loop",(char *)"0 <= i <= 10",8);
+      }
       /*@ loop invariant 0 ≤ i ≤ 10; */
       while (i < 10) {
         sum += i;
@@ -31,61 +33,71 @@ void simple_loop(void)
 void nested_loops(void)
 {
   int t[10][15];
-  int i;
-  i = 0;
+  int i = 0;
   {
-    int __gen_e_acsl_and;
-    if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                    (char *)"nested_loops",(char *)"0 <= i <= 10",15);
+    {
+      int __gen_e_acsl_and;
+      if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
+      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
+                      (char *)"nested_loops",(char *)"0 <= i <= 10",15);
+    }
     /*@ loop invariant 0 ≤ i ≤ 10; */
     while (i < 10) {
       {
-        int j;
-        j = 0;
+        int j = 0;
         {
-          int __gen_e_acsl_forall;
-          int __gen_e_acsl_k;
-          int __gen_e_acsl_l;
-          int __gen_e_acsl_and_2;
-          __gen_e_acsl_forall = 1;
-          __gen_e_acsl_k = 0;
-          while (1) {
-            if (__gen_e_acsl_k < i) ; else break;
-            __gen_e_acsl_l = 0;
+          {
+            int __gen_e_acsl_forall;
+            int __gen_e_acsl_k;
+            int __gen_e_acsl_l;
+            int __gen_e_acsl_and_2;
+            __gen_e_acsl_forall = 1;
+            __gen_e_acsl_k = 0;
             while (1) {
-              if (__gen_e_acsl_l < j) ; else break;
-              __e_acsl_assert((unsigned int)((unsigned long)__gen_e_acsl_l) < 15U,
-                              (char *)"RTE",(char *)"nested_loops",
-                              (char *)"index_bound: (unsigned long)__gen_e_acsl_l < 15",
-                              19);
-              __e_acsl_assert((unsigned int)((unsigned long)__gen_e_acsl_k) < 10U,
-                              (char *)"RTE",(char *)"nested_loops",
-                              (char *)"index_bound: (unsigned long)__gen_e_acsl_k < 10",
-                              19);
-              if (t[(unsigned long)__gen_e_acsl_k][(unsigned long)__gen_e_acsl_l] == 
-                  __gen_e_acsl_k * __gen_e_acsl_l) ;
-              else {
-                __gen_e_acsl_forall = 0;
-                goto e_acsl_end_loop1;
+              if (__gen_e_acsl_k < i) ; else break;
+              __gen_e_acsl_l = 0;
+              while (1) {
+                if (__gen_e_acsl_l < j) ; else break;
+                __e_acsl_assert(__gen_e_acsl_l < 15,(char *)"RTE",
+                                (char *)"nested_loops",
+                                (char *)"index_bound: __gen_e_acsl_l < 15",
+                                19);
+                __e_acsl_assert(0 <= __gen_e_acsl_l,(char *)"RTE",
+                                (char *)"nested_loops",
+                                (char *)"index_bound: 0 <= __gen_e_acsl_l",
+                                19);
+                __e_acsl_assert(__gen_e_acsl_k < 10,(char *)"RTE",
+                                (char *)"nested_loops",
+                                (char *)"index_bound: __gen_e_acsl_k < 10",
+                                19);
+                __e_acsl_assert(0 <= __gen_e_acsl_k,(char *)"RTE",
+                                (char *)"nested_loops",
+                                (char *)"index_bound: 0 <= __gen_e_acsl_k",
+                                19);
+                if ((long)t[__gen_e_acsl_k][__gen_e_acsl_l] == __gen_e_acsl_k * (long)__gen_e_acsl_l) 
+                  ;
+                else {
+                  __gen_e_acsl_forall = 0;
+                  goto e_acsl_end_loop1;
+                }
+                __gen_e_acsl_l ++;
               }
-              __gen_e_acsl_l = (int)(__gen_e_acsl_l + 1L);
+              __gen_e_acsl_k ++;
             }
-            __gen_e_acsl_k = (int)(__gen_e_acsl_k + 1L);
+            e_acsl_end_loop1: ;
+            __e_acsl_assert(__gen_e_acsl_forall,(char *)"Invariant",
+                            (char *)"nested_loops",
+                            (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
+                            19);
+            if (0 <= j) __gen_e_acsl_and_2 = j <= 15;
+            else __gen_e_acsl_and_2 = 0;
+            __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
+                            (char *)"nested_loops",(char *)"0 <= j <= 15",17);
           }
-          e_acsl_end_loop1: ;
-          __e_acsl_assert(__gen_e_acsl_forall,(char *)"Invariant",
-                          (char *)"nested_loops",
-                          (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
-                          19);
-          if (0 <= j) __gen_e_acsl_and_2 = j <= 15;
-          else __gen_e_acsl_and_2 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
-                          (char *)"nested_loops",(char *)"0 <= j <= 15",17);
           /*@ loop invariant 0 ≤ j ≤ 15;
               loop invariant
                 ∀ ℤ k, ℤ l;
-                  0 ≤ k < i ∧ 0 ≤ l < j ⇒ t[k][l] ≡ k*l;
+                  0 ≤ k < i ∧ 0 ≤ l < j ⇒ t[k][l] ≡ k * l;
           */
           while (j < 15) {
             t[i][j] = i * j;
@@ -107,32 +119,40 @@ void nested_loops(void)
                 __gen_e_acsl_l_2 = 0;
                 while (1) {
                   if (__gen_e_acsl_l_2 < j) ; else break;
-                  __e_acsl_assert((unsigned int)((unsigned long)__gen_e_acsl_l_2) < 15U,
-                                  (char *)"RTE",(char *)"nested_loops",
-                                  (char *)"index_bound: (unsigned long)__gen_e_acsl_l_2 < 15",
+                  __e_acsl_assert(__gen_e_acsl_l_2 < 15,(char *)"RTE",
+                                  (char *)"nested_loops",
+                                  (char *)"index_bound: __gen_e_acsl_l_2 < 15",
+                                  19);
+                  __e_acsl_assert(0 <= __gen_e_acsl_l_2,(char *)"RTE",
+                                  (char *)"nested_loops",
+                                  (char *)"index_bound: 0 <= __gen_e_acsl_l_2",
                                   19);
-                  __e_acsl_assert((unsigned int)((unsigned long)__gen_e_acsl_k_2) < 10U,
-                                  (char *)"RTE",(char *)"nested_loops",
-                                  (char *)"index_bound: (unsigned long)__gen_e_acsl_k_2 < 10",
+                  __e_acsl_assert(__gen_e_acsl_k_2 < 10,(char *)"RTE",
+                                  (char *)"nested_loops",
+                                  (char *)"index_bound: __gen_e_acsl_k_2 < 10",
+                                  19);
+                  __e_acsl_assert(0 <= __gen_e_acsl_k_2,(char *)"RTE",
+                                  (char *)"nested_loops",
+                                  (char *)"index_bound: 0 <= __gen_e_acsl_k_2",
                                   19);
                   /*@ assert
-                      Value: initialisation:
-                        \initialized(&t[(unsigned long)__gen_e_acsl_k_2][(unsigned long)__gen_e_acsl_l_2]);
+                      Eva: initialization:
+                        \initialized(&t[__gen_e_acsl_k_2][__gen_e_acsl_l_2]);
                   */
-                  if (t[(unsigned long)__gen_e_acsl_k_2][(unsigned long)__gen_e_acsl_l_2] == 
-                      __gen_e_acsl_k_2 * __gen_e_acsl_l_2) ;
+                  if ((long)t[__gen_e_acsl_k_2][__gen_e_acsl_l_2] == 
+                      __gen_e_acsl_k_2 * (long)__gen_e_acsl_l_2) ;
                   else {
                     __gen_e_acsl_forall_2 = 0;
                     goto e_acsl_end_loop2;
                   }
-                  __gen_e_acsl_l_2 = (int)(__gen_e_acsl_l_2 + 1L);
+                  __gen_e_acsl_l_2 ++;
                 }
-                __gen_e_acsl_k_2 = (int)(__gen_e_acsl_k_2 + 1L);
+                __gen_e_acsl_k_2 ++;
               }
               e_acsl_end_loop2: ;
               __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Invariant",
                               (char *)"nested_loops",
-                              (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
+                              (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
                               19);
             }
           }
@@ -153,16 +173,16 @@ void nested_loops(void)
 
 void unnatural_loop(void)
 {
-  int x;
-  x = 0;
+  int x = 0;
   {
-    int i;
-    i = 0;
+    int i = 0;
     {
-      int __gen_e_acsl_and;
-      if (0 <= i) __gen_e_acsl_and = i <= 6; else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                      (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
+      {
+        int __gen_e_acsl_and;
+        if (0 <= i) __gen_e_acsl_and = i <= 6; else __gen_e_acsl_and = 0;
+        __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
+                        (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
+      }
       /*@ loop invariant 0 ≤ i ≤ 6; */
       while (i < 10) {
         if (x == 5) break;
@@ -184,6 +204,7 @@ void unnatural_loop(void)
 int main(void)
 {
   int __retres;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   simple_loop();
   nested_loops();
   unnatural_loop();
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c
index d6e48e6949ca30dee52516e466ecd8b5cd3815dc..fc8127008e9303c2a32b0e45c891238869e494ef 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c
@@ -1,26 +1,27 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int *X;
 int Z;
 /*@ requires \valid(x);
     ensures \valid(\result); */
 int *__gen_e_acsl_f(int *x);
 
-/*@ requires \valid(x);
-    ensures \valid(\result); */
 int *f(int *x)
 {
   int *y;
-  __e_acsl_store_block((void *)(& y),8UL);
+  __e_acsl_store_block((void *)(& y),(size_t)8);
   /*@ assert ¬\valid(y); */
   {
     int __gen_e_acsl_initialized;
     int __gen_e_acsl_and;
-    __e_acsl_store_block((void *)(& x),8UL);
+    __e_acsl_store_block((void *)(& x),(size_t)8);
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& y),
                                                     sizeof(int *));
     if (__gen_e_acsl_initialized) {
       int __gen_e_acsl_valid;
-      __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int));
+      __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y,
+                                          (void *)(& y));
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
@@ -32,7 +33,8 @@ int *f(int *x)
   /*@ assert \valid(x); */
   {
     int __gen_e_acsl_valid_2;
-    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int));
+    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int),(void *)x,
+                                          (void *)(& x));
     __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"f",
                     (char *)"\\valid(x)",19);
   }
@@ -46,9 +48,9 @@ void g(void)
   int m;
   int *u;
   int **p;
-  __e_acsl_store_block((void *)(& p),8UL);
-  __e_acsl_store_block((void *)(& u),8UL);
-  __e_acsl_store_block((void *)(& m),4UL);
+  __e_acsl_store_block((void *)(& p),(size_t)8);
+  __e_acsl_store_block((void *)(& u),(size_t)8);
+  __e_acsl_store_block((void *)(& m),(size_t)4);
   __e_acsl_full_init((void *)(& p));
   p = & u;
   __e_acsl_full_init((void *)(& u));
@@ -69,13 +71,16 @@ void g(void)
       if (__gen_e_acsl_initialized_2) {
         int __gen_e_acsl_valid_read;
         __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,
-                                                      sizeof(int *));
+                                                      sizeof(int *),
+                                                      (void *)p,
+                                                      (void *)(& p));
         __gen_e_acsl_and = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and = 0;
       __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"g",
                       (char *)"mem_access: \\valid_read(p)",28);
-      __gen_e_acsl_valid = __e_acsl_valid((void *)*p,sizeof(int));
+      __gen_e_acsl_valid = __e_acsl_valid((void *)*p,sizeof(int),(void *)*p,
+                                          (void *)p);
       __gen_e_acsl_and_2 = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and_2 = 0;
@@ -93,18 +98,21 @@ void g(void)
 int *__gen_e_acsl_f(int *x)
 {
   int *__retres;
-  __e_acsl_store_block((void *)(& __retres),8UL);
+  __e_acsl_store_block((void *)(& __retres),(size_t)8);
   {
     int __gen_e_acsl_valid;
-    __e_acsl_store_block((void *)(& x),8UL);
-    __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int));
+    __e_acsl_store_block((void *)(& x),(size_t)8);
+    __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int),(void *)x,
+                                        (void *)(& x));
     __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"f",
                     (char *)"\\valid(x)",13);
-    __retres = f(x);
   }
+  __retres = f(x);
   {
     int __gen_e_acsl_valid_2;
-    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)__retres,sizeof(int));
+    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)__retres,sizeof(int),
+                                          (void *)__retres,
+                                          (void *)(& __retres));
     __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Postcondition",(char *)"f",
                     (char *)"\\valid(\\result)",14);
     __e_acsl_delete_block((void *)(& x));
@@ -115,9 +123,9 @@ int *__gen_e_acsl_f(int *x)
 
 void __e_acsl_globals_init(void)
 {
-  __e_acsl_store_block((void *)(& Z),4UL);
+  __e_acsl_store_block((void *)(& Z),(size_t)4);
   __e_acsl_full_init((void *)(& Z));
-  __e_acsl_store_block((void *)(& X),8UL);
+  __e_acsl_store_block((void *)(& X),(size_t)8);
   __e_acsl_full_init((void *)(& X));
   return;
 }
@@ -129,16 +137,15 @@ int main(void)
   int *b;
   int **c;
   int ***d;
-  int n;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   __e_acsl_globals_init();
-  __e_acsl_store_block((void *)(& n),4UL);
-  __e_acsl_store_block((void *)(& d),8UL);
-  __e_acsl_store_block((void *)(& c),8UL);
-  __e_acsl_store_block((void *)(& b),8UL);
-  __e_acsl_store_block((void *)(& a),8UL);
+  __e_acsl_store_block((void *)(& d),(size_t)8);
+  __e_acsl_store_block((void *)(& c),(size_t)8);
+  __e_acsl_store_block((void *)(& b),(size_t)8);
+  __e_acsl_store_block((void *)(& a),(size_t)8);
+  int n = 0;
+  __e_acsl_store_block((void *)(& n),(size_t)4);
   __e_acsl_full_init((void *)(& n));
-  n = 0;
   /*@ assert ¬\valid(a) ∧ ¬\valid(b) ∧ ¬\valid(X); */
   {
     int __gen_e_acsl_initialized;
@@ -149,7 +156,8 @@ int main(void)
                                                     sizeof(int *));
     if (__gen_e_acsl_initialized) {
       int __gen_e_acsl_valid;
-      __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                          (void *)(& a));
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
@@ -160,7 +168,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_2) {
         int __gen_e_acsl_valid_2;
-        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
       }
       else __gen_e_acsl_and_2 = 0;
@@ -169,7 +178,8 @@ int main(void)
     else __gen_e_acsl_and_3 = 0;
     if (__gen_e_acsl_and_3) {
       int __gen_e_acsl_valid_3;
-      __gen_e_acsl_valid_3 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_3 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                            (void *)(& X));
       __gen_e_acsl_and_4 = ! __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_4 = 0;
@@ -188,7 +198,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_3) {
       int __gen_e_acsl_valid_4;
-      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                            (void *)(& a));
       __gen_e_acsl_and_5 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_5 = 0;
@@ -199,7 +210,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_4) {
         int __gen_e_acsl_valid_5;
-        __gen_e_acsl_valid_5 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_5 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_6 = __gen_e_acsl_valid_5;
       }
       else __gen_e_acsl_and_6 = 0;
@@ -208,7 +220,8 @@ int main(void)
     else __gen_e_acsl_and_7 = 0;
     if (__gen_e_acsl_and_7) {
       int __gen_e_acsl_valid_6;
-      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                            (void *)(& X));
       __gen_e_acsl_and_8 = ! __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_8 = 0;
@@ -226,7 +239,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_5) {
       int __gen_e_acsl_valid_7;
-      __gen_e_acsl_valid_7 = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid_7 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                            (void *)(& a));
       __gen_e_acsl_and_9 = __gen_e_acsl_valid_7;
     }
     else __gen_e_acsl_and_9 = 0;
@@ -237,7 +251,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_6) {
         int __gen_e_acsl_valid_8;
-        __gen_e_acsl_valid_8 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_8 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_10 = __gen_e_acsl_valid_8;
       }
       else __gen_e_acsl_and_10 = 0;
@@ -246,7 +261,8 @@ int main(void)
     else __gen_e_acsl_and_11 = 0;
     if (__gen_e_acsl_and_11) {
       int __gen_e_acsl_valid_9;
-      __gen_e_acsl_valid_9 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_9 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                            (void *)(& X));
       __gen_e_acsl_and_12 = __gen_e_acsl_valid_9;
     }
     else __gen_e_acsl_and_12 = 0;
@@ -265,7 +281,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_7) {
       int __gen_e_acsl_valid_10;
-      __gen_e_acsl_valid_10 = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid_10 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                             (void *)(& a));
       __gen_e_acsl_and_13 = __gen_e_acsl_valid_10;
     }
     else __gen_e_acsl_and_13 = 0;
@@ -276,7 +293,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_8) {
         int __gen_e_acsl_valid_11;
-        __gen_e_acsl_valid_11 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_11 = __e_acsl_valid((void *)b,sizeof(int),
+                                               (void *)b,(void *)(& b));
         __gen_e_acsl_and_14 = __gen_e_acsl_valid_11;
       }
       else __gen_e_acsl_and_14 = 0;
@@ -285,7 +303,8 @@ int main(void)
     else __gen_e_acsl_and_15 = 0;
     if (__gen_e_acsl_and_15) {
       int __gen_e_acsl_valid_12;
-      __gen_e_acsl_valid_12 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_12 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                             (void *)(& X));
       __gen_e_acsl_and_16 = __gen_e_acsl_valid_12;
     }
     else __gen_e_acsl_and_16 = 0;
@@ -303,7 +322,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_9) {
       int __gen_e_acsl_valid_13;
-      __gen_e_acsl_valid_13 = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid_13 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                             (void *)(& a));
       __gen_e_acsl_and_17 = __gen_e_acsl_valid_13;
     }
     else __gen_e_acsl_and_17 = 0;
@@ -314,7 +334,8 @@ int main(void)
                                                          sizeof(int *));
       if (__gen_e_acsl_initialized_10) {
         int __gen_e_acsl_valid_14;
-        __gen_e_acsl_valid_14 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_14 = __e_acsl_valid((void *)b,sizeof(int),
+                                               (void *)b,(void *)(& b));
         __gen_e_acsl_and_18 = __gen_e_acsl_valid_14;
       }
       else __gen_e_acsl_and_18 = 0;
@@ -323,7 +344,8 @@ int main(void)
     else __gen_e_acsl_and_19 = 0;
     if (__gen_e_acsl_and_19) {
       int __gen_e_acsl_valid_15;
-      __gen_e_acsl_valid_15 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_15 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                             (void *)(& X));
       __gen_e_acsl_and_20 = __gen_e_acsl_valid_15;
     }
     else __gen_e_acsl_and_20 = 0;
@@ -349,13 +371,16 @@ int main(void)
       if (__gen_e_acsl_initialized_12) {
         int __gen_e_acsl_valid_read;
         __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)c,
-                                                      sizeof(int *));
+                                                      sizeof(int *),
+                                                      (void *)c,
+                                                      (void *)(& c));
         __gen_e_acsl_and_21 = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and_21 = 0;
       __e_acsl_assert(__gen_e_acsl_and_21,(char *)"RTE",(char *)"main",
                       (char *)"mem_access: \\valid_read(c)",44);
-      __gen_e_acsl_valid_16 = __e_acsl_valid((void *)*c,sizeof(int));
+      __gen_e_acsl_valid_16 = __e_acsl_valid((void *)*c,sizeof(int),
+                                             (void *)*c,(void *)c);
       __gen_e_acsl_and_22 = __gen_e_acsl_valid_16;
     }
     else __gen_e_acsl_and_22 = 0;
@@ -367,7 +392,8 @@ int main(void)
     int __gen_e_acsl_valid_read_2;
     int __gen_e_acsl_initialized_13;
     int __gen_e_acsl_and_26;
-    __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)d,sizeof(int **));
+    __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)d,sizeof(int **),
+                                                    (void *)d,(void *)(& d));
     __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
                     (char *)"mem_access: \\valid_read(d)",45);
     __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)*d,
@@ -389,14 +415,17 @@ int main(void)
         if (__gen_e_acsl_initialized_15) {
           int __gen_e_acsl_valid_read_3;
           __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)d,
-                                                          sizeof(int **));
+                                                          sizeof(int **),
+                                                          (void *)d,
+                                                          (void *)(& d));
           __gen_e_acsl_and_23 = __gen_e_acsl_valid_read_3;
         }
         else __gen_e_acsl_and_23 = 0;
         __e_acsl_assert(__gen_e_acsl_and_23,(char *)"RTE",(char *)"main",
                         (char *)"mem_access: \\valid_read(d)",45);
         __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)*d,
-                                                        sizeof(int *));
+                                                        sizeof(int *),
+                                                        (void *)*d,(void *)d);
         __gen_e_acsl_and_24 = __gen_e_acsl_valid_read_4;
       }
       else __gen_e_acsl_and_24 = 0;
@@ -407,13 +436,16 @@ int main(void)
       if (__gen_e_acsl_initialized_16) {
         int __gen_e_acsl_valid_read_5;
         __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)d,
-                                                        sizeof(int **));
+                                                        sizeof(int **),
+                                                        (void *)d,
+                                                        (void *)(& d));
         __gen_e_acsl_and_25 = __gen_e_acsl_valid_read_5;
       }
       else __gen_e_acsl_and_25 = 0;
       __e_acsl_assert(__gen_e_acsl_and_25,(char *)"RTE",(char *)"main",
                       (char *)"mem_access: \\valid_read(d)",45);
-      __gen_e_acsl_valid_17 = __e_acsl_valid((void *)*(*d),sizeof(int));
+      __gen_e_acsl_valid_17 = __e_acsl_valid((void *)*(*d),sizeof(int),
+                                             (void *)*(*d),(void *)*d);
       __gen_e_acsl_and_26 = __gen_e_acsl_valid_17;
     }
     else __gen_e_acsl_and_26 = 0;
@@ -431,8 +463,9 @@ int main(void)
                                                        sizeof(int *));
     if (__gen_e_acsl_initialized_17) {
       int __gen_e_acsl_valid_18;
-      /*@ assert Value: dangling_pointer: ¬\dangling(&a); */
-      __gen_e_acsl_valid_18 = __e_acsl_valid((void *)a,sizeof(int));
+      /*@ assert Eva: dangling_pointer: ¬\dangling(&a); */
+      __gen_e_acsl_valid_18 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                             (void *)(& a));
       __gen_e_acsl_and_27 = __gen_e_acsl_valid_18;
     }
     else __gen_e_acsl_and_27 = 0;
@@ -443,7 +476,8 @@ int main(void)
                                                          sizeof(int *));
       if (__gen_e_acsl_initialized_18) {
         int __gen_e_acsl_valid_19;
-        __gen_e_acsl_valid_19 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_19 = __e_acsl_valid((void *)b,sizeof(int),
+                                               (void *)b,(void *)(& b));
         __gen_e_acsl_and_28 = __gen_e_acsl_valid_19;
       }
       else __gen_e_acsl_and_28 = 0;
@@ -452,7 +486,8 @@ int main(void)
     else __gen_e_acsl_and_29 = 0;
     if (__gen_e_acsl_and_29) {
       int __gen_e_acsl_valid_20;
-      __gen_e_acsl_valid_20 = __e_acsl_valid((void *)X,sizeof(int));
+      __gen_e_acsl_valid_20 = __e_acsl_valid((void *)X,sizeof(int),(void *)X,
+                                             (void *)(& X));
       __gen_e_acsl_and_30 = __gen_e_acsl_valid_20;
     }
     else __gen_e_acsl_and_30 = 0;
@@ -462,7 +497,8 @@ int main(void)
   /*@ assert \valid(&Z); */
   {
     int __gen_e_acsl_valid_21;
-    __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int));
+    __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int),
+                                           (void *)(& Z),(void *)0);
     __e_acsl_assert(__gen_e_acsl_valid_21,(char *)"Assertion",(char *)"main",
                     (char *)"\\valid(&Z)",48);
   }
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c
index 1fbd54747adf1f32ee2e053012ec64de62214e94..240cfaf9d6fe6d0536c732bbf541b554ebb7c22c 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c
@@ -1,14 +1,15 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int main(void)
 {
   int __retres;
   int *a;
   int *b;
-  int n;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
-  __e_acsl_store_block((void *)(& b),8UL);
-  __e_acsl_store_block((void *)(& a),8UL);
-  n = 0;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  __e_acsl_store_block((void *)(& b),(size_t)8);
+  __e_acsl_store_block((void *)(& a),(size_t)8);
+  int n = 0;
   /*@ assert ¬\valid(a) ∧ ¬\valid(b); */
   {
     int __gen_e_acsl_initialized;
@@ -18,7 +19,8 @@ int main(void)
                                                     sizeof(int *));
     if (__gen_e_acsl_initialized) {
       int __gen_e_acsl_valid;
-      __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                          (void *)(& a));
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
@@ -29,7 +31,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_2) {
         int __gen_e_acsl_valid_2;
-        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
       }
       else __gen_e_acsl_and_2 = 0;
@@ -54,7 +57,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_3) {
       int __gen_e_acsl_valid_3;
-      __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(int));
+      __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                            (void *)(& a));
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_4 = 0;
@@ -65,7 +69,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_4) {
         int __gen_e_acsl_valid_4;
-        __gen_e_acsl_valid_4 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_4 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_5 = __gen_e_acsl_valid_4;
       }
       else __gen_e_acsl_and_5 = 0;
@@ -83,7 +88,8 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_5) {
       int __gen_e_acsl_valid_read;
-      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)b,sizeof(int));
+      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)b,sizeof(int),
+                                                    (void *)b,(void *)(& b));
       __gen_e_acsl_and_7 = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and_7 = 0;
@@ -102,8 +108,9 @@ int main(void)
                                                       sizeof(int *));
     if (__gen_e_acsl_initialized_6) {
       int __gen_e_acsl_valid_5;
-      /*@ assert Value: dangling_pointer: ¬\dangling(&a); */
-      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)a,sizeof(int));
+      /*@ assert Eva: dangling_pointer: ¬\dangling(&a); */
+      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)a,sizeof(int),(void *)a,
+                                            (void *)(& a));
       __gen_e_acsl_and_8 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_8 = 0;
@@ -114,8 +121,8 @@ int main(void)
                                                         sizeof(int *));
       if (__gen_e_acsl_initialized_7) {
         int __gen_e_acsl_valid_6;
-        /*@ assert Value: dangling_pointer: ¬\dangling(&b); */
-        __gen_e_acsl_valid_6 = __e_acsl_valid((void *)b,sizeof(int));
+        __gen_e_acsl_valid_6 = __e_acsl_valid((void *)b,sizeof(int),
+                                              (void *)b,(void *)(& b));
         __gen_e_acsl_and_9 = __gen_e_acsl_valid_6;
       }
       else __gen_e_acsl_and_9 = 0;
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c
index d6d8a05b17e38aab26d9bc3e4ed2828f30d90161..06099dcf046460bfae680882c849d663262faf31 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c
@@ -1,4 +1,6 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 struct list {
    int element ;
    struct list *next ;
@@ -8,26 +10,16 @@ struct list {
       ensures \result ≡ \old(l);
     
     behavior B2:
-      assumes ¬\valid(l);
-      assumes ¬\valid(l->next);
+      assumes ¬\valid(l) ∨ ¬\valid(l->next);
       ensures \result ≡ \old(l);
  */
 struct list *__gen_e_acsl_f(struct list *l);
 
-/*@ behavior B1:
-      assumes l ≡ \null;
-      ensures \result ≡ \old(l);
-    
-    behavior B2:
-      assumes ¬\valid(l);
-      assumes ¬\valid(l->next);
-      ensures \result ≡ \old(l);
- */
 struct list *f(struct list *l)
 {
   struct list *__retres;
-  __e_acsl_store_block((void *)(& __retres),8UL);
-  __e_acsl_store_block((void *)(& l),8UL);
+  __e_acsl_store_block((void *)(& __retres),(size_t)8);
+  __e_acsl_store_block((void *)(& l),(size_t)8);
   if (l == (struct list *)0) {
     __e_acsl_full_init((void *)(& __retres));
     __retres = l;
@@ -41,15 +33,17 @@ struct list *f(struct list *l)
   __e_acsl_full_init((void *)(& __retres));
   __retres = (struct list *)0;
   return_label:
+  {
     __e_acsl_delete_block((void *)(& l));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
+  }
 }
 
 int main(void)
 {
   int __retres;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   __gen_e_acsl_f((struct list *)0);
   __retres = 0;
   __e_acsl_memory_clean();
@@ -61,8 +55,7 @@ int main(void)
       ensures \result ≡ \old(l);
     
     behavior B2:
-      assumes ¬\valid(l);
-      assumes ¬\valid(l->next);
+      assumes ¬\valid(l) ∨ ¬\valid(l->next);
       ensures \result ≡ \old(l);
  */
 struct list *__gen_e_acsl_f(struct list *l)
@@ -72,15 +65,15 @@ struct list *__gen_e_acsl_f(struct list *l)
   struct list *__gen_e_acsl_at_2;
   int __gen_e_acsl_at;
   struct list *__retres;
-  __e_acsl_store_block((void *)(& __retres),8UL);
-  __e_acsl_store_block((void *)(& l),8UL);
-  __e_acsl_store_block((void *)(& __gen_e_acsl_at_4),8UL);
+  __e_acsl_store_block((void *)(& __retres),(size_t)8);
   __gen_e_acsl_at_4 = l;
   {
     int __gen_e_acsl_valid;
-    int __gen_e_acsl_and_2;
-    __gen_e_acsl_valid = __e_acsl_valid((void *)l,sizeof(struct list));
-    if (! __gen_e_acsl_valid) {
+    int __gen_e_acsl_or;
+    __gen_e_acsl_valid = __e_acsl_valid((void *)l,sizeof(struct list),
+                                        (void *)l,(void *)(& l));
+    if (! __gen_e_acsl_valid) __gen_e_acsl_or = 1;
+    else {
       int __gen_e_acsl_initialized;
       int __gen_e_acsl_and;
       __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& l->next),
@@ -89,24 +82,25 @@ struct list *__gen_e_acsl_f(struct list *l)
         int __gen_e_acsl_valid_read;
         int __gen_e_acsl_valid_2;
         __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& l->next),
-                                                      sizeof(struct list *));
+                                                      sizeof(struct list *),
+                                                      (void *)(& l->next),
+                                                      (void *)0);
         __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                        (char *)"mem_access: \\valid_read(&l->next)",19);
-        /*@ assert Value: mem_access: \valid_read(&l->next); */
+                        (char *)"mem_access: \\valid_read(&l->next)",18);
         __gen_e_acsl_valid_2 = __e_acsl_valid((void *)l->next,
-                                              sizeof(struct list));
+                                              sizeof(struct list),
+                                              (void *)l->next,
+                                              (void *)(& l->next));
         __gen_e_acsl_and = __gen_e_acsl_valid_2;
       }
       else __gen_e_acsl_and = 0;
-      __gen_e_acsl_and_2 = ! __gen_e_acsl_and;
+      __gen_e_acsl_or = ! __gen_e_acsl_and;
     }
-    else __gen_e_acsl_and_2 = 0;
-    __gen_e_acsl_at_3 = __gen_e_acsl_and_2;
+    __gen_e_acsl_at_3 = __gen_e_acsl_or;
   }
-  __e_acsl_store_block((void *)(& __gen_e_acsl_at_2),8UL);
   __gen_e_acsl_at_2 = l;
-  __e_acsl_store_block((void *)(& __gen_e_acsl_at),4UL);
-  __gen_e_acsl_at = l == (void *)0;
+  __gen_e_acsl_at = l == (struct list *)0;
+  __e_acsl_store_block((void *)(& l),(size_t)8);
   __retres = f(l);
   {
     int __gen_e_acsl_implies;
@@ -119,8 +113,8 @@ struct list *__gen_e_acsl_f(struct list *l)
     else __gen_e_acsl_implies_2 = __retres == __gen_e_acsl_at_4;
     __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
                     (char *)"f",
-                    (char *)"\\old(!\\valid{Here}(l) && !\\valid{Here}(l->next)) ==> \\result == \\old(l)",
-                    20);
+                    (char *)"\\old(!\\valid{Here}(l) || !\\valid{Here}(l->next)) ==> \\result == \\old(l)",
+                    19);
     __e_acsl_delete_block((void *)(& l));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c
index a956c2f63b3ff4ac66124a9822480ef5e3bd2291..ed998b8cb0fa6a35045fd43761a59fb9b93375f7 100644
--- a/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c
+++ b/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c
@@ -1,10 +1,12 @@
 /* Generated by Frama-C */
+#include "stdio.h"
+#include "stdlib.h"
 int LAST;
 int *new_inversed(int len, int *v)
 {
   int i;
   int *p;
-  __e_acsl_store_block((void *)(& p),8UL);
+  __e_acsl_store_block((void *)(& p),(size_t)8);
   __e_acsl_full_init((void *)(& p));
   p = (int *)malloc(sizeof(int) * (unsigned long)len);
   i = 0;
@@ -20,41 +22,35 @@ int *new_inversed(int len, int *v)
 int main(void)
 {
   int __retres;
-  int x;
-  int v1[3];
   int *v2;
-  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
-  __e_acsl_store_block((void *)(& v2),8UL);
-  __e_acsl_store_block((void *)(v1),12UL);
-  x = 3;
-  __e_acsl_initialize((void *)(v1),sizeof(int));
-  v1[0] = 1;
-  __e_acsl_initialize((void *)(& v1[1]),sizeof(int));
-  v1[1] = 2;
-  __e_acsl_initialize((void *)(& v1[2]),sizeof(int));
-  v1[2] = x;
+  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
+  __e_acsl_store_block((void *)(& v2),(size_t)8);
+  int x = 3;
+  int v1[3] = {1, 2, x};
+  __e_acsl_store_block((void *)(v1),(size_t)12);
+  __e_acsl_full_init((void *)(& v1));
   LAST = v1[2];
   /*@ assert \initialized(&v1[2]); */
   {
     int __gen_e_acsl_initialized;
-    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2UL]),
+    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]),
                                                     sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
                     (char *)"main",(char *)"\\initialized(&v1[2])",24);
   }
   __e_acsl_full_init((void *)(& v2));
   v2 = new_inversed(3,v1);
+  /*@ assert Eva: initialization: \initialized(v2 + 2); */
   LAST = *(v2 + 2);
-  /*@ assert \initialized(v2+2); */
+  /*@ assert \initialized(v2 + 2); */
   {
     int __gen_e_acsl_initialized_2;
-    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2UL),
+    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2),
                                                       sizeof(int));
     __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(v2+2)",27);
+                    (char *)"main",(char *)"\\initialized(v2 + 2)",27);
   }
   /*@ assert LAST ≡ 1; */
-  /*@ assert Value: initialisation: \initialized(&LAST); */
   __e_acsl_assert(LAST == 1,(char *)"Assertion",(char *)"main",
                   (char *)"LAST == 1",28);
   free((void *)v2);
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
index 3408a9d5cd5b3182d88c007e7ac4a0151d87f882..2ae6332f88fc911b73f5d0ed1321e089bf186ff4 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c
@@ -40,7 +40,7 @@ int main(int argc, char const **argv)
   {
     int __gen_e_acsl_or;
     /*@ assert
-        Value: ptr_comparison: \pointer_comparable((void *)g1, (void *)0);
+        Eva: ptr_comparison: \pointer_comparable((void *)g1, (void *)0);
     */
     if (g1 == (char *)0) __gen_e_acsl_or = 1;
     else {
@@ -64,7 +64,7 @@ int main(int argc, char const **argv)
   {
     int __gen_e_acsl_or_2;
     /*@ assert
-        Value: ptr_comparison: \pointer_comparable((void *)g2, (void *)0);
+        Eva: ptr_comparison: \pointer_comparable((void *)g2, (void *)0);
     */
     if (g2 == (char *)0) __gen_e_acsl_or_2 = 1;
     else {