diff --git a/src/plugins/e-acsl/src/analyses/labels.ml b/src/plugins/e-acsl/src/analyses/labels.ml
index afca5076f37a87bf7ff513a5d848aa0fb1a751b5..adc84060c757cbc13e40932b813a3cf9276a4f00 100644
--- a/src/plugins/e-acsl/src/analyses/labels.ml
+++ b/src/plugins/e-acsl/src/analyses/labels.ml
@@ -58,7 +58,7 @@ let preprocess_done = ref false
 
 (** Associate a statement with the [at_data] that need to be translated on
     this statement. *)
-let at_data_for_stmts: At_data.Set.t ref Stmt.Hashtbl.t =
+let at_data_for_stmts: At_data.t list ref Stmt.Hashtbl.t =
   Stmt.Hashtbl.create 17
 
 (** Add [data] to the list of [at_data] that must be translated on the
@@ -69,23 +69,22 @@ let add_at_for_stmt data stmt =
     try
       Stmt.Hashtbl.find at_data_for_stmts stmt
     with Not_found ->
-      let ats_ref = ref At_data.Set.empty in
+      let ats_ref = ref [] in
       Stmt.Hashtbl.add at_data_for_stmts stmt ats_ref;
       ats_ref
   in
   let old_data =
     try
-      At_data.Set.find data !ats_ref
+      List.find (At_data.equal data) !ats_ref
     with Not_found ->
-      ats_ref := At_data.Set.add data !ats_ref;
+      ats_ref := data :: !ats_ref;
       data
   in
   match old_data.error, data.error with
   | Some _, None ->
     (* Replace the old data that has an error with the new data that do not
        have one. *)
-    ats_ref := At_data.Set.remove old_data !ats_ref;
-    ats_ref := At_data.Set.add data !ats_ref
+    ats_ref := data :: List.filter (fun d -> not @@ At_data.equal d old_data) !ats_ref;
   | Some _, Some _
   | None, Some _
   | None, None ->
@@ -97,7 +96,7 @@ let add_at_for_stmt data stmt =
 let at_for_stmt stmt =
   if !preprocess_done then
     let ats_ref =
-      Stmt.Hashtbl.find_def at_data_for_stmts stmt (ref At_data.Set.empty)
+      Stmt.Hashtbl.find_def at_data_for_stmts stmt (ref [])
     in
     Result.Ok !ats_ref
   else
@@ -558,7 +557,7 @@ let _debug () =
        Options.feedback ~level:2 "| - stmt %d at %a"
          stmt.sid
          Printer.pp_location (Stmt.loc stmt);
-       At_data.Set.iter
+       List.iter
          (fun at ->
             Options.feedback ~level:2 "|    - at %a"
               At_data.pretty at)
diff --git a/src/plugins/e-acsl/src/analyses/labels.mli b/src/plugins/e-acsl/src/analyses/labels.mli
index 1c9a7951d7f6ec09658a45ceaf76108306983fc9..40627c15b5d5991bba11f4e1cee35a1d88ed5da5 100644
--- a/src/plugins/e-acsl/src/analyses/labels.mli
+++ b/src/plugins/e-acsl/src/analyses/labels.mli
@@ -35,7 +35,7 @@ val get_first_inner_stmt: stmt -> stmt
 (** If the given statement has a label, return the first statement of the block.
     Otherwise return the given statement. *)
 
-val at_for_stmt: stmt -> At_data.Set.t Error.result
+val at_for_stmt: stmt -> At_data.t list Error.result
 (** @return the set of labeled predicates and terms to be translated on the
     given statement.
     @raise Not_memoized if the labels pre-analysis was not run. *)
diff --git a/src/plugins/e-acsl/src/code_generator/translate_ats.ml b/src/plugins/e-acsl/src/code_generator/translate_ats.ml
index 58c424efd6d6a3b5344bade03cf8978db2faec40..1b26cd2d50308a6055e3f3eb4bfb914872a423fb 100644
--- a/src/plugins/e-acsl/src/code_generator/translate_ats.ml
+++ b/src/plugins/e-acsl/src/code_generator/translate_ats.ml
@@ -484,8 +484,8 @@ let for_stmt env kf stmt =
 
   (* Translate the [\at()]. *)
   let stmt_translations = Pred_or_term.Hashtbl.create 7 in
-  At_data.Set.fold
-    (fun ({ lscope; pot; error } as at_data) env ->
+  List.fold_left
+    (fun env ({ lscope; pot; error } as at_data) ->
        let open Current_loc.Operators in
        let<> UpdatedCurrentLoc = match pot with
          | PoT_pred p -> p.pred_loc
@@ -519,8 +519,8 @@ let for_stmt env kf stmt =
        Pred_or_term.Hashtbl.replace stmt_translations pot vi_or_err;
        At_data.Hashtbl.replace translations at_data vi_or_err;
        env)
-    at_for_stmt
     env
+    at_for_stmt
 
 let to_exp ~loc ~adata kf env pot label =
   let kinstr = Env.get_kinstr env in
diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c
index f869913749cff6fb6e59c8ffe43152312b6e9825..b9b1b2d81696756053d10fba479a8bb46283e583 100644
--- a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c
+++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c
@@ -28,8 +28,8 @@ void f(void)
   __gen_e_acsl_at_2 = A;
   __gen_e_acsl_at_3 = A;
   A = 1;
-  F: __gen_e_acsl_at_4 = A;
-     __gen_e_acsl_at_5 = __gen_e_acsl_at_2;
+  F: __gen_e_acsl_at_4 = __gen_e_acsl_at_2;
+     __gen_e_acsl_at_5 = A;
      A = 2;
   {
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
@@ -49,14 +49,14 @@ void f(void)
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
       {.values = (void *)0};
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\at(A,F)",0,
-                                 __gen_e_acsl_at_4);
+                                 __gen_e_acsl_at_5);
     __gen_e_acsl_assert_data_2.blocking = 1;
     __gen_e_acsl_assert_data_2.kind = "Assertion";
     __gen_e_acsl_assert_data_2.pred_txt = "\\at(A,F) == 1";
     __gen_e_acsl_assert_data_2.file = "at.i";
     __gen_e_acsl_assert_data_2.fct = "f";
     __gen_e_acsl_assert_data_2.line = 17;
-    __e_acsl_assert(__gen_e_acsl_at_4 == 1,& __gen_e_acsl_assert_data_2);
+    __e_acsl_assert(__gen_e_acsl_at_5 == 1,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
   }
   /*@ assert \at(A,F) == 1; */ ;
@@ -78,14 +78,14 @@ void f(void)
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
       {.values = (void *)0};
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
-                                 "\\at(\\at(A,Pre),F)",0,__gen_e_acsl_at_5);
+                                 "\\at(\\at(A,Pre),F)",0,__gen_e_acsl_at_4);
     __gen_e_acsl_assert_data_4.blocking = 1;
     __gen_e_acsl_assert_data_4.kind = "Assertion";
     __gen_e_acsl_assert_data_4.pred_txt = "\\at(\\at(A,Pre),F) == 0";
     __gen_e_acsl_assert_data_4.file = "at.i";
     __gen_e_acsl_assert_data_4.fct = "f";
     __gen_e_acsl_assert_data_4.line = 19;
-    __e_acsl_assert(__gen_e_acsl_at_5 == 0,& __gen_e_acsl_assert_data_4);
+    __e_acsl_assert(__gen_e_acsl_at_4 == 0,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
   }
   /*@ assert \at(\at(A,Pre),F) == 0; */ ;
@@ -405,8 +405,8 @@ void i(void)
 
 int main(void)
 {
-  long __gen_e_acsl_at_3;
-  int __gen_e_acsl_at_2;
+  int __gen_e_acsl_at_3;
+  long __gen_e_acsl_at_2;
   long __gen_e_acsl_at;
   int __retres;
   int x;
@@ -419,8 +419,8 @@ int main(void)
   L:
   {
     __gen_e_acsl_at = (long)x;
-    __gen_e_acsl_at_2 = x;
-    __gen_e_acsl_at_3 = x + 1L;
+    __gen_e_acsl_at_2 = x + 1L;
+    __gen_e_acsl_at_3 = x;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x);
     __gen_e_acsl_assert_data.blocking = 1;
@@ -442,14 +442,14 @@ int main(void)
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
       {.values = (void *)0};
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\at(x,L)",0,
-                                 __gen_e_acsl_at_2);
+                                 __gen_e_acsl_at_3);
     __gen_e_acsl_assert_data_2.blocking = 1;
     __gen_e_acsl_assert_data_2.kind = "Assertion";
     __gen_e_acsl_assert_data_2.pred_txt = "\\at(x,L) == 0";
     __gen_e_acsl_assert_data_2.file = "at.i";
     __gen_e_acsl_assert_data_2.fct = "main";
     __gen_e_acsl_assert_data_2.line = 77;
-    __e_acsl_assert(__gen_e_acsl_at_2 == 0,& __gen_e_acsl_assert_data_2);
+    __e_acsl_assert(__gen_e_acsl_at_3 == 0,& __gen_e_acsl_assert_data_2);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
   }
   /*@ assert \at(x,L) == 0; */ ;
@@ -457,14 +457,14 @@ int main(void)
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
       {.values = (void *)0};
     __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_3,
-                                  "\\at(x + 1,L)",0,__gen_e_acsl_at_3);
+                                  "\\at(x + 1,L)",0,__gen_e_acsl_at_2);
     __gen_e_acsl_assert_data_3.blocking = 1;
     __gen_e_acsl_assert_data_3.kind = "Assertion";
     __gen_e_acsl_assert_data_3.pred_txt = "\\at(x + 1,L) == 1";
     __gen_e_acsl_assert_data_3.file = "at.i";
     __gen_e_acsl_assert_data_3.fct = "main";
     __gen_e_acsl_assert_data_3.line = 78;
-    __e_acsl_assert(__gen_e_acsl_at_3 == 1L,& __gen_e_acsl_assert_data_3);
+    __e_acsl_assert(__gen_e_acsl_at_2 == 1L,& __gen_e_acsl_assert_data_3);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
   }
   /*@ assert \at(x + 1,L) == 1; */ ;
diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c
index 54abb67f00134052a63240bbff4b4cf8de25563b..3850002297e31c2857172366f0c352b776b1589b 100644
--- a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c
+++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c
@@ -105,19 +105,19 @@ int main(void)
   int *__gen_e_acsl_at_7;
   long *__gen_e_acsl_at_6;
   int *__gen_e_acsl_at_5;
+  int *__gen_e_acsl_at_4;
   int *__gen_e_acsl_at_3;
   long *__gen_e_acsl_at_2;
-  int *__gen_e_acsl_at;
   int __retres;
   int n;
   __e_acsl_memory_init((int *)0,(char ***)0,8UL);
   __gen_e_acsl_at_8 = (long *)malloc(64UL);
-  __gen_e_acsl_at_7 = (int *)malloc(12000UL);
+  __gen_e_acsl_at_7 = (int *)malloc(528UL);
   __gen_e_acsl_at_6 = (long *)malloc(2496UL);
-  __gen_e_acsl_at_5 = (int *)malloc(528UL);
+  __gen_e_acsl_at_5 = (int *)malloc(12000UL);
+  __gen_e_acsl_at_4 = (int *)malloc(4UL);
   __gen_e_acsl_at_3 = (int *)malloc(12UL);
   __gen_e_acsl_at_2 = (long *)malloc(8UL);
-  __gen_e_acsl_at = (int *)malloc(4UL);
   __e_acsl_store_block((void *)(& n),4UL);
   __e_acsl_full_init((void *)(& n));
   n = 7;
@@ -125,12 +125,7 @@ int main(void)
   {
     int __gen_e_acsl_i;
     __gen_e_acsl_i = 3;
-    *(__gen_e_acsl_at + 0) = n + (long)__gen_e_acsl_i == 10L;
-  }
-  {
-    int __gen_e_acsl_i_2;
-    __gen_e_acsl_i_2 = 3;
-    *(__gen_e_acsl_at_2 + 0) = n + (long)__gen_e_acsl_i_2;
+    *(__gen_e_acsl_at_2 + 0) = n + (long)__gen_e_acsl_i;
   }
   {
     int __gen_e_acsl_j;
@@ -141,27 +136,40 @@ int main(void)
       __gen_e_acsl_j ++;
     }
   }
+  {
+    int __gen_e_acsl_i_2;
+    __gen_e_acsl_i_2 = 3;
+    *(__gen_e_acsl_at_4 + 0) = n + (long)__gen_e_acsl_i_2 == 10L;
+  }
   ;
   __e_acsl_full_init((void *)(& n));
   n = 9;
   K:
   {
-    int __gen_e_acsl_k;
     int __gen_e_acsl_u;
     int __gen_e_acsl_v;
-    __gen_e_acsl_k = -7;
-    __gen_e_acsl_u = 9;
+    int __gen_e_acsl_w;
+    __gen_e_acsl_u = 10;
     while (1) {
-      if (__gen_e_acsl_u < 21) ; else break;
-      __gen_e_acsl_v = -5 + 1;
+      if (__gen_e_acsl_u < 20) ; else break;
+      __gen_e_acsl_v = -10 + 1;
       while (1) {
-        if (__gen_e_acsl_v <= 6) ; else break;
         {
-          long __gen_e_acsl_if;
-          if (__gen_e_acsl_u > 0) __gen_e_acsl_if = n + (long)__gen_e_acsl_k;
-          else __gen_e_acsl_if = __gen_e_acsl_u + __gen_e_acsl_v;
-          *(__gen_e_acsl_at_5 + ((__gen_e_acsl_u - 9) * 11 + (__gen_e_acsl_v - -4))) = 
-          __gen_e_acsl_if > 0L;
+          int __gen_e_acsl_u_3;
+          __gen_e_acsl_u_3 = -2;
+          if (__gen_e_acsl_v <= -5 + __gen_e_acsl_u_3) ; else break;
+        }
+        __gen_e_acsl_w = 100 + 1;
+        while (1) {
+          if (__gen_e_acsl_w <= 200) ; else break;
+          {
+            int __gen_e_acsl_u_2;
+            __gen_e_acsl_u_2 = 42;
+            *(__gen_e_acsl_at_5 + ((__gen_e_acsl_u - 10) * 300 + ((__gen_e_acsl_v - -9) * 100 + (
+                                                                  __gen_e_acsl_w - 101)))) = 
+            (((n - (long)__gen_e_acsl_u) + __gen_e_acsl_u_2) + __gen_e_acsl_v) + __gen_e_acsl_w > 0L;
+          }
+          __gen_e_acsl_w ++;
         }
         __gen_e_acsl_v ++;
       }
@@ -169,56 +177,47 @@ int main(void)
     }
   }
   {
-    int __gen_e_acsl_u_2;
+    int __gen_e_acsl_u_4;
     int __gen_e_acsl_v_2;
-    __gen_e_acsl_u_2 = 9;
+    __gen_e_acsl_u_4 = 9;
     while (1) {
-      if (__gen_e_acsl_u_2 < 21) ; else break;
+      if (__gen_e_acsl_u_4 < 21) ; else break;
       __gen_e_acsl_v_2 = -5 + 1;
       while (1) {
         {
-          int __gen_e_acsl_if_2;
-          if (__gen_e_acsl_u_2 < 15) __gen_e_acsl_if_2 = __gen_e_acsl_u_2 + 6;
-          else __gen_e_acsl_if_2 = 3;
-          if (__gen_e_acsl_v_2 <= __gen_e_acsl_if_2) ; else break;
+          int __gen_e_acsl_if;
+          if (__gen_e_acsl_u_4 < 15) __gen_e_acsl_if = __gen_e_acsl_u_4 + 6;
+          else __gen_e_acsl_if = 3;
+          if (__gen_e_acsl_v_2 <= __gen_e_acsl_if) ; else break;
         }
-        *(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_2 - 9) * 26 + (__gen_e_acsl_v_2 - -4))) = 
-        (n + (long)__gen_e_acsl_u_2) + __gen_e_acsl_v_2;
+        *(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_4 - 9) * 26 + (__gen_e_acsl_v_2 - -4))) = 
+        (n + (long)__gen_e_acsl_u_4) + __gen_e_acsl_v_2;
         __gen_e_acsl_v_2 ++;
       }
-      __gen_e_acsl_u_2 ++;
+      __gen_e_acsl_u_4 ++;
     }
   }
   {
-    int __gen_e_acsl_u_3;
+    int __gen_e_acsl_k;
+    int __gen_e_acsl_u_5;
     int __gen_e_acsl_v_3;
-    int __gen_e_acsl_w;
-    __gen_e_acsl_u_3 = 10;
+    __gen_e_acsl_k = -7;
+    __gen_e_acsl_u_5 = 9;
     while (1) {
-      if (__gen_e_acsl_u_3 < 20) ; else break;
-      __gen_e_acsl_v_3 = -10 + 1;
+      if (__gen_e_acsl_u_5 < 21) ; else break;
+      __gen_e_acsl_v_3 = -5 + 1;
       while (1) {
+        if (__gen_e_acsl_v_3 <= 6) ; else break;
         {
-          int __gen_e_acsl_u_5;
-          __gen_e_acsl_u_5 = -2;
-          if (__gen_e_acsl_v_3 <= -5 + __gen_e_acsl_u_5) ; else break;
-        }
-        __gen_e_acsl_w = 100 + 1;
-        while (1) {
-          if (__gen_e_acsl_w <= 200) ; else break;
-          {
-            int __gen_e_acsl_u_4;
-            __gen_e_acsl_u_4 = 42;
-            *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_3 - 10) * 300 + ((
-                                                                    __gen_e_acsl_v_3 - -9) * 100 + (
-                                                                    __gen_e_acsl_w - 101)))) = 
-            (((n - (long)__gen_e_acsl_u_3) + __gen_e_acsl_u_4) + __gen_e_acsl_v_3) + __gen_e_acsl_w > 0L;
-          }
-          __gen_e_acsl_w ++;
+          long __gen_e_acsl_if_2;
+          if (__gen_e_acsl_u_5 > 0) __gen_e_acsl_if_2 = n + (long)__gen_e_acsl_k;
+          else __gen_e_acsl_if_2 = __gen_e_acsl_u_5 + __gen_e_acsl_v_3;
+          *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_5 - 9) * 11 + (__gen_e_acsl_v_3 - -4))) = 
+          __gen_e_acsl_if_2 > 0L;
         }
         __gen_e_acsl_v_3 ++;
       }
-      __gen_e_acsl_u_3 ++;
+      __gen_e_acsl_u_5 ++;
     }
   }
   ;
@@ -231,20 +230,21 @@ int main(void)
     __gen_e_acsl_i_3 = 3;
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                  "\\at(n + i == 10,L)",0,
-                                 *(__gen_e_acsl_at + 0));
+                                 *(__gen_e_acsl_at_4 + 0));
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
       {.values = (void *)0};
-    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0),
+    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + 0),
                                                   sizeof(int),
-                                                  (void *)__gen_e_acsl_at,
-                                                  (void *)(& __gen_e_acsl_at));
+                                                  (void *)__gen_e_acsl_at_4,
+                                                  (void *)(& __gen_e_acsl_at_4));
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,
-                                 "__gen_e_acsl_at",(void *)__gen_e_acsl_at);
+                                 "__gen_e_acsl_at_4",
+                                 (void *)__gen_e_acsl_at_4);
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                    "sizeof(int)",0,sizeof(int));
     __gen_e_acsl_assert_data_2.blocking = 1;
     __gen_e_acsl_assert_data_2.kind = "RTE";
-    __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(__gen_e_acsl_at + 0)";
+    __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(__gen_e_acsl_at_4 + 0)";
     __gen_e_acsl_assert_data_2.file = "at_on-purely-logic-variables.c";
     __gen_e_acsl_assert_data_2.fct = "main";
     __gen_e_acsl_assert_data_2.line = 28;
@@ -257,7 +257,7 @@ int main(void)
     __gen_e_acsl_assert_data.file = "at_on-purely-logic-variables.c";
     __gen_e_acsl_assert_data.fct = "main";
     __gen_e_acsl_assert_data.line = 28;
-    __e_acsl_assert(*(__gen_e_acsl_at + 0),& __gen_e_acsl_assert_data);
+    __e_acsl_assert(*(__gen_e_acsl_at_4 + 0),& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
   }
   /*@ assert \let i = 3; \at(n + i == 10,L); */ ;
@@ -341,17 +341,17 @@ int main(void)
             __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
               {.values = (void *)0};
             __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(
-                                                            __gen_e_acsl_at_5 + (int)(
+                                                            __gen_e_acsl_at_7 + (int)(
                                                             (long)((int)(
                                                             (long)((int)(
                                                             __gen_e_acsl_u_6 - 9L)) * 11L)) + (int)(
                                                             __gen_e_acsl_v_4 - -4L))),
                                                             sizeof(int),
-                                                            (void *)__gen_e_acsl_at_5,
-                                                            (void *)(& __gen_e_acsl_at_5));
+                                                            (void *)__gen_e_acsl_at_7,
+                                                            (void *)(& __gen_e_acsl_at_7));
             __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,
-                                         "__gen_e_acsl_at_5",
-                                         (void *)__gen_e_acsl_at_5);
+                                         "__gen_e_acsl_at_7",
+                                         (void *)__gen_e_acsl_at_7);
             __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                          "__gen_e_acsl_u_6",0,
                                          __gen_e_acsl_u_6);
@@ -362,7 +362,7 @@ int main(void)
                                            "sizeof(int)",0,sizeof(int));
             __gen_e_acsl_assert_data_6.blocking = 1;
             __gen_e_acsl_assert_data_6.kind = "RTE";
-            __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_5 +\n            (int)((int)((int)(__gen_e_acsl_u_6 - 9) * 11) +\n                  (int)(__gen_e_acsl_v_4 - -4)))";
+            __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_7 +\n            (int)((int)((int)(__gen_e_acsl_u_6 - 9) * 11) +\n                  (int)(__gen_e_acsl_v_4 - -4)))";
             __gen_e_acsl_assert_data_6.file = "at_on-purely-logic-variables.c";
             __gen_e_acsl_assert_data_6.fct = "main";
             __gen_e_acsl_assert_data_6.line = 34;
@@ -370,7 +370,7 @@ int main(void)
             __e_acsl_assert(__gen_e_acsl_valid_read_3,
                             & __gen_e_acsl_assert_data_6);
             __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
-            if (*(__gen_e_acsl_at_5 + ((__gen_e_acsl_u_6 - 9) * 11 + (
+            if (*(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_6 - 9) * 11 + (
                                        __gen_e_acsl_v_4 - -4)))) ;
             else {
               __gen_e_acsl_forall = 0;
@@ -656,7 +656,7 @@ int main(void)
                 __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
                   {.values = (void *)0};
                 __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(
-                                                                __gen_e_acsl_at_7 + (int)(
+                                                                __gen_e_acsl_at_5 + (int)(
                                                                 (long)((int)(
                                                                 (long)((int)(
                                                                 __gen_e_acsl_u_8 - 10L)) * 300L)) + (int)(
@@ -665,11 +665,11 @@ int main(void)
                                                                 __gen_e_acsl_v_6 - -9L)) * 100L)) + (int)(
                                                                 __gen_e_acsl_w_2 - 101L)))),
                                                                 sizeof(int),
-                                                                (void *)__gen_e_acsl_at_7,
-                                                                (void *)(& __gen_e_acsl_at_7));
+                                                                (void *)__gen_e_acsl_at_5,
+                                                                (void *)(& __gen_e_acsl_at_5));
                 __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,
-                                             "__gen_e_acsl_at_7",
-                                             (void *)__gen_e_acsl_at_7);
+                                             "__gen_e_acsl_at_5",
+                                             (void *)__gen_e_acsl_at_5);
                 __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,
                                              "__gen_e_acsl_u_8",0,
                                              __gen_e_acsl_u_8);
@@ -683,7 +683,7 @@ int main(void)
                                                "sizeof(int)",0,sizeof(int));
                 __gen_e_acsl_assert_data_14.blocking = 1;
                 __gen_e_acsl_assert_data_14.kind = "RTE";
-                __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(__gen_e_acsl_at_7 +\n            (int)((int)((int)(__gen_e_acsl_u_8 - 10) * 300) +\n                  (int)((int)((int)(__gen_e_acsl_v_6 - -9) * 100) +\n                        (int)(__gen_e_acsl_w_2 - 101))))";
+                __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(__gen_e_acsl_at_5 +\n            (int)((int)((int)(__gen_e_acsl_u_8 - 10) * 300) +\n                  (int)((int)((int)(__gen_e_acsl_v_6 - -9) * 100) +\n                        (int)(__gen_e_acsl_w_2 - 101))))";
                 __gen_e_acsl_assert_data_14.file = "at_on-purely-logic-variables.c";
                 __gen_e_acsl_assert_data_14.fct = "main";
                 __gen_e_acsl_assert_data_14.line = 59;
@@ -691,7 +691,7 @@ int main(void)
                 __e_acsl_assert(__gen_e_acsl_valid_read_7,
                                 & __gen_e_acsl_assert_data_14);
                 __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
-                if (! *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_8 - 10) * 300 + (
+                if (! *(__gen_e_acsl_at_5 + ((__gen_e_acsl_u_8 - 10) * 300 + (
                                              (__gen_e_acsl_v_6 - -9) * 100 + (
                                              __gen_e_acsl_w_2 - 101))))) 
                   ;
@@ -751,9 +751,9 @@ int main(void)
   __retres = 0;
   __e_acsl_delete_block((void *)(t));
   __e_acsl_delete_block((void *)(& n));
-  free((void *)__gen_e_acsl_at);
   free((void *)__gen_e_acsl_at_2);
   free((void *)__gen_e_acsl_at_3);
+  free((void *)__gen_e_acsl_at_4);
   free((void *)__gen_e_acsl_at_5);
   free((void *)__gen_e_acsl_at_6);
   free((void *)__gen_e_acsl_at_7);
@@ -785,7 +785,8 @@ void __gen_e_acsl_f(int *t)
       int __gen_e_acsl_valid_read;
       __e_acsl_assert_data_t __gen_e_acsl_assert_data =
         {.values = (void *)0};
-      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m),
+      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + (int)(
+                                                             __gen_e_acsl_m - 4L)),
                                                     sizeof(int),(void *)t,
                                                     (void *)(& t));
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t",(void *)t);
@@ -795,14 +796,14 @@ void __gen_e_acsl_f(int *t)
                                      "sizeof(int)",0,sizeof(int));
       __gen_e_acsl_assert_data.blocking = 1;
       __gen_e_acsl_assert_data.kind = "RTE";
-      __gen_e_acsl_assert_data.pred_txt = "\\valid_read(t + __gen_e_acsl_m)";
+      __gen_e_acsl_assert_data.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_m - 4))";
       __gen_e_acsl_assert_data.file = "at_on-purely-logic-variables.c";
       __gen_e_acsl_assert_data.fct = "f";
       __gen_e_acsl_assert_data.line = 8;
       __gen_e_acsl_assert_data.name = "mem_access";
       __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
-      *(__gen_e_acsl_at + 0) = *(t + __gen_e_acsl_m) == -4;
+      *(__gen_e_acsl_at + 0) = *(t + (__gen_e_acsl_m - 4));
     }
   }
   {
@@ -812,8 +813,7 @@ void __gen_e_acsl_f(int *t)
       int __gen_e_acsl_valid_read_2;
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
         {.values = (void *)0};
-      __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + (int)(
-                                                               __gen_e_acsl_m_2 - 4L)),
+      __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m_2),
                                                       sizeof(int),(void *)t,
                                                       (void *)(& t));
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t",
@@ -824,14 +824,14 @@ void __gen_e_acsl_f(int *t)
                                      "sizeof(int)",0,sizeof(int));
       __gen_e_acsl_assert_data_2.blocking = 1;
       __gen_e_acsl_assert_data_2.kind = "RTE";
-      __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_m_2 - 4))";
+      __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(t + __gen_e_acsl_m_2)";
       __gen_e_acsl_assert_data_2.file = "at_on-purely-logic-variables.c";
       __gen_e_acsl_assert_data_2.fct = "f";
       __gen_e_acsl_assert_data_2.line = 8;
       __gen_e_acsl_assert_data_2.name = "mem_access";
       __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_2);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
-      *(__gen_e_acsl_at_2 + 0) = *(t + (__gen_e_acsl_m_2 - 4));
+      *(__gen_e_acsl_at_2 + 0) = *(t + __gen_e_acsl_m_2) == -4;
     }
   }
   {
@@ -997,17 +997,18 @@ void __gen_e_acsl_f(int *t)
     __gen_e_acsl_m_3 = 4;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
       {.values = (void *)0};
-    __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0),
+    __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0),
                                                     sizeof(int),
-                                                    (void *)__gen_e_acsl_at,
-                                                    (void *)(& __gen_e_acsl_at));
+                                                    (void *)__gen_e_acsl_at_2,
+                                                    (void *)(& __gen_e_acsl_at_2));
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,
-                                 "__gen_e_acsl_at",(void *)__gen_e_acsl_at);
+                                 "__gen_e_acsl_at_2",
+                                 (void *)__gen_e_acsl_at_2);
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9,
                                    "sizeof(int)",0,sizeof(int));
     __gen_e_acsl_assert_data_9.blocking = 1;
     __gen_e_acsl_assert_data_9.kind = "RTE";
-    __gen_e_acsl_assert_data_9.pred_txt = "\\valid_read(__gen_e_acsl_at + 0)";
+    __gen_e_acsl_assert_data_9.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + 0)";
     __gen_e_acsl_assert_data_9.file = "at_on-purely-logic-variables.c";
     __gen_e_acsl_assert_data_9.fct = "f";
     __gen_e_acsl_assert_data_9.line = 8;
@@ -1016,23 +1017,22 @@ void __gen_e_acsl_f(int *t)
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,
                                  "\\old(*(t + m) == -4)",0,
-                                 *(__gen_e_acsl_at + 0));
-    if (*(__gen_e_acsl_at + 0)) {
+                                 *(__gen_e_acsl_at_2 + 0));
+    if (*(__gen_e_acsl_at_2 + 0)) {
       int __gen_e_acsl_valid_read_8;
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 =
         {.values = (void *)0};
-      __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0),
+      __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0),
                                                       sizeof(int),
-                                                      (void *)__gen_e_acsl_at_2,
-                                                      (void *)(& __gen_e_acsl_at_2));
+                                                      (void *)__gen_e_acsl_at,
+                                                      (void *)(& __gen_e_acsl_at));
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,
-                                   "__gen_e_acsl_at_2",
-                                   (void *)__gen_e_acsl_at_2);
+                                   "__gen_e_acsl_at",(void *)__gen_e_acsl_at);
       __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10,
                                      "sizeof(int)",0,sizeof(int));
       __gen_e_acsl_assert_data_10.blocking = 1;
       __gen_e_acsl_assert_data_10.kind = "RTE";
-      __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + 0)";
+      __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at + 0)";
       __gen_e_acsl_assert_data_10.file = "at_on-purely-logic-variables.c";
       __gen_e_acsl_assert_data_10.fct = "f";
       __gen_e_acsl_assert_data_10.line = 8;
@@ -1042,8 +1042,8 @@ void __gen_e_acsl_f(int *t)
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
       __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,
                                    "\\old(*(t + (m - 4)))",0,
-                                   *(__gen_e_acsl_at_2 + 0));
-      __gen_e_acsl_and_2 = *(__gen_e_acsl_at_2 + 0) == 9;
+                                   *(__gen_e_acsl_at + 0));
+      __gen_e_acsl_and_2 = *(__gen_e_acsl_at + 0) == 9;
     }
     else __gen_e_acsl_and_2 = 0;
     __gen_e_acsl_assert_data_8.blocking = 1;
diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c
index 40e395ec27c766a1c5613115a1828868132a118b..b301bf239fc22186aeaf8dc676523e050afb0f7e 100644
--- a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c
+++ b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c
@@ -356,19 +356,19 @@ double __gen_e_acsl_avg(double a, double b)
   __e_acsl_mpq_t __gen_e_acsl_at;
   double __retres;
   {
-    __e_acsl_mpq_t __gen_e_acsl_a;
     __e_acsl_mpq_t __gen_e_acsl_b;
-    __gmpq_init(__gen_e_acsl_a);
-    __gmpq_set_d(__gen_e_acsl_a,a);
-    __gmpq_init(__gen_e_acsl_at);
-    __gmpq_set(__gen_e_acsl_at,(__e_acsl_mpq_struct const *)(__gen_e_acsl_a));
+    __e_acsl_mpq_t __gen_e_acsl_a;
     __gmpq_init(__gen_e_acsl_b);
     __gmpq_set_d(__gen_e_acsl_b,b);
+    __gmpq_init(__gen_e_acsl_at);
+    __gmpq_set(__gen_e_acsl_at,(__e_acsl_mpq_struct const *)(__gen_e_acsl_b));
+    __gmpq_init(__gen_e_acsl_a);
+    __gmpq_set_d(__gen_e_acsl_a,a);
     __gmpq_init(__gen_e_acsl_at_2);
     __gmpq_set(__gen_e_acsl_at_2,
-               (__e_acsl_mpq_struct const *)(__gen_e_acsl_b));
-    __gmpq_clear(__gen_e_acsl_a);
+               (__e_acsl_mpq_struct const *)(__gen_e_acsl_a));
     __gmpq_clear(__gen_e_acsl_b);
+    __gmpq_clear(__gen_e_acsl_a);
   }
   __retres = avg(a,b);
   {
@@ -386,8 +386,8 @@ double __gen_e_acsl_avg(double a, double b)
     __gen_e_acsl_delta = 1;
     __gmpq_init(__gen_e_acsl_add);
     __gmpq_add(__gen_e_acsl_add,
-               (__e_acsl_mpq_struct const *)(__gen_e_acsl_at),
-               (__e_acsl_mpq_struct const *)(__gen_e_acsl_at_2));
+               (__e_acsl_mpq_struct const *)(__gen_e_acsl_at_2),
+               (__e_acsl_mpq_struct const *)(__gen_e_acsl_at));
     __gmpq_init(__gen_e_acsl_);
     __gmpq_set_str(__gen_e_acsl_,"2",10);
     __gmpq_init(__gen_e_acsl_div);
@@ -441,9 +441,9 @@ double __gen_e_acsl_avg(double a, double b)
     }
     else __gen_e_acsl_and = 0;
     __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"\\old(a)",
-                                 (__e_acsl_mpq_struct const *)(__gen_e_acsl_at));
-    __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"\\old(b)",
                                  (__e_acsl_mpq_struct const *)(__gen_e_acsl_at_2));
+    __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"\\old(b)",
+                                 (__e_acsl_mpq_struct const *)(__gen_e_acsl_at));
     __gen_e_acsl_assert_data.blocking = 1;
     __gen_e_acsl_assert_data.kind = "Postcondition";
     __gen_e_acsl_assert_data.pred_txt = "\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n  avg_real - delta < \\result < avg_real + delta";
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
index f67fbe8bd183ba14e1360edd8f20bd6fc8a42478..ba7fd848e53192e39a03df7416f9a3aad97b81f2 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
@@ -109,11 +109,11 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
     __e_acsl_store_block((void *)(& Mtmin_out),8UL);
     __e_acsl_store_block((void *)(& Mwmin),8UL);
     __e_acsl_store_block((void *)(& Mtmin_in),8UL);
-    __gen_e_acsl_at = Mtmin_in;
+    __gen_e_acsl_at = Mwmin;
     __gen_e_acsl_at_2 = Mtmin_in;
-    __gen_e_acsl_at_3 = Mtmin_in;
-    __gen_e_acsl_at_4 = Mwmin;
-    __gen_e_acsl_at_5 = Mwmin;
+    __gen_e_acsl_at_3 = Mwmin;
+    __gen_e_acsl_at_4 = Mtmin_in;
+    __gen_e_acsl_at_5 = Mtmin_in;
     __gen_e_acsl_at_6 = Mtmin_out;
     __gen_e_acsl_contract = __e_acsl_contract_init(1UL);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
@@ -187,18 +187,18 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
         {.values = (void *)0};
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
         {.values = (void *)0};
-      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__gen_e_acsl_at_3,
+      __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__gen_e_acsl_at_5,
                                                     sizeof(float),
-                                                    (void *)__gen_e_acsl_at_3,
-                                                    (void *)(& __gen_e_acsl_at_3));
+                                                    (void *)__gen_e_acsl_at_5,
+                                                    (void *)(& __gen_e_acsl_at_5));
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
-                                   "__gen_e_acsl_at_3",
-                                   (void *)__gen_e_acsl_at_3);
+                                   "__gen_e_acsl_at_5",
+                                   (void *)__gen_e_acsl_at_5);
       __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                      "sizeof(float)",0,sizeof(float));
       __gen_e_acsl_assert_data_5.blocking = 1;
       __gen_e_acsl_assert_data_5.kind = "RTE";
-      __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(__gen_e_acsl_at_3)";
+      __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(__gen_e_acsl_at_5)";
       __gen_e_acsl_assert_data_5.file = "bts1307.i";
       __gen_e_acsl_assert_data_5.fct = "bar";
       __gen_e_acsl_assert_data_5.line = 26;
@@ -225,18 +225,18 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
       __gen_e_acsl_assert_data_6.name = "mem_access";
       __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_6);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
-      if (*__gen_e_acsl_at_6 == *__gen_e_acsl_at_3) {
+      if (*__gen_e_acsl_at_6 == *__gen_e_acsl_at_5) {
         __e_acsl_mpq_t __gen_e_acsl_;
         __e_acsl_mpq_t __gen_e_acsl__2;
         __e_acsl_mpq_t __gen_e_acsl__3;
         __e_acsl_mpq_t __gen_e_acsl_mul;
         int __gen_e_acsl_lt;
         __gmpq_init(__gen_e_acsl_);
-        __gmpq_set_d(__gen_e_acsl_,(double)*__gen_e_acsl_at_2);
+        __gmpq_set_d(__gen_e_acsl_,(double)*__gen_e_acsl_at_4);
         __gmpq_init(__gen_e_acsl__2);
         __gmpq_set_str(__gen_e_acsl__2,"085/100",10);
         __gmpq_init(__gen_e_acsl__3);
-        __gmpq_set_d(__gen_e_acsl__3,(double)*__gen_e_acsl_at_5);
+        __gmpq_set_d(__gen_e_acsl__3,(double)*__gen_e_acsl_at_3);
         __gmpq_init(__gen_e_acsl_mul);
         __gmpq_mul(__gen_e_acsl_mul,
                    (__e_acsl_mpq_struct const *)(__gen_e_acsl__2),
@@ -254,18 +254,18 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
         int __gen_e_acsl_valid_read_3;
         __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
           {.values = (void *)0};
-        __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at,
+        __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at_2,
                                                         sizeof(float),
-                                                        (void *)__gen_e_acsl_at,
-                                                        (void *)(& __gen_e_acsl_at));
+                                                        (void *)__gen_e_acsl_at_2,
+                                                        (void *)(& __gen_e_acsl_at_2));
         __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,
-                                     "__gen_e_acsl_at",
-                                     (void *)__gen_e_acsl_at);
+                                     "__gen_e_acsl_at_2",
+                                     (void *)__gen_e_acsl_at_2);
         __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                        "sizeof(float)",0,sizeof(float));
         __gen_e_acsl_assert_data_7.blocking = 1;
         __gen_e_acsl_assert_data_7.kind = "RTE";
-        __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at)";
+        __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at_2)";
         __gen_e_acsl_assert_data_7.file = "bts1307.i";
         __gen_e_acsl_assert_data_7.fct = "bar";
         __gen_e_acsl_assert_data_7.line = 26;
@@ -274,8 +274,8 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
                         & __gen_e_acsl_assert_data_7);
         __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
         __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                       "*\\old(Mtmin_in)",*__gen_e_acsl_at);
-        __gen_e_acsl_if = (double)*__gen_e_acsl_at != 0.;
+                                       "*\\old(Mtmin_in)",*__gen_e_acsl_at_2);
+        __gen_e_acsl_if = (double)*__gen_e_acsl_at_2 != 0.;
       }
       else {
         __e_acsl_mpq_t __gen_e_acsl__4;
@@ -286,7 +286,7 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
         __gmpq_init(__gen_e_acsl__4);
         __gmpq_set_str(__gen_e_acsl__4,"085/100",10);
         __gmpq_init(__gen_e_acsl__5);
-        __gmpq_set_d(__gen_e_acsl__5,(double)*__gen_e_acsl_at_4);
+        __gmpq_set_d(__gen_e_acsl__5,(double)*__gen_e_acsl_at);
         __gmpq_init(__gen_e_acsl_mul_2);
         __gmpq_mul(__gen_e_acsl_mul_2,
                    (__e_acsl_mpq_struct const *)(__gen_e_acsl__4),
@@ -296,7 +296,7 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
         __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_mul_2),
                                      (__e_acsl_mpq_struct const *)(__gen_e_acsl__6));
         __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                       "*\\old(Mwmin)",*__gen_e_acsl_at_4);
+                                       "*\\old(Mwmin)",*__gen_e_acsl_at);
         __gen_e_acsl_if = __gen_e_acsl_ne != 0;
         __gmpq_clear(__gen_e_acsl__4);
         __gmpq_clear(__gen_e_acsl__5);
@@ -306,11 +306,11 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
                                      "*\\old(Mtmin_out)",*__gen_e_acsl_at_6);
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                     "*\\old(Mtmin_in)",*__gen_e_acsl_at_3);
+                                     "*\\old(Mtmin_in)",*__gen_e_acsl_at_5);
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                     "*\\old(Mtmin_in)",*__gen_e_acsl_at_2);
+                                     "*\\old(Mtmin_in)",*__gen_e_acsl_at_4);
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                     "*\\old(Mwmin)",*__gen_e_acsl_at_5);
+                                     "*\\old(Mwmin)",*__gen_e_acsl_at_3);
       __gen_e_acsl_assert_data_4.blocking = 1;
       __gen_e_acsl_assert_data_4.kind = "Postcondition";
       __gen_e_acsl_assert_data_4.pred_txt = "*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85 * *\\old(Mwmin)?\n  *\\old(Mtmin_in) != 0.:\n  0.85 * *\\old(Mwmin) != 0.";
@@ -352,8 +352,8 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
     __e_acsl_store_block((void *)(& Mtmax_out),8UL);
     __e_acsl_store_block((void *)(& Mwmax),8UL);
     __e_acsl_store_block((void *)(& Mtmax_in),8UL);
-    __gen_e_acsl_at = Mtmax_in;
-    __gen_e_acsl_at_2 = Mwmax;
+    __gen_e_acsl_at = Mwmax;
+    __gen_e_acsl_at_2 = Mtmax_in;
     __gen_e_acsl_at_3 = Mtmax_out;
     __gen_e_acsl_contract = __e_acsl_contract_init(1UL);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
@@ -437,7 +437,7 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
       __gmpq_init(__gen_e_acsl_);
       __gmpq_set_d(__gen_e_acsl_,(double)*__gen_e_acsl_at_3);
       __gmpq_init(__gen_e_acsl__2);
-      __gmpq_set_d(__gen_e_acsl__2,(double)*__gen_e_acsl_at);
+      __gmpq_set_d(__gen_e_acsl__2,(double)*__gen_e_acsl_at_2);
       __gmpq_init(__gen_e_acsl__3);
       __gmpq_set_str(__gen_e_acsl__3,"5",10);
       __gmpq_init(__gen_e_acsl__4);
@@ -449,7 +449,7 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
                  (__e_acsl_mpq_struct const *)(__gen_e_acsl__4),
                  (__e_acsl_mpq_struct const *)(__gen_e_acsl__5));
       __gmpq_init(__gen_e_acsl__6);
-      __gmpq_set_d(__gen_e_acsl__6,(double)*__gen_e_acsl_at_2);
+      __gmpq_set_d(__gen_e_acsl__6,(double)*__gen_e_acsl_at);
       __gmpq_init(__gen_e_acsl_mul);
       __gmpq_mul(__gen_e_acsl_mul,
                  (__e_acsl_mpq_struct const *)(__gen_e_acsl_div),
@@ -473,9 +473,9 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
                                      "*\\old(Mtmax_out)",*__gen_e_acsl_at_3);
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                     "*\\old(Mtmax_in)",*__gen_e_acsl_at);
+                                     "*\\old(Mtmax_in)",*__gen_e_acsl_at_2);
       __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4,
-                                     "*\\old(Mwmax)",*__gen_e_acsl_at_2);
+                                     "*\\old(Mwmax)",*__gen_e_acsl_at);
       __gen_e_acsl_assert_data_4.blocking = 1;
       __gen_e_acsl_assert_data_4.kind = "Postcondition";
       __gen_e_acsl_assert_data_4.pred_txt = "*\\old(Mtmax_out) != *\\old(Mtmax_in) + (5 - ((5 / 80) * *\\old(Mwmax)) * 0.4)";
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 73c880a96c69d88ef21b70357a687cf4a8799d7a..27cb9dd93446728ef196bf56a59425b8462883f0 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
@@ -71,8 +71,8 @@ void *memchr(void const *buf, int c, size_t n)
 void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
-  int __gen_e_acsl_at_2;
-  void const *__gen_e_acsl_at;
+  void const *__gen_e_acsl_at_2;
+  int __gen_e_acsl_at;
   void *__retres;
   __e_acsl_store_block((void *)(& __retres),8UL);
   {
@@ -81,8 +81,8 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
     int __gen_e_acsl_forall;
     int __gen_e_acsl_k;
     __e_acsl_store_block((void *)(& buf),8UL);
-    __gen_e_acsl_at = buf;
-    __gen_e_acsl_at_2 = c;
+    __gen_e_acsl_at = c;
+    __gen_e_acsl_at_2 = buf;
     __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
     __gen_e_acsl_exists = 0;
     __gen_e_acsl_i = 0;
@@ -186,20 +186,20 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
           int __gen_e_acsl_valid_read_3;
           __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
             {.values = (void *)0};
-          __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)((char *)__gen_e_acsl_at + __gen_e_acsl_j),
+          __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j),
                                                           sizeof(char),
-                                                          (void *)__gen_e_acsl_at,
-                                                          (void *)(& __gen_e_acsl_at));
+                                                          (void *)__gen_e_acsl_at_2,
+                                                          (void *)(& __gen_e_acsl_at_2));
           __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,
-                                       "__gen_e_acsl_at",
-                                       (void *)__gen_e_acsl_at);
+                                       "__gen_e_acsl_at_2",
+                                       (void *)__gen_e_acsl_at_2);
           __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_4,
                                         "__gen_e_acsl_j",0,__gen_e_acsl_j);
           __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                          "sizeof(char)",0,sizeof(char));
           __gen_e_acsl_assert_data_4.blocking = 1;
           __gen_e_acsl_assert_data_4.kind = "RTE";
-          __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)__gen_e_acsl_at + __gen_e_acsl_j)";
+          __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j)";
           __gen_e_acsl_assert_data_4.file = "bts1390.c";
           __gen_e_acsl_assert_data_4.fct = "memchr";
           __gen_e_acsl_assert_data_4.line = 9;
@@ -207,7 +207,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
           __e_acsl_assert(__gen_e_acsl_valid_read_3,
                           & __gen_e_acsl_assert_data_4);
           __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
-          if ((int)*((char *)__gen_e_acsl_at + __gen_e_acsl_j) != __gen_e_acsl_at_2) 
+          if ((int)*((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j) != __gen_e_acsl_at) 
             ;
           else {
             __gen_e_acsl_forall_2 = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
index 6e05c2f6131c2059f99403a0199e8e14f392efbe..ed9c13bf241340f6e7447a8d8d28dede54037e03 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c
@@ -54,11 +54,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
                            size_t n)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
-  __e_acsl_mpz_t __gen_e_acsl_at_5;
-  char const *__gen_e_acsl_at_4;
-  char *__gen_e_acsl_at_3;
+  char *__gen_e_acsl_at_5;
+  char *__gen_e_acsl_at_4;
+  __e_acsl_mpz_t __gen_e_acsl_at_3;
   char *__gen_e_acsl_at_2;
-  char *__gen_e_acsl_at;
+  char const *__gen_e_acsl_at;
   char *__retres;
   {
     __e_acsl_mpz_t __gen_e_acsl_n;
@@ -89,13 +89,13 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     int __gen_e_acsl_separated;
     __e_acsl_store_block((void *)(& src),8UL);
     __e_acsl_store_block((void *)(& dest),8UL);
-    __gen_e_acsl_at = dest;
+    __gen_e_acsl_at = src;
     __gen_e_acsl_at_2 = dest;
-    __gen_e_acsl_at_3 = dest;
-    __gen_e_acsl_at_4 = src;
     __gmpz_init_set_ui(__gen_e_acsl_n,n);
-    __gmpz_init_set(__gen_e_acsl_at_5,
+    __gmpz_init_set(__gen_e_acsl_at_3,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_n));
+    __gen_e_acsl_at_4 = dest;
+    __gen_e_acsl_at_5 = dest;
     __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
       {.values = (void *)0};
@@ -277,7 +277,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\result",
                                  (void *)__retres);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(dest)",
-                                 (void *)__gen_e_acsl_at_3);
+                                 (void *)__gen_e_acsl_at_5);
     __gen_e_acsl_assert_data_6.blocking = 1;
     __gen_e_acsl_assert_data_6.kind = "Postcondition";
     __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)";
@@ -285,7 +285,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_6.fct = "strncpy";
     __gen_e_acsl_assert_data_6.line = 437;
     __gen_e_acsl_assert_data_6.name = "result_ptr";
-    __e_acsl_assert(__retres == __gen_e_acsl_at_3,
+    __e_acsl_assert(__retres == __gen_e_acsl_at_5,
                     & __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
@@ -293,7 +293,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gmpz_init_set_si(__gen_e_acsl__14,1L);
     __gmpz_init(__gen_e_acsl_sub_7);
     __gmpz_sub(__gen_e_acsl_sub_7,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_5),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3),
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__14));
     __gmpz_init_set_si(__gen_e_acsl__15,0L);
     __gmpz_init(__gen_e_acsl_sub_8);
@@ -308,17 +308,17 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_size_8 = 1UL * __gen_e_acsl__16;
     if (__gen_e_acsl_size_8 <= 0UL) __gen_e_acsl_if_8 = 0UL;
     else __gen_e_acsl_if_8 = __gen_e_acsl_size_8;
-    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(__gen_e_acsl_at_2 + 
+    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(__gen_e_acsl_at_4 + 
                                                                1 * 0),
                                                       __gen_e_acsl_if_8);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)",
-                                 (void *)__gen_e_acsl_at_2);
+                                 (void *)__gen_e_acsl_at_4);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0,
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_5));
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3));
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0,
                                    __gen_e_acsl_size_8);
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0,
@@ -343,7 +343,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gmpz_clear(__gen_e_acsl__15);
     __gmpz_clear(__gen_e_acsl_sub_8);
     __gmpz_clear(__gen_e_acsl_add_4);
-    __gmpz_clear(__gen_e_acsl_at_5);
+    __gmpz_clear(__gen_e_acsl_at_3);
     return __retres;
   }
 }
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c
index 7c44d029d13b4a608006582414c005f68a03fe45..128027b11265ff5b5202c3073a1d642db6844789 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c
@@ -38,12 +38,11 @@ int main(void)
 /*@ ensures *\old(item) == \old(*item); */
 void __gen_e_acsl_f(struct X *item)
 {
-  struct X __gen_e_acsl_at_2;
-  struct X *__gen_e_acsl_at;
+  struct X *__gen_e_acsl_at_2;
+  struct X __gen_e_acsl_at;
   {
     int __gen_e_acsl_valid_read;
     __e_acsl_store_block((void *)(& item),8UL);
-    __gen_e_acsl_at = item;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)item,
                                                   sizeof(struct X),
@@ -62,7 +61,8 @@ void __gen_e_acsl_f(struct X *item)
     __gen_e_acsl_assert_data.name = "mem_access";
     __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
-    __gen_e_acsl_at_2 = *item;
+    __gen_e_acsl_at = *item;
+    __gen_e_acsl_at_2 = item;
   }
   f(item);
   __e_acsl_delete_block((void *)(& item));
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
index 3929c369e311404b5864331f7b2cd16d1fa41f72..da2c84457fbf645025b2ff3696bcd5fb4c6edda8 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c
@@ -63,8 +63,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
                           FILE * restrict stream)
 {
   size_t __gen_e_acsl_at_3;
-  __e_acsl_mpz_t __gen_e_acsl_at_2;
-  void *__gen_e_acsl_at;
+  void *__gen_e_acsl_at_2;
+  __e_acsl_mpz_t __gen_e_acsl_at;
   size_t __retres;
   {
     __e_acsl_mpz_t __gen_e_acsl_size;
@@ -88,10 +88,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     int __gen_e_acsl_valid_2;
     __e_acsl_store_block((void *)(& stream),8UL);
     __e_acsl_store_block((void *)(& ptr),8UL);
-    __gen_e_acsl_at = ptr;
     __gmpz_init_set_ui(__gen_e_acsl_size,size);
-    __gmpz_init_set(__gen_e_acsl_at_2,
+    __gmpz_init_set(__gen_e_acsl_at,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_size));
+    __gen_e_acsl_at_2 = ptr;
     __gen_e_acsl_at_3 = nmemb;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gmpz_init_set_si(__gen_e_acsl_sizeof,1L);
@@ -293,7 +293,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __gmpz_init(__gen_e_acsl_mul_4);
     __gmpz_mul(__gen_e_acsl_mul_4,
                (__e_acsl_mpz_struct const *)(__gen_e_acsl_result),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2));
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at));
     __gmpz_init_set_si(__gen_e_acsl__6,1L);
     __gmpz_init(__gen_e_acsl_sub_3);
     __gmpz_sub(__gen_e_acsl_sub_3,
@@ -343,11 +343,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __e_acsl_assert(__gen_e_acsl_le_5 <= 0,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
     __gen_e_acsl_size_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2));
-    __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 
+    __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at_2 + 
                                                              1 * 0),
                                                     __gen_e_acsl_size_8);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)",
-                                 __gen_e_acsl_at);
+                                 __gen_e_acsl_at_2);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)",
@@ -356,7 +356,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
                                    __retres);
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)",
                                  0,
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2));
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0,
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0,
@@ -390,7 +390,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __gmpz_clear(__gen_e_acsl_mul_5);
     __gmpz_clear(__gen_e_acsl_if_2);
     __gmpz_clear(__gen_e_acsl__9);
-    __gmpz_clear(__gen_e_acsl_at_2);
+    __gmpz_clear(__gen_e_acsl_at);
     return __retres;
   }
 }
diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c
index a89b03788ba4bdb0ffcb6a3e64e5b4e6825ffd5a..9f2896b4fee3591fe4dc47a6d3e5e44b764be591 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c
@@ -61,8 +61,8 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g,
   int __gen_e_acsl_at;
   {
     int __gen_e_acsl_assumes_value;
-    __gen_e_acsl_at = b;
-    __gen_e_acsl_at_2 = e;
+    __gen_e_acsl_at = e;
+    __gen_e_acsl_at_2 = b;
     __gen_e_acsl_contract = __e_acsl_contract_init(1UL);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
@@ -334,25 +334,25 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g,
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 =
       {.values = (void *)0};
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,
-                                 "__gen_e_acsl_at",0,__gen_e_acsl_at);
+                                 "__gen_e_acsl_at_2",0,__gen_e_acsl_at_2);
     __gen_e_acsl_assert_data_19.blocking = 1;
     __gen_e_acsl_assert_data_19.kind = "RTE";
-    __gen_e_acsl_assert_data_19.pred_txt = "__gen_e_acsl_at != 0";
+    __gen_e_acsl_assert_data_19.pred_txt = "__gen_e_acsl_at_2 != 0";
     __gen_e_acsl_assert_data_19.file = "rte.i";
     __gen_e_acsl_assert_data_19.fct = "test";
     __gen_e_acsl_assert_data_19.line = 8;
     __gen_e_acsl_assert_data_19.name = "division_by_zero";
-    __e_acsl_assert(__gen_e_acsl_at != 0,& __gen_e_acsl_assert_data_19);
+    __e_acsl_assert(__gen_e_acsl_at_2 != 0,& __gen_e_acsl_assert_data_19);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"\\old(b)",0,
-                                 __gen_e_acsl_at);
+                                 __gen_e_acsl_at_2);
     __gen_e_acsl_assert_data_18.blocking = 1;
     __gen_e_acsl_assert_data_18.kind = "Postcondition";
     __gen_e_acsl_assert_data_18.pred_txt = "1 % \\old(b) == 1";
     __gen_e_acsl_assert_data_18.file = "rte.i";
     __gen_e_acsl_assert_data_18.fct = "test";
     __gen_e_acsl_assert_data_18.line = 8;
-    __e_acsl_assert(1 % __gen_e_acsl_at == 1,& __gen_e_acsl_assert_data_18);
+    __e_acsl_assert(1 % __gen_e_acsl_at_2 == 1,& __gen_e_acsl_assert_data_18);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18);
     __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes
     ((__e_acsl_contract_t const *)__gen_e_acsl_contract,0UL);
@@ -362,18 +362,18 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g,
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 =
         {.values = (void *)0};
       __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21,
-                                   "__gen_e_acsl_at_2",0,__gen_e_acsl_at_2);
+                                   "__gen_e_acsl_at",0,__gen_e_acsl_at);
       __gen_e_acsl_assert_data_21.blocking = 1;
       __gen_e_acsl_assert_data_21.kind = "RTE";
-      __gen_e_acsl_assert_data_21.pred_txt = "__gen_e_acsl_at_2 != 0";
+      __gen_e_acsl_assert_data_21.pred_txt = "__gen_e_acsl_at != 0";
       __gen_e_acsl_assert_data_21.file = "rte.i";
       __gen_e_acsl_assert_data_21.fct = "test";
       __gen_e_acsl_assert_data_21.line = 18;
       __gen_e_acsl_assert_data_21.name = "division_by_zero";
-      __e_acsl_assert(__gen_e_acsl_at_2 != 0,& __gen_e_acsl_assert_data_21);
+      __e_acsl_assert(__gen_e_acsl_at != 0,& __gen_e_acsl_assert_data_21);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21);
       __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"\\old(e)",
-                                   0,__gen_e_acsl_at_2);
+                                   0,__gen_e_acsl_at);
       __gen_e_acsl_assert_data_20.blocking = 1;
       __gen_e_acsl_assert_data_20.kind = "Postcondition";
       __gen_e_acsl_assert_data_20.pred_txt = "1 % \\old(e) == 1";
@@ -381,8 +381,7 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g,
       __gen_e_acsl_assert_data_20.fct = "test";
       __gen_e_acsl_assert_data_20.line = 18;
       __gen_e_acsl_assert_data_20.name = "bhvr";
-      __e_acsl_assert(1 % __gen_e_acsl_at_2 == 1,
-                      & __gen_e_acsl_assert_data_20);
+      __e_acsl_assert(1 % __gen_e_acsl_at == 1,& __gen_e_acsl_assert_data_20);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20);
     }
     __e_acsl_contract_clean(__gen_e_acsl_contract);
diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
index 498e8881d33844d2151eea6f3457761ecf70eb49..8558e51e17a8de854f50382b249b38653d819419 100644
--- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
+++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c
@@ -736,6 +736,7 @@ void test_specifier_application(char const *allowed, char const *fmt,
 char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
 {
   unsigned long __gen_e_acsl_strcpy_src_size;
+  char *__gen_e_acsl_at_3;
   char const *__gen_e_acsl_at_2;
   char *__gen_e_acsl_at;
   char *__retres;
@@ -743,6 +744,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
   __e_acsl_store_block((void *)(& dest),8UL);
   __gen_e_acsl_at = dest;
   __gen_e_acsl_at_2 = src;
+  __gen_e_acsl_at_3 = dest;
   __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src);
   __retres = strcpy(dest,src);
   {
@@ -831,13 +833,19 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
 char *__gen_e_acsl_strchr(char const *s, int c)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
-  int __gen_e_acsl_at_2;
+  int __gen_e_acsl_at_5;
+  char const *__gen_e_acsl_at_4;
+  char const *__gen_e_acsl_at_3;
+  char const *__gen_e_acsl_at_2;
   char const *__gen_e_acsl_at;
   char *__retres;
   __e_acsl_store_block((void *)(& __retres),8UL);
   __e_acsl_store_block((void *)(& s),8UL);
   __gen_e_acsl_at = s;
-  __gen_e_acsl_at_2 = c;
+  __gen_e_acsl_at_2 = s;
+  __gen_e_acsl_at_3 = s;
+  __gen_e_acsl_at_4 = s;
+  __gen_e_acsl_at_5 = c;
   __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
   __retres = strchr(s,c);
   {
@@ -884,11 +892,11 @@ char *__gen_e_acsl_strchr(char const *s, int c)
       __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_3,"*\\result",
                                     0,*__retres);
       __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\old(c)",0,
-                                   __gen_e_acsl_at_2);
+                                   __gen_e_acsl_at_5);
       __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
         {.values = (void *)0};
       __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)__retres);
-      __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at);
+      __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at_4);
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
                                    "\\base_addr(\\result)",
                                    __gen_e_acsl_base_addr);
@@ -912,7 +920,7 @@ char *__gen_e_acsl_strchr(char const *s, int c)
       __gen_e_acsl_assert_data_3.fct = "strchr";
       __gen_e_acsl_assert_data_3.line = 198;
       __gen_e_acsl_assert_data_3.name = "found/result_char";
-      __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at_2),
+      __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at_5),
                       & __gen_e_acsl_assert_data_3);
       __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
     }
@@ -1017,12 +1025,14 @@ pid_t __gen_e_acsl_fork(void)
 pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
+  int *__gen_e_acsl_at_2;
   int *__gen_e_acsl_at;
   pid_t __retres;
   {
     int __gen_e_acsl_assumes_value;
     __e_acsl_store_block((void *)(& stat_loc),8UL);
     __gen_e_acsl_at = stat_loc;
+    __gen_e_acsl_at_2 = stat_loc;
     __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
     __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,0UL,
                                            stat_loc == (int *)0);
@@ -1084,8 +1094,9 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options)
                                  __retres);
     if (__retres >= 0) {
       __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,
-                                   "\\old(stat_loc)",(void *)__gen_e_acsl_at);
-      __gen_e_acsl_and = __gen_e_acsl_at != (int *)0;
+                                   "\\old(stat_loc)",
+                                   (void *)__gen_e_acsl_at_2);
+      __gen_e_acsl_and = __gen_e_acsl_at_2 != (int *)0;
     }
     else __gen_e_acsl_and = 0;
     if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1;
diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c
index c71892de48014543d30c8555794adacf3a65e450..667933a94dbeb38cd0bd72751672019c24045d62 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c
+++ b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c
@@ -63,8 +63,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
                           FILE * restrict stream)
 {
   size_t __gen_e_acsl_at_3;
-  __e_acsl_mpz_t __gen_e_acsl_at_2;
-  void *__gen_e_acsl_at;
+  void *__gen_e_acsl_at_2;
+  __e_acsl_mpz_t __gen_e_acsl_at;
   size_t __retres;
   {
     __e_acsl_mpz_t __gen_e_acsl_size;
@@ -88,10 +88,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     int __gen_e_acsl_valid_2;
     __e_acsl_store_block((void *)(& stream),8UL);
     __e_acsl_store_block((void *)(& ptr),8UL);
-    __gen_e_acsl_at = ptr;
     __gmpz_init_set_ui(__gen_e_acsl_size,size);
-    __gmpz_init_set(__gen_e_acsl_at_2,
+    __gmpz_init_set(__gen_e_acsl_at,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_size));
+    __gen_e_acsl_at_2 = ptr;
     __gen_e_acsl_at_3 = nmemb;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gmpz_init_set_si(__gen_e_acsl_sizeof,1L);
@@ -293,7 +293,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __gmpz_init(__gen_e_acsl_mul_4);
     __gmpz_mul(__gen_e_acsl_mul_4,
                (__e_acsl_mpz_struct const *)(__gen_e_acsl_result),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2));
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at));
     __gmpz_init_set_si(__gen_e_acsl__6,1L);
     __gmpz_init(__gen_e_acsl_sub_3);
     __gmpz_sub(__gen_e_acsl_sub_3,
@@ -343,11 +343,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __e_acsl_assert(__gen_e_acsl_le_5 <= 0,& __gen_e_acsl_assert_data_7);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
     __gen_e_acsl_size_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2));
-    __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 
+    __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at_2 + 
                                                              1 * 0),
                                                     __gen_e_acsl_size_8);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)",
-                                 __gen_e_acsl_at);
+                                 __gen_e_acsl_at_2);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)",
@@ -356,7 +356,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
                                    __retres);
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)",
                                  0,
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2));
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0,
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0,
@@ -390,7 +390,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb,
     __gmpz_clear(__gen_e_acsl_mul_5);
     __gmpz_clear(__gen_e_acsl_if_2);
     __gmpz_clear(__gen_e_acsl__9);
-    __gmpz_clear(__gen_e_acsl_at_2);
+    __gmpz_clear(__gen_e_acsl_at);
     return __retres;
   }
 }
diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
index 81522c937fe323622587aadf2e3d27d16dad21fc..2080a3093e2a5d4d02b7d926e23ad669630ec33e 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
+++ b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c
@@ -404,16 +404,18 @@ int main(void)
  */
 void *__gen_e_acsl_memset(void *s, int c, size_t n)
 {
-  size_t __gen_e_acsl_at_3;
-  int __gen_e_acsl_at_2;
+  void *__gen_e_acsl_at_4;
+  int __gen_e_acsl_at_3;
+  size_t __gen_e_acsl_at_2;
   void *__gen_e_acsl_at;
   void *__retres;
   {
     int __gen_e_acsl_valid_or_empty_here_2;
     __e_acsl_store_block((void *)(& s),8UL);
     __gen_e_acsl_at = s;
-    __gen_e_acsl_at_2 = c;
-    __gen_e_acsl_at_3 = n;
+    __gen_e_acsl_at_2 = n;
+    __gen_e_acsl_at_3 = c;
+    __gen_e_acsl_at_4 = s;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gen_e_acsl_valid_or_empty_here_2 = __gen_e_acsl_valid_or_empty_here
     (s,n);
diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
index 6076da2825889a309e1dabd99c585fb4720a596c..a4b1a052376bf9ef8b517c0f475d19f8ed5df1e5 100644
--- a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
+++ b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c
@@ -397,11 +397,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
                            size_t n)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
-  __e_acsl_mpz_t __gen_e_acsl_at_5;
-  char const *__gen_e_acsl_at_4;
-  char *__gen_e_acsl_at_3;
+  char *__gen_e_acsl_at_5;
+  char *__gen_e_acsl_at_4;
+  __e_acsl_mpz_t __gen_e_acsl_at_3;
   char *__gen_e_acsl_at_2;
-  char *__gen_e_acsl_at;
+  char const *__gen_e_acsl_at;
   char *__retres;
   {
     __e_acsl_mpz_t __gen_e_acsl_n;
@@ -432,13 +432,13 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     int __gen_e_acsl_separated;
     __e_acsl_store_block((void *)(& src),8UL);
     __e_acsl_store_block((void *)(& dest),8UL);
-    __gen_e_acsl_at = dest;
+    __gen_e_acsl_at = src;
     __gen_e_acsl_at_2 = dest;
-    __gen_e_acsl_at_3 = dest;
-    __gen_e_acsl_at_4 = src;
     __gmpz_init_set_ui(__gen_e_acsl_n,n);
-    __gmpz_init_set(__gen_e_acsl_at_5,
+    __gmpz_init_set(__gen_e_acsl_at_3,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_n));
+    __gen_e_acsl_at_4 = dest;
+    __gen_e_acsl_at_5 = dest;
     __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
       {.values = (void *)0};
@@ -620,7 +620,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\result",
                                  (void *)__retres);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(dest)",
-                                 (void *)__gen_e_acsl_at_3);
+                                 (void *)__gen_e_acsl_at_5);
     __gen_e_acsl_assert_data_6.blocking = 1;
     __gen_e_acsl_assert_data_6.kind = "Postcondition";
     __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)";
@@ -628,7 +628,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_assert_data_6.fct = "strncpy";
     __gen_e_acsl_assert_data_6.line = 437;
     __gen_e_acsl_assert_data_6.name = "result_ptr";
-    __e_acsl_assert(__retres == __gen_e_acsl_at_3,
+    __e_acsl_assert(__retres == __gen_e_acsl_at_5,
                     & __gen_e_acsl_assert_data_6);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
     __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
@@ -636,7 +636,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gmpz_init_set_si(__gen_e_acsl__8,1L);
     __gmpz_init(__gen_e_acsl_sub_3);
     __gmpz_sub(__gen_e_acsl_sub_3,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_5),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3),
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__8));
     __gmpz_init_set_si(__gen_e_acsl__9,0L);
     __gmpz_init(__gen_e_acsl_sub_4);
@@ -651,17 +651,17 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gen_e_acsl_size_6 = 1UL * __gen_e_acsl__10;
     if (__gen_e_acsl_size_6 <= 0UL) __gen_e_acsl_if_6 = 0UL;
     else __gen_e_acsl_if_6 = __gen_e_acsl_size_6;
-    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at_2 + 
+    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at_4 + 
                                                              1 * 0),
                                                     __gen_e_acsl_if_6);
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)",
-                                 (void *)__gen_e_acsl_at_2);
+                                 (void *)__gen_e_acsl_at_4);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)",
                                  0,1);
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0,
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_5));
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3));
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0,
                                    __gen_e_acsl_size_6);
     __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0,
@@ -686,7 +686,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
     __gmpz_clear(__gen_e_acsl__9);
     __gmpz_clear(__gen_e_acsl_sub_4);
     __gmpz_clear(__gen_e_acsl_add_2);
-    __gmpz_clear(__gen_e_acsl_at_5);
+    __gmpz_clear(__gen_e_acsl_at_3);
     return __retres;
   }
 }
@@ -706,15 +706,15 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
 char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
 {
   unsigned long __gen_e_acsl_strcpy_src_size;
-  char const *__gen_e_acsl_at_3;
-  char *__gen_e_acsl_at_2;
+  char *__gen_e_acsl_at_3;
+  char const *__gen_e_acsl_at_2;
   char *__gen_e_acsl_at;
   char *__retres;
   __e_acsl_store_block((void *)(& src),8UL);
   __e_acsl_store_block((void *)(& dest),8UL);
   __gen_e_acsl_at = dest;
-  __gen_e_acsl_at_2 = dest;
-  __gen_e_acsl_at_3 = src;
+  __gen_e_acsl_at_2 = src;
+  __gen_e_acsl_at_3 = dest;
   __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src);
   __retres = strcpy(dest,src);
   {
diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c
index 6fb11fbc1086ecc71d844419e4c02596e54227d5..b61de0193365722eb37c1ef30d0b5f15fd5fb131 100644
--- a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c
+++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c
@@ -801,8 +801,8 @@ int main(void)
  */
 void __gen_e_acsl_g(long *ptr, size_t size)
 {
-  __e_acsl_mpz_t __gen_e_acsl_at_2;
-  long *__gen_e_acsl_at;
+  long *__gen_e_acsl_at_2;
+  __e_acsl_mpz_t __gen_e_acsl_at;
   {
     __e_acsl_mpz_t __gen_e_acsl_size;
     __e_acsl_mpz_t __gen_e_acsl_size_2;
@@ -821,10 +821,10 @@ void __gen_e_acsl_g(long *ptr, size_t size)
     unsigned long __gen_e_acsl_size_4;
     int __gen_e_acsl_valid;
     __e_acsl_store_block((void *)(& ptr),8UL);
-    __gen_e_acsl_at = ptr;
     __gmpz_init_set_ui(__gen_e_acsl_size,size);
-    __gmpz_init_set(__gen_e_acsl_at_2,
+    __gmpz_init_set(__gen_e_acsl_at,
                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_size));
+    __gen_e_acsl_at_2 = ptr;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gmpz_init_set_si(__gen_e_acsl_sizeof,8L);
     __gmpz_init_set_ui(__gen_e_acsl_size_3,size);
@@ -940,7 +940,7 @@ void __gen_e_acsl_g(long *ptr, size_t size)
     __gmpz_init_set_si(__gen_e_acsl__5,1L);
     __gmpz_init(__gen_e_acsl_add_2);
     __gmpz_add(__gen_e_acsl_add_2,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2),
+               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at),
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
     __gmpz_init_set_si(__gen_e_acsl__6,0L);
     __gmpz_init(__gen_e_acsl_sub_3);
@@ -986,20 +986,20 @@ void __gen_e_acsl_g(long *ptr, size_t size)
     __e_acsl_assert(__gen_e_acsl_le_4 <= 0,& __gen_e_acsl_assert_data_4);
     __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
     __gen_e_acsl_size_6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2));
-    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)__gen_e_acsl_at + 
+    __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)__gen_e_acsl_at_2 + 
                                                    8 * 0),
                                           __gen_e_acsl_size_6,
-                                          (void *)__gen_e_acsl_at,
-                                          (void *)(& __gen_e_acsl_at));
+                                          (void *)__gen_e_acsl_at_2,
+                                          (void *)(& __gen_e_acsl_at_2));
     __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(ptr)",
-                                 (void *)__gen_e_acsl_at);
+                                 (void *)__gen_e_acsl_at_2);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)",
                                  0,8);
     __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)",
                                  0,8);
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"\\old(size)",
                                  0,
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2));
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_at));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0,
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5));
     __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0,
@@ -1029,7 +1029,7 @@ void __gen_e_acsl_g(long *ptr, size_t size)
     __gmpz_clear(__gen_e_acsl_mul_2);
     __gmpz_clear(__gen_e_acsl_if_2);
     __gmpz_clear(__gen_e_acsl__8);
-    __gmpz_clear(__gen_e_acsl_at_2);
+    __gmpz_clear(__gen_e_acsl_at);
     return;
   }
 }
diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
index e03df15a615064ed5a156a094c597055581026d7..b801bccbed31cf76400fa73cdb7fb16d9c2c6331 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c
@@ -739,8 +739,9 @@ int main(void)
  */
 void *__gen_e_acsl_memset(void *s, int c, size_t n)
 {
-  size_t __gen_e_acsl_at_3;
-  int __gen_e_acsl_at_2;
+  void *__gen_e_acsl_at_4;
+  int __gen_e_acsl_at_3;
+  size_t __gen_e_acsl_at_2;
   void *__gen_e_acsl_at;
   void *__retres;
   {
@@ -748,8 +749,9 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n)
     __e_acsl_store_block((void *)(& s),8UL);
     __e_acsl_temporal_pull_parameter((void *)(& s),0U,8UL);
     __gen_e_acsl_at = s;
-    __gen_e_acsl_at_2 = c;
-    __gen_e_acsl_at_3 = n;
+    __gen_e_acsl_at_2 = n;
+    __gen_e_acsl_at_3 = c;
+    __gen_e_acsl_at_4 = s;
     __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
     __gen_e_acsl_valid_or_empty_here_2 = __gen_e_acsl_valid_or_empty_here
     (s,n);