diff --git a/src/plugins/e-acsl/misc.ml b/src/plugins/e-acsl/misc.ml
index f42c4f16be31cb8414b1c6ea53c8a374c5de54cb..3a75ca7e4dd14bdbd3482eee3a58ef30e9c17f41 100644
--- a/src/plugins/e-acsl/misc.ml
+++ b/src/plugins/e-acsl/misc.ml
@@ -58,10 +58,13 @@ let mk_call ?(loc=Location.unknown) ?result fname args =
   let args =
     List.map2
       (fun (_, ty, _) arg -> 
-	match ty, unrollType (typeOf arg), arg.enode with
-	| TPtr _, TArray _, Lval lv -> Cil.new_exp ~loc (StartOf lv)
-	| TPtr _, TArray _, _ -> assert false
-	| _, ty_arg, _ -> Cil.mkCastT ~force:false ~e:arg ~newt:ty ~oldt:ty_arg)
+	let e =
+	  match ty, unrollType (typeOf arg), arg.enode with
+	  | TPtr _, TArray _, Lval lv -> Cil.new_exp ~loc (StartOf lv)
+	  | TPtr _, TArray _, _ -> assert false
+	  | _, _, _ -> arg
+	in
+	Cil.mkCast ~force:false ~newt:ty ~e)
       ty_params
       args
   in
diff --git a/src/plugins/e-acsl/pre_analysis.ml b/src/plugins/e-acsl/pre_analysis.ml
index da66aa3e1dbf865bba73b2692edd509946bee26c..64c294cd0b7e10d4ffe782c42153c7f6937668dd 100644
--- a/src/plugins/e-acsl/pre_analysis.ml
+++ b/src/plugins/e-acsl/pre_analysis.ml
@@ -126,12 +126,15 @@ module rec Transfer
       the one we have just computed. Return None if the combination is the same
       as the old data, otherwise return the combination. In the latter case, the
       predecessors of the statement are put on the working list. *)
-  let combineStmtStartData _stmt ~old state = match old, state with
+  let combineStmtStartData stmt ~old state = match old, state with
     | _, None -> assert false
     | None, Some _ -> Some state (* [old] already included in [state] *)
     | Some old, Some new_ -> 
-      assert (Varinfo.Set.equal old new_);
-      None
+      match stmt.skind with
+      | Return _ -> Some (Some (Varinfo.Set.union old new_))
+      | _ ->
+	assert (Varinfo.Set.equal old new_);
+	None
 
   (** Take the data from two successors and combine it *)
   let combineSuccessors s1 s2 = 
@@ -278,7 +281,7 @@ module rec Transfer
 		| Lt | Gt | Le | Ge | Eq | Ne | BAnd | BXor | BOr | LAnd | LOr),
 	    _, _, _)
     | UnOp _ | Const _ | SizeOf _ | SizeOfE _ | SizeOfStr _ | AlignOf _ 
-    | AlignOfE _ -> assert false
+    | AlignOfE _ -> acc
     in
     aux [] e
 
@@ -306,11 +309,25 @@ module rec Transfer
       (match f_exp.enode with
       | Lval(Var vi, NoOffset) ->
 	let kf = Globals.Functions.get vi in
+	let params = Globals.Functions.get_params kf in
 	let state =
 	  if Kernel_function.is_definition kf then
-	    let state_kf = Compute.get kf in
-	    (* keep arguments whenever the corresponding formals must be kept *)
 	    try
+	      let init =
+		List.fold_left2
+		  (fun acc p a -> 
+		    let bases = base_addr a in
+		    if List.exists 
+		      (fun vi -> Varinfo.Set.mem vi state) bases 
+		    then Varinfo.Set.add p acc
+		    else acc)
+		  Varinfo.Set.empty
+		  params
+		  l
+	      in
+	      let state_kf = Compute.get ~init kf in
+	      (* keep arguments whenever the corresponding formals must be 
+		 kept *)
 	      List.fold_left2
 		(fun acc p a -> 
 		  if Varinfo.Set.mem p state_kf then 
@@ -318,17 +335,21 @@ module rec Transfer
 		  else
 		    acc)
 		state
-		(Globals.Functions.get_params kf)
+		params
 		l
 	    with Invalid_argument _ -> 
-	      Error.not_yet "variadic function call"
+	      Options.warning
+		"ignoring effect of variadic function %a" 
+		Kernel_function.pretty
+		kf;
+	      state
 	  else
 	    state
 	in
 	let state = match result with
 	  | None -> state
 	  | Some (lhost, _) ->
-		(* result of this call must be kept; so keep each argument *)
+	    (* result of this call must be kept; so keep each argument *)
 	    List.fold_left (fun acc e -> extend_to_expr acc lhost e) state l
 	in
 	Dataflow.Done (Some state)
@@ -355,11 +376,13 @@ module rec Transfer
 
 end
 
-and Compute: sig val get: kernel_function -> Varinfo.Set.t end = struct
+and Compute: sig 
+  val get: ?init:Varinfo.Set.t -> kernel_function -> Varinfo.Set.t 
+end = struct
 
   module D = Dataflow.Backwards(Transfer)
 
-  let compute kf = 
+  let compute init_set kf = 
 (*    Options.feedback "ANALYSING %a" Kernel_function.pretty kf;*)
     let tbl = Stmt.Hashtbl.create 17 in
     Env.add kf tbl;
@@ -376,16 +399,17 @@ and Compute: sig val get: kernel_function -> Varinfo.Set.t end = struct
       let fundec = Kernel_function.get_definition kf in
       let stmt = Kernel_function.find_return kf in
       ignore (Visitor.visitFramacFunction init fundec);
+      Extlib.may (fun set -> Stmt.Hashtbl.replace tbl stmt (Some set)) init_set;
       D.compute [ stmt ];
       tbl
     with Kernel_function.No_Definition | Kernel_function.No_Statement -> 
       tbl
 
-  let get kf =
+  let get ?init kf =
     try
       let stmt = Kernel_function.find_first_stmt kf in
 (*      Options.feedback "GETTING %a" Kernel_function.pretty kf;*)
-      let tbl = try Env.find kf	with Not_found -> Env.apply compute kf in
+      let tbl = try Env.find kf	with Not_found -> Env.apply (compute init) kf in
       try
 	let set = Stmt.Hashtbl.find tbl stmt in
 	Env.default_varinfos set
@@ -402,6 +426,7 @@ let consolidated_must_model_vi ?kf vi =
   else
     (match kf with
     | None -> 
+      (* TODO: should iterate in callgraph order *)
       Globals.Functions.iter 
 	(fun kf -> 
 	  let set = Compute.get kf in
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/bts1304.i b/src/plugins/e-acsl/tests/e-acsl-runtime/bts1304.i
new file mode 100644
index 0000000000000000000000000000000000000000..65c785fa8e4dc4ab0c5f8d57b938b7796f5d441d
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/bts1304.i
@@ -0,0 +1,27 @@
+/* run.config
+   COMMENT: argument of functions must be kept, so keep its parameter
+   EXECNOW: LOG gen_bts1304.c BIN gen_bts1304.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/bts1304.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_bts1304.c > /dev/null && ./gcc_test.sh bts1304
+   EXECNOW: LOG gen_bts13042.c BIN gen_bts13042.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/bts1304.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_bts13042.c > /dev/null && ./gcc_test.sh bts13042
+*/
+
+struct msgA { int type; int a[2]; };
+struct msgB { int type; double x; };
+union msg {
+  struct { int type; } T;
+  struct msgA A;
+  struct msgB B;
+};
+
+void read_sensor_4(unsigned* m) {
+  /* put 4 bytes from sensors into m */
+  *m = 0;
+}
+
+int main(void) {
+  unsigned char buf[sizeof(union msg)];
+  int i;
+  for(i = 0; i < sizeof(buf)/4; i++)
+    read_sensor_4((unsigned*)buf+i);
+  /*@ assert \initialized((union msg*)buf); */
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
index 98981d43996e678eed668fec03979cfaa7d32c36..435bd490cf6c040c77f22b5c3afac41edb040dfb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
@@ -1102,9 +1102,10 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)3);
     __gmpz_init(__e_acsl_neg);
-    __gmpz_neg(__e_acsl_neg,__e_acsl);
+    __gmpz_neg(__e_acsl_neg,(__mpz_struct const *)(__e_acsl));
     __gmpz_init_set_si(__e_acsl_x,(long)x);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_neg,__e_acsl_x);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg),
+                             (__mpz_struct const *)(__e_acsl_x));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"-3 == x",12);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_neg);
@@ -1120,8 +1121,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_2,(long)3);
     __gmpz_init(__e_acsl_neg_2);
-    __gmpz_neg(__e_acsl_neg_2,__e_acsl_2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_neg_2);
+    __gmpz_neg(__e_acsl_neg_2,(__mpz_struct const *)(__e_acsl_2));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_neg_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"x == -3",
                   13);
     __gmpz_clear(__e_acsl_x_2);
@@ -1136,8 +1138,9 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_3,(long)0);
     __gmpz_init(__e_acsl_bnot);
-    __gmpz_com(__e_acsl_bnot,__e_acsl_3);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_3,__e_acsl_bnot);
+    __gmpz_com(__e_acsl_bnot,(__mpz_struct const *)(__e_acsl_3));
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                             (__mpz_struct const *)(__e_acsl_bnot));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"0 != ~0",14);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_bnot);
@@ -1154,11 +1157,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_x_3,__e_acsl_4);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x_3),
+               (__mpz_struct const *)(__e_acsl_4));
     __gmpz_init_set_si(__e_acsl_5,(long)2);
     __gmpz_init(__e_acsl_neg_3);
-    __gmpz_neg(__e_acsl_neg_3,__e_acsl_5);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_add,__e_acsl_neg_3);
+    __gmpz_neg(__e_acsl_neg_3,(__mpz_struct const *)(__e_acsl_5));
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add),
+                               (__mpz_struct const *)(__e_acsl_neg_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"x+1 == -2",
                   16);
     __gmpz_clear(__e_acsl_x_3);
@@ -1179,11 +1184,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
     __gmpz_init(__e_acsl_sub);
-    __gmpz_sub(__e_acsl_sub,__e_acsl_x_4,__e_acsl_6);
+    __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl_x_4),
+               (__mpz_struct const *)(__e_acsl_6));
     __gmpz_init_set_si(__e_acsl_7,(long)4);
     __gmpz_init(__e_acsl_neg_4);
-    __gmpz_neg(__e_acsl_neg_4,__e_acsl_7);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_sub,__e_acsl_neg_4);
+    __gmpz_neg(__e_acsl_neg_4,(__mpz_struct const *)(__e_acsl_7));
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sub),
+                               (__mpz_struct const *)(__e_acsl_neg_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",(char *)"x-1 == -4",
                   17);
     __gmpz_clear(__e_acsl_x_4);
@@ -1204,11 +1211,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_5,(long)x);
     __gmpz_init_set_si(__e_acsl_8,(long)3);
     __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,__e_acsl_x_5,__e_acsl_8);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_x_5),
+               (__mpz_struct const *)(__e_acsl_8));
     __gmpz_init_set_si(__e_acsl_9,(long)9);
     __gmpz_init(__e_acsl_neg_5);
-    __gmpz_neg(__e_acsl_neg_5,__e_acsl_9);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_mul,__e_acsl_neg_5);
+    __gmpz_neg(__e_acsl_neg_5,(__mpz_struct const *)(__e_acsl_9));
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mul),
+                               (__mpz_struct const *)(__e_acsl_neg_5));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Assertion",(char *)"x*3 == -9",
                   18);
     __gmpz_clear(__e_acsl_x_5);
@@ -1231,16 +1240,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_10,(long)3);
     __gmpz_init_set_si(__e_acsl_11,0L);
-    __e_acsl_div_guard = __gmpz_cmp(__e_acsl_10,__e_acsl_11);
+    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                                    (__mpz_struct const *)(__e_acsl_11));
     __gmpz_init(__e_acsl_div);
     /*@ assert E_ACSL: 3 ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                   (char *)"3 == 0",19);
-    __gmpz_tdiv_q(__e_acsl_div,__e_acsl_x_6,__e_acsl_10);
+    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_x_6),
+                  (__mpz_struct const *)(__e_acsl_10));
     __gmpz_init_set_si(__e_acsl_12,(long)1);
     __gmpz_init(__e_acsl_neg_6);
-    __gmpz_neg(__e_acsl_neg_6,__e_acsl_12);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_div,__e_acsl_neg_6);
+    __gmpz_neg(__e_acsl_neg_6,(__mpz_struct const *)(__e_acsl_12));
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div),
+                               (__mpz_struct const *)(__e_acsl_neg_6));
     e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Assertion",(char *)"x/3 == -1",
                   19);
     __gmpz_clear(__e_acsl_x_6);
@@ -1261,14 +1273,17 @@ int main(void)
     int __e_acsl_eq_7;
     __gmpz_init_set_str(__e_acsl_13,"17592186044415",10);
     __gmpz_init_set_si(__e_acsl_14,0L);
-    __e_acsl_div_guard_2 = __gmpz_cmp(__e_acsl_13,__e_acsl_14);
+    __e_acsl_div_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13),
+                                      (__mpz_struct const *)(__e_acsl_14));
     __gmpz_init(__e_acsl_div_2);
     /*@ assert E_ACSL: 0xfffffffffff ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard_2 == 0),(char *)"Assertion",
                   (char *)"0xfffffffffff == 0",20);
-    __gmpz_tdiv_q(__e_acsl_div_2,__e_acsl_13,__e_acsl_13);
+    __gmpz_tdiv_q(__e_acsl_div_2,(__mpz_struct const *)(__e_acsl_13),
+                  (__mpz_struct const *)(__e_acsl_13));
     __gmpz_init_set_si(__e_acsl_15,(long)1);
-    __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_div_2,__e_acsl_15);
+    __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div_2),
+                               (__mpz_struct const *)(__e_acsl_15));
     e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",
                   (char *)"0xfffffffffff/0xfffffffffff == 1",20);
     __gmpz_clear(__e_acsl_13);
@@ -1290,16 +1305,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_16,(long)2);
     __gmpz_init_set_si(__e_acsl_17,0L);
-    __e_acsl_mod_guard = __gmpz_cmp(__e_acsl_16,__e_acsl_17);
+    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                                    (__mpz_struct const *)(__e_acsl_17));
     __gmpz_init(__e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
                   (char *)"2 == 0",21);
-    __gmpz_tdiv_r(__e_acsl_mod,__e_acsl_x_7,__e_acsl_16);
+    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_x_7),
+                  (__mpz_struct const *)(__e_acsl_16));
     __gmpz_init_set_si(__e_acsl_18,(long)1);
     __gmpz_init(__e_acsl_neg_7);
-    __gmpz_neg(__e_acsl_neg_7,__e_acsl_18);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_mod,__e_acsl_neg_7);
+    __gmpz_neg(__e_acsl_neg_7,(__mpz_struct const *)(__e_acsl_18));
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
+                               (__mpz_struct const *)(__e_acsl_neg_7));
     e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"x%2 == -1",
                   21);
     __gmpz_clear(__e_acsl_x_7);
@@ -1324,21 +1342,24 @@ int main(void)
     int __e_acsl_eq_9;
     __gmpz_init_set_si(__e_acsl_19,(long)3);
     __gmpz_init(__e_acsl_neg_8);
-    __gmpz_neg(__e_acsl_neg_8,__e_acsl_19);
+    __gmpz_neg(__e_acsl_neg_8,(__mpz_struct const *)(__e_acsl_19));
     __gmpz_init_set_si(__e_acsl_20,(long)2);
     __gmpz_init(__e_acsl_neg_9);
-    __gmpz_neg(__e_acsl_neg_9,__e_acsl_20);
+    __gmpz_neg(__e_acsl_neg_9,(__mpz_struct const *)(__e_acsl_20));
     __gmpz_init_set_si(__e_acsl_21,0L);
-    __e_acsl_mod_guard_2 = __gmpz_cmp(__e_acsl_neg_9,__e_acsl_21);
+    __e_acsl_mod_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_9),
+                                      (__mpz_struct const *)(__e_acsl_21));
     __gmpz_init(__e_acsl_mod_2);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_2 == 0),(char *)"Assertion",
                   (char *)"-2 == 0",22);
-    __gmpz_tdiv_r(__e_acsl_mod_2,__e_acsl_neg_8,__e_acsl_neg_9);
+    __gmpz_tdiv_r(__e_acsl_mod_2,(__mpz_struct const *)(__e_acsl_neg_8),
+                  (__mpz_struct const *)(__e_acsl_neg_9));
     __gmpz_init_set_si(__e_acsl_22,(long)1);
     __gmpz_init(__e_acsl_neg_10);
-    __gmpz_neg(__e_acsl_neg_10,__e_acsl_22);
-    __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_mod_2,__e_acsl_neg_10);
+    __gmpz_neg(__e_acsl_neg_10,(__mpz_struct const *)(__e_acsl_22));
+    __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod_2),
+                               (__mpz_struct const *)(__e_acsl_neg_10));
     e_acsl_assert(__e_acsl_eq_9 == 0,(char *)"Assertion",
                   (char *)"-3%-2 == -1",22);
     __gmpz_clear(__e_acsl_19);
@@ -1364,16 +1385,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_23,(long)3);
     __gmpz_init_set_si(__e_acsl_24,(long)2);
     __gmpz_init(__e_acsl_neg_11);
-    __gmpz_neg(__e_acsl_neg_11,__e_acsl_24);
+    __gmpz_neg(__e_acsl_neg_11,(__mpz_struct const *)(__e_acsl_24));
     __gmpz_init_set_si(__e_acsl_25,0L);
-    __e_acsl_mod_guard_3 = __gmpz_cmp(__e_acsl_neg_11,__e_acsl_25);
+    __e_acsl_mod_guard_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_11),
+                                      (__mpz_struct const *)(__e_acsl_25));
     __gmpz_init(__e_acsl_mod_3);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_3 == 0),(char *)"Assertion",
                   (char *)"-2 == 0",23);
-    __gmpz_tdiv_r(__e_acsl_mod_3,__e_acsl_23,__e_acsl_neg_11);
+    __gmpz_tdiv_r(__e_acsl_mod_3,(__mpz_struct const *)(__e_acsl_23),
+                  (__mpz_struct const *)(__e_acsl_neg_11));
     __gmpz_init_set_si(__e_acsl_26,(long)1);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_mod_3,__e_acsl_26);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod_3),
+                                (__mpz_struct const *)(__e_acsl_26));
     e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Assertion",
                   (char *)"3%-2 == 1",23);
     __gmpz_clear(__e_acsl_23);
@@ -1403,24 +1427,31 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_8,(long)x);
     __gmpz_init_set_si(__e_acsl_27,(long)2);
     __gmpz_init(__e_acsl_mul_2);
-    __gmpz_mul(__e_acsl_mul_2,__e_acsl_x_8,__e_acsl_27);
+    __gmpz_mul(__e_acsl_mul_2,(__mpz_struct const *)(__e_acsl_x_8),
+               (__mpz_struct const *)(__e_acsl_27));
     __gmpz_init_set_si(__e_acsl_28,(long)3);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_28,__e_acsl_y);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_28),
+               (__mpz_struct const *)(__e_acsl_y));
     __gmpz_init(__e_acsl_add_3);
-    __gmpz_add(__e_acsl_add_3,__e_acsl_mul_2,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_mul_2),
+               (__mpz_struct const *)(__e_acsl_add_2));
     __gmpz_init_set_si(__e_acsl_29,(long)4);
     __gmpz_init(__e_acsl_sub_2);
-    __gmpz_sub(__e_acsl_sub_2,__e_acsl_add_3,__e_acsl_29);
+    __gmpz_sub(__e_acsl_sub_2,(__mpz_struct const *)(__e_acsl_add_3),
+               (__mpz_struct const *)(__e_acsl_29));
     __gmpz_init(__e_acsl_sub_3);
-    __gmpz_sub(__e_acsl_sub_3,__e_acsl_x_8,__e_acsl_y);
+    __gmpz_sub(__e_acsl_sub_3,(__mpz_struct const *)(__e_acsl_x_8),
+               (__mpz_struct const *)(__e_acsl_y));
     __gmpz_init(__e_acsl_add_4);
-    __gmpz_add(__e_acsl_add_4,__e_acsl_sub_2,__e_acsl_sub_3);
+    __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_sub_2),
+               (__mpz_struct const *)(__e_acsl_sub_3));
     __gmpz_init_set_si(__e_acsl_30,(long)10);
     __gmpz_init(__e_acsl_neg_12);
-    __gmpz_neg(__e_acsl_neg_12,__e_acsl_30);
-    __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_add_4,__e_acsl_neg_12);
+    __gmpz_neg(__e_acsl_neg_12,(__mpz_struct const *)(__e_acsl_30));
+    __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_4),
+                                (__mpz_struct const *)(__e_acsl_neg_12));
     e_acsl_assert(__e_acsl_eq_11 == 0,(char *)"Assertion",
                   (char *)"((x*2+(3+y))-4)+(x-y) == -10",25);
     __gmpz_clear(__e_acsl_x_8);
@@ -1451,13 +1482,17 @@ int main(void)
     int __e_acsl_eq_14;
     __gmpz_init_set_si(__e_acsl_31,(long)0);
     __gmpz_init_set_si(__e_acsl_32,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_31,__e_acsl_32);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31),
+                                (__mpz_struct const *)(__e_acsl_32));
     __gmpz_init_set_si(__e_acsl_33,(long)(__e_acsl_eq_12 == 0));
-    __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_31,__e_acsl_31);
+    __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31),
+                                (__mpz_struct const *)(__e_acsl_31));
     __gmpz_init_set_si(__e_acsl_34,(long)(__e_acsl_eq_13 == 0));
-    __e_acsl_not = __gmpz_cmp(__e_acsl_34,__e_acsl_31);
+    __e_acsl_not = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34),
+                              (__mpz_struct const *)(__e_acsl_31));
     __gmpz_init_set_si(__e_acsl_35,(long)(__e_acsl_not == 0));
-    __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_33,__e_acsl_35);
+    __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_33),
+                                (__mpz_struct const *)(__e_acsl_35));
     e_acsl_assert(__e_acsl_eq_14 == 0,(char *)"Assertion",
                   (char *)"(0==1) == !(0==0)",27);
     __gmpz_clear(__e_acsl_31);
@@ -1480,12 +1515,15 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_36,(long)0);
     __gmpz_init_set_si(__e_acsl_37,(long)1);
     __gmpz_init(__e_acsl_neg_13);
-    __gmpz_neg(__e_acsl_neg_13,__e_acsl_37);
-    __e_acsl_le = __gmpz_cmp(__e_acsl_36,__e_acsl_neg_13);
+    __gmpz_neg(__e_acsl_neg_13,(__mpz_struct const *)(__e_acsl_37));
+    __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                             (__mpz_struct const *)(__e_acsl_neg_13));
     __gmpz_init_set_si(__e_acsl_38,(long)(__e_acsl_le <= 0));
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_36,__e_acsl_36);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                             (__mpz_struct const *)(__e_acsl_36));
     __gmpz_init_set_si(__e_acsl_39,(long)(__e_acsl_gt > 0));
-    __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_38,__e_acsl_39);
+    __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38),
+                                (__mpz_struct const *)(__e_acsl_39));
     e_acsl_assert(__e_acsl_eq_15 == 0,(char *)"Assertion",
                   (char *)"(0<=-1) == (0>0)",28);
     __gmpz_clear(__e_acsl_36);
@@ -1508,12 +1546,15 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_40,(long)0);
     __gmpz_init_set_si(__e_acsl_41,(long)1);
     __gmpz_init(__e_acsl_neg_14);
-    __gmpz_neg(__e_acsl_neg_14,__e_acsl_41);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_40,__e_acsl_neg_14);
+    __gmpz_neg(__e_acsl_neg_14,(__mpz_struct const *)(__e_acsl_41));
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40),
+                             (__mpz_struct const *)(__e_acsl_neg_14));
     __gmpz_init_set_si(__e_acsl_42,(long)(__e_acsl_ge >= 0));
-    __e_acsl_le_2 = __gmpz_cmp(__e_acsl_40,__e_acsl_40);
+    __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40),
+                               (__mpz_struct const *)(__e_acsl_40));
     __gmpz_init_set_si(__e_acsl_43,(long)(__e_acsl_le_2 <= 0));
-    __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_42,__e_acsl_43);
+    __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42),
+                                (__mpz_struct const *)(__e_acsl_43));
     e_acsl_assert(__e_acsl_eq_16 == 0,(char *)"Assertion",
                   (char *)"(0>=-1) == (0<=0)",29);
     __gmpz_clear(__e_acsl_40);
@@ -1536,13 +1577,17 @@ int main(void)
     int __e_acsl_eq_17;
     __gmpz_init_set_si(__e_acsl_44,(long)0);
     __gmpz_init_set_si(__e_acsl_45,(long)1);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_44,__e_acsl_45);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_44),
+                               (__mpz_struct const *)(__e_acsl_45));
     __gmpz_init_set_si(__e_acsl_46,(long)(__e_acsl_ne_2 != 0));
-    __e_acsl_ne_3 = __gmpz_cmp(__e_acsl_44,__e_acsl_44);
+    __e_acsl_ne_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_44),
+                               (__mpz_struct const *)(__e_acsl_44));
     __gmpz_init_set_si(__e_acsl_47,(long)(__e_acsl_ne_3 != 0));
-    __e_acsl_not_2 = __gmpz_cmp(__e_acsl_47,__e_acsl_44);
+    __e_acsl_not_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47),
+                                (__mpz_struct const *)(__e_acsl_44));
     __gmpz_init_set_si(__e_acsl_48,(long)(__e_acsl_not_2 == 0));
-    __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_46,__e_acsl_48);
+    __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_46),
+                                (__mpz_struct const *)(__e_acsl_48));
     e_acsl_assert(__e_acsl_eq_17 == 0,(char *)"Assertion",
                   (char *)"(0!=1) == !(0!=0)",30);
     __gmpz_clear(__e_acsl_44);
@@ -1564,14 +1609,18 @@ int main(void)
     mpz_t __e_acsl_53;
     int __e_acsl_eq_18;
     __gmpz_init_set_si(__e_acsl_49,(long)0);
-    __e_acsl_ne_4 = __gmpz_cmp(__e_acsl_49,__e_acsl_49);
+    __e_acsl_ne_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_49),
+                               (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_50,(long)(__e_acsl_ne_4 != 0));
     __gmpz_init_set_si(__e_acsl_51,(long)1);
-    __e_acsl_ne_5 = __gmpz_cmp(__e_acsl_51,__e_acsl_49);
+    __e_acsl_ne_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_51),
+                               (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_52,(long)(__e_acsl_ne_5 != 0));
-    __e_acsl_not_3 = __gmpz_cmp(__e_acsl_52,__e_acsl_49);
+    __e_acsl_not_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52),
+                                (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_53,(long)(__e_acsl_not_3 == 0));
-    __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_50,__e_acsl_53);
+    __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_50),
+                                (__mpz_struct const *)(__e_acsl_53));
     e_acsl_assert(__e_acsl_eq_18 == 0,(char *)"Assertion",
                   (char *)"(0!=0) == !(1!=0)",32);
     __gmpz_clear(__e_acsl_49);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
index d363bc7755daf954521bcf78317f890228a3c25b..ba75ff31ff5cdf88e311aab0671377ae43786694 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle
@@ -199,7 +199,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)T1[0]);
     __gmpz_init_set_si(__e_acsl_2,(long)T2[0]);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"T1[0] == T2[0]",15);
     __gmpz_clear(__e_acsl);
@@ -213,7 +214,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_3,(long)T1[1]);
     __gmpz_init_set_si(__e_acsl_4,(long)T2[1]);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                             (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"T1[1] != T2[1]",16);
     __gmpz_clear(__e_acsl_3);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
index 81f8b6b3efce465df54298da0a371d46d5c3cb02..53fdee5812e2a8a4fc51bb6f88f2dfb82285a62b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
@@ -469,7 +469,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at);
     __gmpz_init_set_si(__e_acsl_2,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\\at(A,Pre) == 0",13);
     __gmpz_clear(__e_acsl);
@@ -483,7 +484,8 @@ void f(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_3,(long)__e_acsl_at_2);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(A,F) == 1",14);
     __gmpz_clear(__e_acsl_3);
@@ -498,7 +500,8 @@ void f(void)
     __e_acsl_at_3 = A;
     __gmpz_init_set_si(__e_acsl_5,(long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_6,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"\\at(A,Here) == 2",15);
     __gmpz_clear(__e_acsl_5);
@@ -512,7 +515,8 @@ void f(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_7,(long)__e_acsl_at_5);
     __gmpz_init_set_si(__e_acsl_8,(long)0);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_7,__e_acsl_8);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7),
+                               (__mpz_struct const *)(__e_acsl_8));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"\\at(\\at(A,Pre),F) == 0",16);
     __gmpz_clear(__e_acsl_7);
@@ -527,7 +531,8 @@ void f(void)
     __e_acsl_at_6 = A;
     __gmpz_init_set_si(__e_acsl_9,(long)__e_acsl_at_6);
     __gmpz_init_set_si(__e_acsl_10,(long)3);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_9,__e_acsl_10);
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9),
+                               (__mpz_struct const *)(__e_acsl_10));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                   (char *)"\\at(A,Post) == 3",9);
     __gmpz_clear(__e_acsl_9);
@@ -562,7 +567,8 @@ void g(int *p, int *q)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at_2);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",32);
     __gmpz_clear(__e_acsl);
@@ -578,7 +584,8 @@ void g(int *p, int *q)
     __e_acsl_at_4 = *(p + (long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_3,(long)__e_acsl_at_4);
     __gmpz_init_set_si(__e_acsl_4,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(*(p+\\at(*q,L1)),Here) == 2",34);
     __gmpz_clear(__e_acsl_3);
@@ -606,8 +613,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_x_2,__e_acsl_4);
-    __gmpz_init_set(__e_acsl_at_2,__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x_2),
+               (__mpz_struct const *)(__e_acsl_4));
+    __gmpz_init_set(__e_acsl_at_2,(__mpz_struct const *)(__e_acsl_add));
     __gmpz_clear(__e_acsl_x_2);
     __gmpz_clear(__e_acsl_4);
     __gmpz_clear(__e_acsl_add);
@@ -621,7 +629,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",45);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
@@ -637,7 +646,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_2,(long)__e_acsl_at);
     __gmpz_init_set_si(__e_acsl_3,(long)0);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(x,L) == 0",50);
     __gmpz_clear(__e_acsl_2);
@@ -649,7 +659,8 @@ int main(void)
     mpz_t __e_acsl_5;
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_5,(long)1);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_at_2,__e_acsl_5);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_at_2),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"\\at(x+1,L) == 1",51);
     __gmpz_clear(__e_acsl_5);
@@ -664,8 +675,10 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_6,(long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_7,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_6,__e_acsl_7);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_add_2,__e_acsl_7);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_6),
+               (__mpz_struct const *)(__e_acsl_7));
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_2),
+                               (__mpz_struct const *)(__e_acsl_7));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"\\at(x,L)+1 == 1",52);
     __gmpz_clear(__e_acsl_6);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.err.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..3d13dadda8f51e14fc7331cf310bb798d4eab478
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.res.oracle
@@ -0,0 +1,257 @@
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl_gmp_types.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl_gmp.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_mmodel_api.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_bittree.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_mmodel.h"
+[value] Analyzing a complete application starting at main
+[value] Computing initial state
+[value] Initial state computed
+[value] Values of globals at initialization
+        __fc_random_counter ∈ {0}
+        __fc_rand_max ∈ {2147483647}
+        __fc_heap_status ∈ [--..--]
+        __fc_stdout ∈ {{ NULL ; &S___fc_stdout }}
+        S___fc_stdout[0].__fc_stdio_fpos ∈ [--..--]
+                     [0].__fc_stdio_buffer ∈
+                     {{ NULL ; &S___fc_stdio_buffer_0_S___fc_stdout }}
+                     [0]{.__fc_stdio_error; .__fc_stdio_eof; } ∈ [--..--]
+                     [0].[bits 80 to 95] ∈ UNINITIALIZED
+                     {[0].__fc_stdio_id; [1].__fc_stdio_fpos; } ∈ [--..--]
+                     [1].__fc_stdio_buffer ∈
+                     {{ NULL ; &S___fc_stdio_buffer_1_S___fc_stdout }}
+                     [1]{.__fc_stdio_error; .__fc_stdio_eof; } ∈ [--..--]
+                     [1].[bits 80 to 95] ∈ UNINITIALIZED
+                     [1].__fc_stdio_id ∈ [--..--]
+        S___fc_stdio_buffer_0_S___fc_stdout[0..1] ∈ [--..--]
+        S___fc_stdio_buffer_1_S___fc_stdout[0..1] ∈ [--..--]
+[value] computing for function _store_block <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:21.
+[value] using specification for function _store_block
+[value] Done for function _store_block
+tests/e-acsl-runtime/bts1304.i:23:[value] entering loop for the first time
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] using specification for function _full_init
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] using specification for function _initialize
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] using specification for function _delete_block
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+tests/e-acsl-runtime/bts1304.i:23:[value] assigning non deterministic value for the first time
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+tests/e-acsl-runtime/bts1304.i:25:[value] Assertion got status unknown.
+[value] computing for function _initialized <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:25.
+[value] using specification for function _initialized
+./share/e-acsl/memory_model/e_acsl_mmodel.h:57:[value] Function _initialized: postcondition got status unknown.
+./share/e-acsl/memory_model/e_acsl_mmodel.h:58:[value] Function _initialized: postcondition got status unknown.
+[value] Done for function _initialized
+[value] computing for function e_acsl_assert <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:25.
+./share/e-acsl/e_acsl.h:37:[value] Function e_acsl_assert: precondition got status unknown.
+[value] Recording results for e_acsl_assert
+[value] Done for function e_acsl_assert
+[value] computing for function _delete_block <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:21.
+[value] Done for function _delete_block
+[value] computing for function __clean <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:26.
+[value] using specification for function __clean
+[kernel] warning: Neither code nor specification for function __clean, generating default assigns from the prototype
+[value] Done for function __clean
+[value] Recording results for main
+[value] done for function main
+[value] ====== VALUES COMPUTED ======
+[value] Values at end of function e_acsl_assert:
+[value] Values at end of function read_sensor_4:
+          buf[0..11] ∈ {0} or UNINITIALIZED
+[value] Values at end of function main:
+          buf[0] ∈ {0}
+             [1..11] ∈ {0} or UNINITIALIZED
+          i ∈ {3}
+          __retres ∈ {0}
+/* Generated by Frama-C */
+struct __anonstruct___mpz_struct_1 {
+   int _mp_alloc ;
+   int _mp_size ;
+   unsigned long *_mp_d ;
+};
+typedef struct __anonstruct___mpz_struct_1 __mpz_struct;
+typedef __mpz_struct ( __attribute__((__FC_BUILTIN__)) mpz_t)[1];
+typedef unsigned int size_t;
+struct __fc_pos_t {
+   unsigned long __fc_stdio_position ;
+};
+typedef struct __fc_pos_t fpos_t;
+struct __fc_FILE {
+   fpos_t __fc_stdio_fpos ;
+   char *__fc_stdio_buffer ;
+   char __fc_stdio_error ;
+   char __fc_stdio_eof ;
+   long __fc_stdio_id ;
+};
+typedef struct __fc_FILE FILE;
+struct msgA {
+   int type ;
+   int a[2] ;
+};
+struct msgB {
+   int type ;
+   double x ;
+};
+struct __anonstruct_T_1 {
+   int type ;
+};
+union msg {
+   struct __anonstruct_T_1 T ;
+   struct msgA A ;
+   struct msgB B ;
+};
+/*@
+model __mpz_struct { ℤ n };
+*/
+int __fc_random_counter __attribute__((__unused__));
+unsigned long const __fc_rand_max = (unsigned long)2147483647;
+extern int __fc_heap_status;
+/*@
+axiomatic
+  dynamic_allocation {
+  predicate is_allocable{L}(size_t n) 
+    reads __fc_heap_status;
+  
+  }
+ */
+/*@ ensures \false;
+    assigns \nothing;  */
+extern void exit(int status);
+extern FILE *__fc_stdout;
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from *(format+(..));  */
+extern int printf(char const *format , ...);
+/*@ requires predicate ≢ 0;
+    assigns \nothing;  */
+void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
+{
+  if (! predicate) {
+    printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
+           line,pred_txt);
+    exit(1);
+  }
+  return;
+}
+
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
+                                                           size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
+/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
+    ensures \result ≡ 1 ⇒
+            \initialized((char *)\old(ptr)+(0..\old(size)-1));
+    assigns \nothing;
+  
+*/
+extern  __attribute__((__FC_BUILTIN__)) int _initialized(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void __clean(void);
+void read_sensor_4(unsigned int *m)
+{
+  _store_block((void *)(& m),4U);
+  _full_init((void *)(& m));
+  _initialize((void *)m,sizeof(unsigned int));
+  *m = (unsigned int)0;
+  _delete_block((void *)(& m));
+  return;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned char buf[sizeof(union msg)];
+  int i;
+  _store_block((void *)(buf),12U);
+  i = 0;
+  while ((unsigned int)i < sizeof(buf) / (unsigned int)4) {
+    read_sensor_4((unsigned int *)(buf) + i);
+    i ++;
+  }
+  /*@ assert \initialized((union msg *)buf); */
+  {
+    int __e_acsl_initialized;
+    __e_acsl_initialized = _initialized((void *)(buf),sizeof(union msg));
+    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",
+                  (char *)"\\initialized((union msg *)buf)",25);
+  }
+  
+  __retres = 0;
+  _delete_block((void *)(buf));
+  __clean();
+  return (__retres);
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.err.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..3d13dadda8f51e14fc7331cf310bb798d4eab478
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.res.oracle
@@ -0,0 +1,257 @@
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl_gmp_types.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl_gmp.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/e_acsl.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_mmodel_api.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_bittree.h"
+[kernel] preprocessing with "gcc -C -E -I. -I./share/e-acsl  -IFRAMAC_SHARE/libc ./share/e-acsl/memory_model/e_acsl_mmodel.h"
+[value] Analyzing a complete application starting at main
+[value] Computing initial state
+[value] Initial state computed
+[value] Values of globals at initialization
+        __fc_random_counter ∈ {0}
+        __fc_rand_max ∈ {2147483647}
+        __fc_heap_status ∈ [--..--]
+        __fc_stdout ∈ {{ NULL ; &S___fc_stdout }}
+        S___fc_stdout[0].__fc_stdio_fpos ∈ [--..--]
+                     [0].__fc_stdio_buffer ∈
+                     {{ NULL ; &S___fc_stdio_buffer_0_S___fc_stdout }}
+                     [0]{.__fc_stdio_error; .__fc_stdio_eof; } ∈ [--..--]
+                     [0].[bits 80 to 95] ∈ UNINITIALIZED
+                     {[0].__fc_stdio_id; [1].__fc_stdio_fpos; } ∈ [--..--]
+                     [1].__fc_stdio_buffer ∈
+                     {{ NULL ; &S___fc_stdio_buffer_1_S___fc_stdout }}
+                     [1]{.__fc_stdio_error; .__fc_stdio_eof; } ∈ [--..--]
+                     [1].[bits 80 to 95] ∈ UNINITIALIZED
+                     [1].__fc_stdio_id ∈ [--..--]
+        S___fc_stdio_buffer_0_S___fc_stdout[0..1] ∈ [--..--]
+        S___fc_stdio_buffer_1_S___fc_stdout[0..1] ∈ [--..--]
+[value] computing for function _store_block <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:21.
+[value] using specification for function _store_block
+[value] Done for function _store_block
+tests/e-acsl-runtime/bts1304.i:23:[value] entering loop for the first time
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] using specification for function _full_init
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] using specification for function _initialize
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] using specification for function _delete_block
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+tests/e-acsl-runtime/bts1304.i:23:[value] assigning non deterministic value for the first time
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+[value] computing for function read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:24.
+[value] computing for function _store_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _store_block
+[value] computing for function _full_init <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _full_init
+[value] computing for function _initialize <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:17.
+[value] Done for function _initialize
+[value] computing for function _delete_block <- read_sensor_4 <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:15.
+[value] Done for function _delete_block
+[value] Recording results for read_sensor_4
+[value] Done for function read_sensor_4
+tests/e-acsl-runtime/bts1304.i:25:[value] Assertion got status unknown.
+[value] computing for function _initialized <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:25.
+[value] using specification for function _initialized
+./share/e-acsl/memory_model/e_acsl_mmodel.h:57:[value] Function _initialized: postcondition got status unknown.
+./share/e-acsl/memory_model/e_acsl_mmodel.h:58:[value] Function _initialized: postcondition got status unknown.
+[value] Done for function _initialized
+[value] computing for function e_acsl_assert <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:25.
+./share/e-acsl/e_acsl.h:37:[value] Function e_acsl_assert: precondition got status unknown.
+[value] Recording results for e_acsl_assert
+[value] Done for function e_acsl_assert
+[value] computing for function _delete_block <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:21.
+[value] Done for function _delete_block
+[value] computing for function __clean <- main.
+        Called from tests/e-acsl-runtime/bts1304.i:26.
+[value] using specification for function __clean
+[kernel] warning: Neither code nor specification for function __clean, generating default assigns from the prototype
+[value] Done for function __clean
+[value] Recording results for main
+[value] done for function main
+[value] ====== VALUES COMPUTED ======
+[value] Values at end of function e_acsl_assert:
+[value] Values at end of function read_sensor_4:
+          buf[0..11] ∈ {0} or UNINITIALIZED
+[value] Values at end of function main:
+          buf[0] ∈ {0}
+             [1..11] ∈ {0} or UNINITIALIZED
+          i ∈ {3}
+          __retres ∈ {0}
+/* Generated by Frama-C */
+struct __anonstruct___mpz_struct_1 {
+   int _mp_alloc ;
+   int _mp_size ;
+   unsigned long *_mp_d ;
+};
+typedef struct __anonstruct___mpz_struct_1 __mpz_struct;
+typedef __mpz_struct ( __attribute__((__FC_BUILTIN__)) mpz_t)[1];
+typedef unsigned int size_t;
+struct __fc_pos_t {
+   unsigned long __fc_stdio_position ;
+};
+typedef struct __fc_pos_t fpos_t;
+struct __fc_FILE {
+   fpos_t __fc_stdio_fpos ;
+   char *__fc_stdio_buffer ;
+   char __fc_stdio_error ;
+   char __fc_stdio_eof ;
+   long __fc_stdio_id ;
+};
+typedef struct __fc_FILE FILE;
+struct msgA {
+   int type ;
+   int a[2] ;
+};
+struct msgB {
+   int type ;
+   double x ;
+};
+struct __anonstruct_T_1 {
+   int type ;
+};
+union msg {
+   struct __anonstruct_T_1 T ;
+   struct msgA A ;
+   struct msgB B ;
+};
+/*@
+model __mpz_struct { ℤ n };
+*/
+int __fc_random_counter __attribute__((__unused__));
+unsigned long const __fc_rand_max = (unsigned long)2147483647;
+extern int __fc_heap_status;
+/*@
+axiomatic
+  dynamic_allocation {
+  predicate is_allocable{L}(size_t n) 
+    reads __fc_heap_status;
+  
+  }
+ */
+/*@ ensures \false;
+    assigns \nothing;  */
+extern void exit(int status);
+extern FILE *__fc_stdout;
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from *(format+(..));  */
+extern int printf(char const *format , ...);
+/*@ requires predicate ≢ 0;
+    assigns \nothing;  */
+void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
+{
+  if (! predicate) {
+    printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
+           line,pred_txt);
+    exit(1);
+  }
+  return;
+}
+
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
+                                                           size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
+/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
+    ensures \result ≡ 1 ⇒
+            \initialized((char *)\old(ptr)+(0..\old(size)-1));
+    assigns \nothing;
+  
+*/
+extern  __attribute__((__FC_BUILTIN__)) int _initialized(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void __clean(void);
+void read_sensor_4(unsigned int *m)
+{
+  _store_block((void *)(& m),4U);
+  _full_init((void *)(& m));
+  _initialize((void *)m,sizeof(unsigned int));
+  *m = (unsigned int)0;
+  _delete_block((void *)(& m));
+  return;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned char buf[sizeof(union msg)];
+  int i;
+  _store_block((void *)(buf),12U);
+  i = 0;
+  while ((unsigned int)i < sizeof(buf) / (unsigned int)4) {
+    read_sensor_4((unsigned int *)(buf) + i);
+    i ++;
+  }
+  /*@ assert \initialized((union msg *)buf); */
+  {
+    int __e_acsl_initialized;
+    __e_acsl_initialized = _initialized((void *)(buf),sizeof(union msg));
+    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",
+                  (char *)"\\initialized((union msg *)buf)",25);
+  }
+  
+  __retres = 0;
+  _delete_block((void *)(buf));
+  __clean();
+  return (__retres);
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
index 149cbab6a6b53eea215a86c379a395ad753a5184..3c089328bf1db864aa55cd526d03133a7a68c05f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
@@ -316,7 +316,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_cast,(long)((int)x));
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_cast,__e_acsl_y);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"(int)x == y",
                   11);
     __gmpz_clear(__e_acsl_cast);
@@ -330,7 +331,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_x,x);
     __gmpz_init_set_si(__e_acsl_cast_2,(long)y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x,__e_acsl_cast_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                               (__mpz_struct const *)(__e_acsl_cast_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"x == (long)y",12);
     __gmpz_clear(__e_acsl_x);
@@ -344,7 +346,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_cast_3,(long)0);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_cast_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                               (__mpz_struct const *)(__e_acsl_cast_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"y == (int)0",14);
     __gmpz_clear(__e_acsl_y_2);
@@ -358,7 +361,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_ui(__e_acsl_cast_4,(unsigned long)((unsigned int)y));
     __gmpz_init_set_ui(__e_acsl_cast_5,(unsigned long)((unsigned int)0));
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_cast_4,__e_acsl_cast_5);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_4),
+                               (__mpz_struct const *)(__e_acsl_cast_5));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"(unsigned int)y == (unsigned int)0",15);
     __gmpz_clear(__e_acsl_cast_4);
@@ -374,9 +378,10 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_str(__e_acsl,"1152921504606846975",10);
-    __e_acsl_2 = __gmpz_get_ui(__e_acsl);
+    __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl));
     __gmpz_init_set_si(__e_acsl_cast_6,(long)((int)__e_acsl_2));
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_y_3,__e_acsl_cast_6);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                             (__mpz_struct const *)(__e_acsl_cast_6));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"y != (int)0xfffffffffffffff",18);
     __gmpz_clear(__e_acsl_y_3);
@@ -393,10 +398,11 @@ int main(void)
     int __e_acsl_ne_2;
     __gmpz_init_set_ui(__e_acsl_cast_7,(unsigned long)((unsigned int)y));
     __gmpz_init_set_str(__e_acsl_3,"1152921504606846975",10);
-    __e_acsl_4 = __gmpz_get_ui(__e_acsl_3);
+    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_3));
     __gmpz_init_set_ui(__e_acsl_cast_8,
                        (unsigned long)((unsigned int)__e_acsl_4));
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_cast_7,__e_acsl_cast_8);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_7),
+                               (__mpz_struct const *)(__e_acsl_cast_8));
     e_acsl_assert(__e_acsl_ne_2 != 0,(char *)"Assertion",
                   (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
                   19);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
index a59ff7f448570489c0b6a1c04b6d1be61ab1decc..954e89c66847ff309ff28b819515c7e469bec72b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
@@ -544,7 +544,8 @@ int main(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_x,__e_acsl_y);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Assertion",(char *)"x < y",9);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl_y);
@@ -557,7 +558,8 @@ int main(void)
     int __e_acsl_gt;
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_y_2,__e_acsl_x_2);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                             (__mpz_struct const *)(__e_acsl_x_2));
     e_acsl_assert(__e_acsl_gt > 0,(char *)"Assertion",(char *)"y > x",10);
     __gmpz_clear(__e_acsl_y_2);
     __gmpz_clear(__e_acsl_x_2);
@@ -570,7 +572,8 @@ int main(void)
     int __e_acsl_le;
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_le = __gmpz_cmp(__e_acsl_x_3,__e_acsl);
+    __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_le <= 0,(char *)"Assertion",(char *)"x <= 0",11);
     __gmpz_clear(__e_acsl_x_3);
     __gmpz_clear(__e_acsl);
@@ -583,7 +586,8 @@ int main(void)
     int __e_acsl_ge;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_y_3,__e_acsl_2);
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_ge >= 0,(char *)"Assertion",(char *)"y >= 1",12);
     __gmpz_clear(__e_acsl_y_3);
     __gmpz_clear(__e_acsl_2);
@@ -602,7 +606,8 @@ int main(void)
     int __e_acsl_lt_2;
     __gmpz_init_set_si(__e_acsl_3,(long)5);
     __gmpz_init_set_si(__e_acsl_4,(long)18);
-    __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_lt_2 < 0,(char *)"Assertion",(char *)"5 < 18",17);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_4);
@@ -615,7 +620,8 @@ int main(void)
     int __e_acsl_gt_2;
     __gmpz_init_set_si(__e_acsl_5,(long)32);
     __gmpz_init_set_si(__e_acsl_6,(long)3);
-    __e_acsl_gt_2 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_gt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_gt_2 > 0,(char *)"Assertion",(char *)"32 > 3",18);
     __gmpz_clear(__e_acsl_5);
     __gmpz_clear(__e_acsl_6);
@@ -628,7 +634,8 @@ int main(void)
     int __e_acsl_le_2;
     __gmpz_init_set_si(__e_acsl_7,(long)12);
     __gmpz_init_set_si(__e_acsl_8,(long)13);
-    __e_acsl_le_2 = __gmpz_cmp(__e_acsl_7,__e_acsl_8);
+    __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7),
+                               (__mpz_struct const *)(__e_acsl_8));
     e_acsl_assert(__e_acsl_le_2 <= 0,(char *)"Assertion",(char *)"12 <= 13",
                   19);
     __gmpz_clear(__e_acsl_7);
@@ -642,7 +649,8 @@ int main(void)
     int __e_acsl_ge_2;
     __gmpz_init_set_si(__e_acsl_9,(long)123);
     __gmpz_init_set_si(__e_acsl_10,(long)12);
-    __e_acsl_ge_2 = __gmpz_cmp(__e_acsl_9,__e_acsl_10);
+    __e_acsl_ge_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9),
+                               (__mpz_struct const *)(__e_acsl_10));
     e_acsl_assert(__e_acsl_ge_2 >= 0,(char *)"Assertion",(char *)"123 >= 12",
                   20);
     __gmpz_clear(__e_acsl_9);
@@ -654,7 +662,8 @@ int main(void)
     mpz_t __e_acsl_11;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_11,(long)0xff);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_11,__e_acsl_11);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11),
+                             (__mpz_struct const *)(__e_acsl_11));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"0xff == 0xff",21);
     __gmpz_clear(__e_acsl_11);
@@ -667,7 +676,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_12,(long)1);
     __gmpz_init_set_si(__e_acsl_13,(long)2);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_12,__e_acsl_13);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12),
+                             (__mpz_struct const *)(__e_acsl_13));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"1 != 2",22);
     __gmpz_clear(__e_acsl_12);
     __gmpz_clear(__e_acsl_13);
@@ -681,9 +691,10 @@ int main(void)
     int __e_acsl_lt_3;
     __gmpz_init_set_si(__e_acsl_14,(long)5);
     __gmpz_init(__e_acsl_neg);
-    __gmpz_neg(__e_acsl_neg,__e_acsl_14);
+    __gmpz_neg(__e_acsl_neg,(__mpz_struct const *)(__e_acsl_14));
     __gmpz_init_set_si(__e_acsl_15,(long)18);
-    __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_neg,__e_acsl_15);
+    __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg),
+                               (__mpz_struct const *)(__e_acsl_15));
     e_acsl_assert(__e_acsl_lt_3 < 0,(char *)"Assertion",(char *)"-5 < 18",24);
     __gmpz_clear(__e_acsl_14);
     __gmpz_clear(__e_acsl_neg);
@@ -699,8 +710,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_16,(long)32);
     __gmpz_init_set_si(__e_acsl_17,(long)3);
     __gmpz_init(__e_acsl_neg_2);
-    __gmpz_neg(__e_acsl_neg_2,__e_acsl_17);
-    __e_acsl_gt_3 = __gmpz_cmp(__e_acsl_16,__e_acsl_neg_2);
+    __gmpz_neg(__e_acsl_neg_2,(__mpz_struct const *)(__e_acsl_17));
+    __e_acsl_gt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                               (__mpz_struct const *)(__e_acsl_neg_2));
     e_acsl_assert(__e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"32 > -3",25);
     __gmpz_clear(__e_acsl_16);
     __gmpz_clear(__e_acsl_17);
@@ -715,9 +727,10 @@ int main(void)
     int __e_acsl_le_3;
     __gmpz_init_set_si(__e_acsl_18,(long)12);
     __gmpz_init(__e_acsl_neg_3);
-    __gmpz_neg(__e_acsl_neg_3,__e_acsl_18);
+    __gmpz_neg(__e_acsl_neg_3,(__mpz_struct const *)(__e_acsl_18));
     __gmpz_init_set_si(__e_acsl_19,(long)13);
-    __e_acsl_le_3 = __gmpz_cmp(__e_acsl_neg_3,__e_acsl_19);
+    __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_3),
+                               (__mpz_struct const *)(__e_acsl_19));
     e_acsl_assert(__e_acsl_le_3 <= 0,(char *)"Assertion",(char *)"-12 <= 13",
                   26);
     __gmpz_clear(__e_acsl_18);
@@ -734,8 +747,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_20,(long)123);
     __gmpz_init_set_si(__e_acsl_21,(long)12);
     __gmpz_init(__e_acsl_neg_4);
-    __gmpz_neg(__e_acsl_neg_4,__e_acsl_21);
-    __e_acsl_ge_3 = __gmpz_cmp(__e_acsl_20,__e_acsl_neg_4);
+    __gmpz_neg(__e_acsl_neg_4,(__mpz_struct const *)(__e_acsl_21));
+    __e_acsl_ge_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20),
+                               (__mpz_struct const *)(__e_acsl_neg_4));
     e_acsl_assert(__e_acsl_ge_3 >= 0,(char *)"Assertion",
                   (char *)"123 >= -12",27);
     __gmpz_clear(__e_acsl_20);
@@ -750,8 +764,9 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_22,(long)0xff);
     __gmpz_init(__e_acsl_neg_5);
-    __gmpz_neg(__e_acsl_neg_5,__e_acsl_22);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_neg_5,__e_acsl_neg_5);
+    __gmpz_neg(__e_acsl_neg_5,(__mpz_struct const *)(__e_acsl_22));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_5),
+                               (__mpz_struct const *)(__e_acsl_neg_5));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"-0xff == -0xff",28);
     __gmpz_clear(__e_acsl_22);
@@ -767,8 +782,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_23,(long)1);
     __gmpz_init_set_si(__e_acsl_24,(long)2);
     __gmpz_init(__e_acsl_neg_6);
-    __gmpz_neg(__e_acsl_neg_6,__e_acsl_24);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_23,__e_acsl_neg_6);
+    __gmpz_neg(__e_acsl_neg_6,(__mpz_struct const *)(__e_acsl_24));
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_23),
+                               (__mpz_struct const *)(__e_acsl_neg_6));
     e_acsl_assert(__e_acsl_ne_2 != 0,(char *)"Assertion",(char *)"1 != -2",
                   29);
     __gmpz_clear(__e_acsl_23);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
index b5a897cdf35eeebcd0392ce7079fc2bc73d07553..8d0ae64a3a1d5b6a1bf0c381ea5c6688e67d1516 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
@@ -868,7 +868,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"X == 1",
                   10);
     __gmpz_clear(__e_acsl_X);
@@ -891,11 +892,13 @@ void g(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"X == 2",
                   14);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_Y,__e_acsl);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"Y == 2",15);
     __gmpz_clear(__e_acsl_X);
@@ -915,7 +918,8 @@ void h(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 2",
                   19);
     __gmpz_clear(__e_acsl_X);
@@ -939,12 +943,14 @@ void i(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)3);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 3",
                   23);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_Y,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",(char *)"Y == 2",
                   24);
     __gmpz_clear(__e_acsl_X);
@@ -982,18 +988,22 @@ void j(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)5);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 5",
                   29);
     __gmpz_init_set_si(__e_acsl_2,(long)3);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_2,__e_acsl_Y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X,__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_2),
+               (__mpz_struct const *)(__e_acsl_Y));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_add));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                   (char *)"X == 3+Y",32);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_Y,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Precondition",(char *)"Y == 2",
                   33);
     __gmpz_clear(__e_acsl_X);
@@ -1015,14 +1025,17 @@ void j(void)
     int __e_acsl_eq_5;
     __gmpz_init_set_si(__e_acsl_X_2,(long)X);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_4);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Postcondition",
                   (char *)"X == 3",30);
     __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
     __gmpz_init_set_si(__e_acsl_5,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_Y_2,__e_acsl_5);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_Y_2),
+               (__mpz_struct const *)(__e_acsl_5));
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_add_2));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                   (char *)"X == Y+1",34);
     __gmpz_clear(__e_acsl_X_2);
@@ -1063,7 +1076,8 @@ void k(void)
     int __e_acsl_implies_3;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     if (! (__e_acsl_eq == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_X_2;
@@ -1071,7 +1085,8 @@ void k(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)0);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_2);
@@ -1079,14 +1094,16 @@ void k(void)
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",
                   (char *)"X == 1 ==>\nX == 0",40);
     __gmpz_init_set_si(__e_acsl_3,(long)3);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_3 == 0) {
       mpz_t __e_acsl_Y;
       mpz_t __e_acsl_4;
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_Y,(long)Y);
       __gmpz_init_set_si(__e_acsl_4,(long)2);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_Y,__e_acsl_4);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_and = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_Y);
       __gmpz_clear(__e_acsl_4);
@@ -1099,21 +1116,24 @@ void k(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_X_3,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)3);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_5);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_implies_2 = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_X_3);
       __gmpz_clear(__e_acsl_5);
     }
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",
                   (char *)"X == 3 && Y == 2 ==>\nX == 3",44);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_X,__e_acsl_3);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_6 == 0) {
       mpz_t __e_acsl_Y_2;
       mpz_t __e_acsl_6;
       int __e_acsl_eq_7;
       __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
       __gmpz_init_set_si(__e_acsl_6,(long)2);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_Y_2,__e_acsl_6);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y_2),
+                                 (__mpz_struct const *)(__e_acsl_6));
       __e_acsl_and_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_Y_2);
       __gmpz_clear(__e_acsl_6);
@@ -1129,9 +1149,11 @@ void k(void)
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_Y_3,(long)Y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_X_4,__e_acsl_Y_3);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_X_4),
+                 (__mpz_struct const *)(__e_acsl_Y_3));
       __gmpz_init_set_si(__e_acsl_7,(long)5);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_add,__e_acsl_7);
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_implies_3 = __e_acsl_eq_8 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_Y_3);
@@ -1159,7 +1181,8 @@ int l(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_Y,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"Y == 2",51);
     __gmpz_clear(__e_acsl_Y);
     __gmpz_clear(__e_acsl);
@@ -1171,7 +1194,8 @@ int l(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl_2,(long)5);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"X == 5",49);
     __gmpz_clear(__e_acsl_X);
@@ -1207,14 +1231,16 @@ void m(void)
     int __e_acsl_and_2;
     __gmpz_init_set_si(__e_acsl_X_5,(long)X);
     __gmpz_init_set_si(__e_acsl_6,(long)5);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_X_5,__e_acsl_6);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     if (__e_acsl_eq_6 == 0) {
       mpz_t __e_acsl_Y_2;
       mpz_t __e_acsl_7;
       int __e_acsl_eq_7;
       __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
       __gmpz_init_set_si(__e_acsl_7,(long)2);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_Y_2,__e_acsl_7);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y_2),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_and_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_Y_2);
       __gmpz_clear(__e_acsl_7);
@@ -1232,14 +1258,16 @@ void m(void)
     int __e_acsl_and;
     __gmpz_init_set_si(__e_acsl_X_3,(long)X);
     __gmpz_init_set_si(__e_acsl_3,(long)5);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_3 == 0) {
       mpz_t __e_acsl_Y;
       mpz_t __e_acsl_4;
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_Y,(long)Y);
       __gmpz_init_set_si(__e_acsl_4,(long)2);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_Y,__e_acsl_4);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_and = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_Y);
       __gmpz_clear(__e_acsl_4);
@@ -1256,7 +1284,8 @@ void m(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)7);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     __e_acsl_at = __e_acsl_eq == 0;
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -1274,7 +1303,8 @@ void m(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)95);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_2);
@@ -1288,7 +1318,8 @@ void m(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)7);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_5);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_implies_2 = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_5);
@@ -1306,8 +1337,10 @@ void m(void)
       __gmpz_init_set_si(__e_acsl_8,(long)__e_acsl_at_4);
       __gmpz_init_set_si(__e_acsl_Y_3,(long)Y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_8,__e_acsl_Y_3);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_X_6,__e_acsl_add);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_8),
+                 (__mpz_struct const *)(__e_acsl_Y_3));
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_6),
+                                 (__mpz_struct const *)(__e_acsl_add));
       __e_acsl_implies_3 = __e_acsl_eq_8 == 0;
       __gmpz_clear(__e_acsl_X_6);
       __gmpz_clear(__e_acsl_8);
@@ -1345,10 +1378,12 @@ void n(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_gt > 0,(char *)"Precondition",(char *)"X > 0",67);
     __gmpz_init_set_si(__e_acsl_2,(long)10);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_X,__e_acsl_2);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Precondition",(char *)"X < 10",68);
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -1359,7 +1394,8 @@ void n(void)
       int __e_acsl_eq_3;
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)5);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_5);
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_at_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_5);
@@ -1371,7 +1407,8 @@ void n(void)
       int __e_acsl_eq;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_3,(long)7);
-      __e_acsl_eq = __gmpz_cmp(__e_acsl_X_2,__e_acsl_3);
+      __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_3));
       __e_acsl_at = __e_acsl_eq == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_3);
@@ -1390,7 +1427,8 @@ void n(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_3,(long)X);
       __gmpz_init_set_si(__e_acsl_4,(long)8);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_4);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_3);
       __gmpz_clear(__e_acsl_4);
@@ -1404,7 +1442,8 @@ void n(void)
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_X_5,(long)X);
       __gmpz_init_set_si(__e_acsl_6,(long)98);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_5,__e_acsl_6);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_5),
+                                 (__mpz_struct const *)(__e_acsl_6));
       __e_acsl_implies_2 = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_X_5);
       __gmpz_clear(__e_acsl_6);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
index 8c89b74fb9a7cee68be8b24ef871b5e47199414f..e8f8bfeaf3432ba5dfdb17e086f01a0c64ea0cb8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
@@ -175,9 +175,10 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)3);
     __gmpz_init(__e_acsl_neg);
-    __gmpz_neg(__e_acsl_neg,__e_acsl);
+    __gmpz_neg(__e_acsl_neg,(__mpz_struct const *)(__e_acsl));
     __gmpz_init_set_si(__e_acsl_x,(long)x);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_neg,__e_acsl_x);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg),
+                             (__mpz_struct const *)(__e_acsl_x));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"-3 == x",12);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_neg);
@@ -193,8 +194,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_2,(long)3);
     __gmpz_init(__e_acsl_neg_2);
-    __gmpz_neg(__e_acsl_neg_2,__e_acsl_2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_neg_2);
+    __gmpz_neg(__e_acsl_neg_2,(__mpz_struct const *)(__e_acsl_2));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_neg_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"x == -3",
                   13);
     __gmpz_clear(__e_acsl_x_2);
@@ -209,8 +211,9 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_3,(long)0);
     __gmpz_init(__e_acsl_bnot);
-    __gmpz_com(__e_acsl_bnot,__e_acsl_3);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_3,__e_acsl_bnot);
+    __gmpz_com(__e_acsl_bnot,(__mpz_struct const *)(__e_acsl_3));
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                             (__mpz_struct const *)(__e_acsl_bnot));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"0 != ~0",14);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_bnot);
@@ -227,11 +230,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_x_3,__e_acsl_4);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x_3),
+               (__mpz_struct const *)(__e_acsl_4));
     __gmpz_init_set_si(__e_acsl_5,(long)2);
     __gmpz_init(__e_acsl_neg_3);
-    __gmpz_neg(__e_acsl_neg_3,__e_acsl_5);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_add,__e_acsl_neg_3);
+    __gmpz_neg(__e_acsl_neg_3,(__mpz_struct const *)(__e_acsl_5));
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add),
+                               (__mpz_struct const *)(__e_acsl_neg_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"x+1 == -2",
                   16);
     __gmpz_clear(__e_acsl_x_3);
@@ -252,11 +257,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
     __gmpz_init(__e_acsl_sub);
-    __gmpz_sub(__e_acsl_sub,__e_acsl_x_4,__e_acsl_6);
+    __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl_x_4),
+               (__mpz_struct const *)(__e_acsl_6));
     __gmpz_init_set_si(__e_acsl_7,(long)4);
     __gmpz_init(__e_acsl_neg_4);
-    __gmpz_neg(__e_acsl_neg_4,__e_acsl_7);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_sub,__e_acsl_neg_4);
+    __gmpz_neg(__e_acsl_neg_4,(__mpz_struct const *)(__e_acsl_7));
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sub),
+                               (__mpz_struct const *)(__e_acsl_neg_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",(char *)"x-1 == -4",
                   17);
     __gmpz_clear(__e_acsl_x_4);
@@ -277,11 +284,13 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_5,(long)x);
     __gmpz_init_set_si(__e_acsl_8,(long)3);
     __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,__e_acsl_x_5,__e_acsl_8);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_x_5),
+               (__mpz_struct const *)(__e_acsl_8));
     __gmpz_init_set_si(__e_acsl_9,(long)9);
     __gmpz_init(__e_acsl_neg_5);
-    __gmpz_neg(__e_acsl_neg_5,__e_acsl_9);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_mul,__e_acsl_neg_5);
+    __gmpz_neg(__e_acsl_neg_5,(__mpz_struct const *)(__e_acsl_9));
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mul),
+                               (__mpz_struct const *)(__e_acsl_neg_5));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Assertion",(char *)"x*3 == -9",
                   18);
     __gmpz_clear(__e_acsl_x_5);
@@ -304,16 +313,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_10,(long)3);
     __gmpz_init_set_si(__e_acsl_11,0L);
-    __e_acsl_div_guard = __gmpz_cmp(__e_acsl_10,__e_acsl_11);
+    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                                    (__mpz_struct const *)(__e_acsl_11));
     __gmpz_init(__e_acsl_div);
     /*@ assert E_ACSL: 3 ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                   (char *)"3 == 0",19);
-    __gmpz_tdiv_q(__e_acsl_div,__e_acsl_x_6,__e_acsl_10);
+    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_x_6),
+                  (__mpz_struct const *)(__e_acsl_10));
     __gmpz_init_set_si(__e_acsl_12,(long)1);
     __gmpz_init(__e_acsl_neg_6);
-    __gmpz_neg(__e_acsl_neg_6,__e_acsl_12);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_div,__e_acsl_neg_6);
+    __gmpz_neg(__e_acsl_neg_6,(__mpz_struct const *)(__e_acsl_12));
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div),
+                               (__mpz_struct const *)(__e_acsl_neg_6));
     e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Assertion",(char *)"x/3 == -1",
                   19);
     __gmpz_clear(__e_acsl_x_6);
@@ -334,14 +346,17 @@ int main(void)
     int __e_acsl_eq_7;
     __gmpz_init_set_str(__e_acsl_13,"17592186044415",10);
     __gmpz_init_set_si(__e_acsl_14,0L);
-    __e_acsl_div_guard_2 = __gmpz_cmp(__e_acsl_13,__e_acsl_14);
+    __e_acsl_div_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13),
+                                      (__mpz_struct const *)(__e_acsl_14));
     __gmpz_init(__e_acsl_div_2);
     /*@ assert E_ACSL: 0xfffffffffff ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard_2 == 0),(char *)"Assertion",
                   (char *)"0xfffffffffff == 0",20);
-    __gmpz_tdiv_q(__e_acsl_div_2,__e_acsl_13,__e_acsl_13);
+    __gmpz_tdiv_q(__e_acsl_div_2,(__mpz_struct const *)(__e_acsl_13),
+                  (__mpz_struct const *)(__e_acsl_13));
     __gmpz_init_set_si(__e_acsl_15,(long)1);
-    __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_div_2,__e_acsl_15);
+    __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div_2),
+                               (__mpz_struct const *)(__e_acsl_15));
     e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",
                   (char *)"0xfffffffffff/0xfffffffffff == 1",20);
     __gmpz_clear(__e_acsl_13);
@@ -363,16 +378,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_16,(long)2);
     __gmpz_init_set_si(__e_acsl_17,0L);
-    __e_acsl_mod_guard = __gmpz_cmp(__e_acsl_16,__e_acsl_17);
+    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                                    (__mpz_struct const *)(__e_acsl_17));
     __gmpz_init(__e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
                   (char *)"2 == 0",21);
-    __gmpz_tdiv_r(__e_acsl_mod,__e_acsl_x_7,__e_acsl_16);
+    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_x_7),
+                  (__mpz_struct const *)(__e_acsl_16));
     __gmpz_init_set_si(__e_acsl_18,(long)1);
     __gmpz_init(__e_acsl_neg_7);
-    __gmpz_neg(__e_acsl_neg_7,__e_acsl_18);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_mod,__e_acsl_neg_7);
+    __gmpz_neg(__e_acsl_neg_7,(__mpz_struct const *)(__e_acsl_18));
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
+                               (__mpz_struct const *)(__e_acsl_neg_7));
     e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"x%2 == -1",
                   21);
     __gmpz_clear(__e_acsl_x_7);
@@ -397,21 +415,24 @@ int main(void)
     int __e_acsl_eq_9;
     __gmpz_init_set_si(__e_acsl_19,(long)3);
     __gmpz_init(__e_acsl_neg_8);
-    __gmpz_neg(__e_acsl_neg_8,__e_acsl_19);
+    __gmpz_neg(__e_acsl_neg_8,(__mpz_struct const *)(__e_acsl_19));
     __gmpz_init_set_si(__e_acsl_20,(long)2);
     __gmpz_init(__e_acsl_neg_9);
-    __gmpz_neg(__e_acsl_neg_9,__e_acsl_20);
+    __gmpz_neg(__e_acsl_neg_9,(__mpz_struct const *)(__e_acsl_20));
     __gmpz_init_set_si(__e_acsl_21,0L);
-    __e_acsl_mod_guard_2 = __gmpz_cmp(__e_acsl_neg_9,__e_acsl_21);
+    __e_acsl_mod_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_9),
+                                      (__mpz_struct const *)(__e_acsl_21));
     __gmpz_init(__e_acsl_mod_2);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_2 == 0),(char *)"Assertion",
                   (char *)"-2 == 0",22);
-    __gmpz_tdiv_r(__e_acsl_mod_2,__e_acsl_neg_8,__e_acsl_neg_9);
+    __gmpz_tdiv_r(__e_acsl_mod_2,(__mpz_struct const *)(__e_acsl_neg_8),
+                  (__mpz_struct const *)(__e_acsl_neg_9));
     __gmpz_init_set_si(__e_acsl_22,(long)1);
     __gmpz_init(__e_acsl_neg_10);
-    __gmpz_neg(__e_acsl_neg_10,__e_acsl_22);
-    __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_mod_2,__e_acsl_neg_10);
+    __gmpz_neg(__e_acsl_neg_10,(__mpz_struct const *)(__e_acsl_22));
+    __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod_2),
+                               (__mpz_struct const *)(__e_acsl_neg_10));
     e_acsl_assert(__e_acsl_eq_9 == 0,(char *)"Assertion",
                   (char *)"-3%-2 == -1",22);
     __gmpz_clear(__e_acsl_19);
@@ -437,16 +458,19 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_23,(long)3);
     __gmpz_init_set_si(__e_acsl_24,(long)2);
     __gmpz_init(__e_acsl_neg_11);
-    __gmpz_neg(__e_acsl_neg_11,__e_acsl_24);
+    __gmpz_neg(__e_acsl_neg_11,(__mpz_struct const *)(__e_acsl_24));
     __gmpz_init_set_si(__e_acsl_25,0L);
-    __e_acsl_mod_guard_3 = __gmpz_cmp(__e_acsl_neg_11,__e_acsl_25);
+    __e_acsl_mod_guard_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_11),
+                                      (__mpz_struct const *)(__e_acsl_25));
     __gmpz_init(__e_acsl_mod_3);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_3 == 0),(char *)"Assertion",
                   (char *)"-2 == 0",23);
-    __gmpz_tdiv_r(__e_acsl_mod_3,__e_acsl_23,__e_acsl_neg_11);
+    __gmpz_tdiv_r(__e_acsl_mod_3,(__mpz_struct const *)(__e_acsl_23),
+                  (__mpz_struct const *)(__e_acsl_neg_11));
     __gmpz_init_set_si(__e_acsl_26,(long)1);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_mod_3,__e_acsl_26);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod_3),
+                                (__mpz_struct const *)(__e_acsl_26));
     e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Assertion",
                   (char *)"3%-2 == 1",23);
     __gmpz_clear(__e_acsl_23);
@@ -476,24 +500,31 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_8,(long)x);
     __gmpz_init_set_si(__e_acsl_27,(long)2);
     __gmpz_init(__e_acsl_mul_2);
-    __gmpz_mul(__e_acsl_mul_2,__e_acsl_x_8,__e_acsl_27);
+    __gmpz_mul(__e_acsl_mul_2,(__mpz_struct const *)(__e_acsl_x_8),
+               (__mpz_struct const *)(__e_acsl_27));
     __gmpz_init_set_si(__e_acsl_28,(long)3);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_28,__e_acsl_y);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_28),
+               (__mpz_struct const *)(__e_acsl_y));
     __gmpz_init(__e_acsl_add_3);
-    __gmpz_add(__e_acsl_add_3,__e_acsl_mul_2,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_mul_2),
+               (__mpz_struct const *)(__e_acsl_add_2));
     __gmpz_init_set_si(__e_acsl_29,(long)4);
     __gmpz_init(__e_acsl_sub_2);
-    __gmpz_sub(__e_acsl_sub_2,__e_acsl_add_3,__e_acsl_29);
+    __gmpz_sub(__e_acsl_sub_2,(__mpz_struct const *)(__e_acsl_add_3),
+               (__mpz_struct const *)(__e_acsl_29));
     __gmpz_init(__e_acsl_sub_3);
-    __gmpz_sub(__e_acsl_sub_3,__e_acsl_x_8,__e_acsl_y);
+    __gmpz_sub(__e_acsl_sub_3,(__mpz_struct const *)(__e_acsl_x_8),
+               (__mpz_struct const *)(__e_acsl_y));
     __gmpz_init(__e_acsl_add_4);
-    __gmpz_add(__e_acsl_add_4,__e_acsl_sub_2,__e_acsl_sub_3);
+    __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_sub_2),
+               (__mpz_struct const *)(__e_acsl_sub_3));
     __gmpz_init_set_si(__e_acsl_30,(long)10);
     __gmpz_init(__e_acsl_neg_12);
-    __gmpz_neg(__e_acsl_neg_12,__e_acsl_30);
-    __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_add_4,__e_acsl_neg_12);
+    __gmpz_neg(__e_acsl_neg_12,(__mpz_struct const *)(__e_acsl_30));
+    __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_4),
+                                (__mpz_struct const *)(__e_acsl_neg_12));
     e_acsl_assert(__e_acsl_eq_11 == 0,(char *)"Assertion",
                   (char *)"((x*2+(3+y))-4)+(x-y) == -10",25);
     __gmpz_clear(__e_acsl_x_8);
@@ -524,13 +555,17 @@ int main(void)
     int __e_acsl_eq_14;
     __gmpz_init_set_si(__e_acsl_31,(long)0);
     __gmpz_init_set_si(__e_acsl_32,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_31,__e_acsl_32);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31),
+                                (__mpz_struct const *)(__e_acsl_32));
     __gmpz_init_set_si(__e_acsl_33,(long)(__e_acsl_eq_12 == 0));
-    __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_31,__e_acsl_31);
+    __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31),
+                                (__mpz_struct const *)(__e_acsl_31));
     __gmpz_init_set_si(__e_acsl_34,(long)(__e_acsl_eq_13 == 0));
-    __e_acsl_not = __gmpz_cmp(__e_acsl_34,__e_acsl_31);
+    __e_acsl_not = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34),
+                              (__mpz_struct const *)(__e_acsl_31));
     __gmpz_init_set_si(__e_acsl_35,(long)(__e_acsl_not == 0));
-    __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_33,__e_acsl_35);
+    __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_33),
+                                (__mpz_struct const *)(__e_acsl_35));
     e_acsl_assert(__e_acsl_eq_14 == 0,(char *)"Assertion",
                   (char *)"(0==1) == !(0==0)",27);
     __gmpz_clear(__e_acsl_31);
@@ -553,12 +588,15 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_36,(long)0);
     __gmpz_init_set_si(__e_acsl_37,(long)1);
     __gmpz_init(__e_acsl_neg_13);
-    __gmpz_neg(__e_acsl_neg_13,__e_acsl_37);
-    __e_acsl_le = __gmpz_cmp(__e_acsl_36,__e_acsl_neg_13);
+    __gmpz_neg(__e_acsl_neg_13,(__mpz_struct const *)(__e_acsl_37));
+    __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                             (__mpz_struct const *)(__e_acsl_neg_13));
     __gmpz_init_set_si(__e_acsl_38,(long)(__e_acsl_le <= 0));
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_36,__e_acsl_36);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                             (__mpz_struct const *)(__e_acsl_36));
     __gmpz_init_set_si(__e_acsl_39,(long)(__e_acsl_gt > 0));
-    __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_38,__e_acsl_39);
+    __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38),
+                                (__mpz_struct const *)(__e_acsl_39));
     e_acsl_assert(__e_acsl_eq_15 == 0,(char *)"Assertion",
                   (char *)"(0<=-1) == (0>0)",28);
     __gmpz_clear(__e_acsl_36);
@@ -581,12 +619,15 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_40,(long)0);
     __gmpz_init_set_si(__e_acsl_41,(long)1);
     __gmpz_init(__e_acsl_neg_14);
-    __gmpz_neg(__e_acsl_neg_14,__e_acsl_41);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_40,__e_acsl_neg_14);
+    __gmpz_neg(__e_acsl_neg_14,(__mpz_struct const *)(__e_acsl_41));
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40),
+                             (__mpz_struct const *)(__e_acsl_neg_14));
     __gmpz_init_set_si(__e_acsl_42,(long)(__e_acsl_ge >= 0));
-    __e_acsl_le_2 = __gmpz_cmp(__e_acsl_40,__e_acsl_40);
+    __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40),
+                               (__mpz_struct const *)(__e_acsl_40));
     __gmpz_init_set_si(__e_acsl_43,(long)(__e_acsl_le_2 <= 0));
-    __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_42,__e_acsl_43);
+    __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42),
+                                (__mpz_struct const *)(__e_acsl_43));
     e_acsl_assert(__e_acsl_eq_16 == 0,(char *)"Assertion",
                   (char *)"(0>=-1) == (0<=0)",29);
     __gmpz_clear(__e_acsl_40);
@@ -609,13 +650,17 @@ int main(void)
     int __e_acsl_eq_17;
     __gmpz_init_set_si(__e_acsl_44,(long)0);
     __gmpz_init_set_si(__e_acsl_45,(long)1);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_44,__e_acsl_45);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_44),
+                               (__mpz_struct const *)(__e_acsl_45));
     __gmpz_init_set_si(__e_acsl_46,(long)(__e_acsl_ne_2 != 0));
-    __e_acsl_ne_3 = __gmpz_cmp(__e_acsl_44,__e_acsl_44);
+    __e_acsl_ne_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_44),
+                               (__mpz_struct const *)(__e_acsl_44));
     __gmpz_init_set_si(__e_acsl_47,(long)(__e_acsl_ne_3 != 0));
-    __e_acsl_not_2 = __gmpz_cmp(__e_acsl_47,__e_acsl_44);
+    __e_acsl_not_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47),
+                                (__mpz_struct const *)(__e_acsl_44));
     __gmpz_init_set_si(__e_acsl_48,(long)(__e_acsl_not_2 == 0));
-    __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_46,__e_acsl_48);
+    __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_46),
+                                (__mpz_struct const *)(__e_acsl_48));
     e_acsl_assert(__e_acsl_eq_17 == 0,(char *)"Assertion",
                   (char *)"(0!=1) == !(0!=0)",30);
     __gmpz_clear(__e_acsl_44);
@@ -637,14 +682,18 @@ int main(void)
     mpz_t __e_acsl_53;
     int __e_acsl_eq_18;
     __gmpz_init_set_si(__e_acsl_49,(long)0);
-    __e_acsl_ne_4 = __gmpz_cmp(__e_acsl_49,__e_acsl_49);
+    __e_acsl_ne_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_49),
+                               (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_50,(long)(__e_acsl_ne_4 != 0));
     __gmpz_init_set_si(__e_acsl_51,(long)1);
-    __e_acsl_ne_5 = __gmpz_cmp(__e_acsl_51,__e_acsl_49);
+    __e_acsl_ne_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_51),
+                               (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_52,(long)(__e_acsl_ne_5 != 0));
-    __e_acsl_not_3 = __gmpz_cmp(__e_acsl_52,__e_acsl_49);
+    __e_acsl_not_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52),
+                                (__mpz_struct const *)(__e_acsl_49));
     __gmpz_init_set_si(__e_acsl_53,(long)(__e_acsl_not_3 == 0));
-    __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_50,__e_acsl_53);
+    __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_50),
+                                (__mpz_struct const *)(__e_acsl_53));
     e_acsl_assert(__e_acsl_eq_18 == 0,(char *)"Assertion",
                   (char *)"(0!=0) == !(1!=0)",32);
     __gmpz_clear(__e_acsl_49);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
index de887ade135fcc74d80379026c0dec222edaa3fd..8d4f7c1924643134ae3bfd8a4edd9f557a46377c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
@@ -97,7 +97,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)T1[0]);
     __gmpz_init_set_si(__e_acsl_2,(long)T2[0]);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"T1[0] == T2[0]",15);
     __gmpz_clear(__e_acsl);
@@ -111,7 +112,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_3,(long)T1[1]);
     __gmpz_init_set_si(__e_acsl_4,(long)T2[1]);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                             (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"T1[1] != T2[1]",16);
     __gmpz_clear(__e_acsl_3);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
index a1e5a5e04554de0b6353cd5f07d8d80efc61ef54..28cceb3167e74e12698ccfe574e4af6253780103 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
@@ -126,7 +126,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at);
     __gmpz_init_set_si(__e_acsl_2,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\\at(A,Pre) == 0",13);
     __gmpz_clear(__e_acsl);
@@ -140,7 +141,8 @@ void f(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_3,(long)__e_acsl_at_2);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(A,F) == 1",14);
     __gmpz_clear(__e_acsl_3);
@@ -155,7 +157,8 @@ void f(void)
     __e_acsl_at_3 = A;
     __gmpz_init_set_si(__e_acsl_5,(long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_6,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"\\at(A,Here) == 2",15);
     __gmpz_clear(__e_acsl_5);
@@ -169,7 +172,8 @@ void f(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_7,(long)__e_acsl_at_5);
     __gmpz_init_set_si(__e_acsl_8,(long)0);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_7,__e_acsl_8);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7),
+                               (__mpz_struct const *)(__e_acsl_8));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"\\at(\\at(A,Pre),F) == 0",16);
     __gmpz_clear(__e_acsl_7);
@@ -184,7 +188,8 @@ void f(void)
     __e_acsl_at_6 = A;
     __gmpz_init_set_si(__e_acsl_9,(long)__e_acsl_at_6);
     __gmpz_init_set_si(__e_acsl_10,(long)3);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_9,__e_acsl_10);
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9),
+                               (__mpz_struct const *)(__e_acsl_10));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                   (char *)"\\at(A,Post) == 3",9);
     __gmpz_clear(__e_acsl_9);
@@ -219,7 +224,8 @@ void g(int *p, int *q)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at_2);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",32);
     __gmpz_clear(__e_acsl);
@@ -235,7 +241,8 @@ void g(int *p, int *q)
     __e_acsl_at_4 = *(p + (long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_3,(long)__e_acsl_at_4);
     __gmpz_init_set_si(__e_acsl_4,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(*(p+\\at(*q,L1)),Here) == 2",34);
     __gmpz_clear(__e_acsl_3);
@@ -263,8 +270,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)1);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_x_2,__e_acsl_4);
-    __gmpz_init_set(__e_acsl_at_2,__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x_2),
+               (__mpz_struct const *)(__e_acsl_4));
+    __gmpz_init_set(__e_acsl_at_2,(__mpz_struct const *)(__e_acsl_add));
     __gmpz_clear(__e_acsl_x_2);
     __gmpz_clear(__e_acsl_4);
     __gmpz_clear(__e_acsl_add);
@@ -278,7 +286,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",45);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
@@ -294,7 +303,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_2,(long)__e_acsl_at);
     __gmpz_init_set_si(__e_acsl_3,(long)0);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"\\at(x,L) == 0",50);
     __gmpz_clear(__e_acsl_2);
@@ -306,7 +316,8 @@ int main(void)
     mpz_t __e_acsl_5;
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_5,(long)1);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_at_2,__e_acsl_5);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_at_2),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"\\at(x+1,L) == 1",51);
     __gmpz_clear(__e_acsl_5);
@@ -321,8 +332,10 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_6,(long)__e_acsl_at_3);
     __gmpz_init_set_si(__e_acsl_7,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_6,__e_acsl_7);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_add_2,__e_acsl_7);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_6),
+               (__mpz_struct const *)(__e_acsl_7));
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_2),
+                               (__mpz_struct const *)(__e_acsl_7));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"\\at(x,L)+1 == 1",52);
     __gmpz_clear(__e_acsl_6);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts1304.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts1304.c
new file mode 100644
index 0000000000000000000000000000000000000000..2316b0599a1246057aa126bf243bacdc49c87506
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts1304.c
@@ -0,0 +1,125 @@
+/* Generated by Frama-C */
+struct __anonstruct___mpz_struct_1 {
+   int _mp_alloc ;
+   int _mp_size ;
+   unsigned long *_mp_d ;
+};
+typedef struct __anonstruct___mpz_struct_1 __mpz_struct;
+typedef __mpz_struct ( __attribute__((__FC_BUILTIN__)) mpz_t)[1];
+typedef unsigned int size_t;
+struct __fc_pos_t {
+   unsigned long __fc_stdio_position ;
+};
+typedef struct __fc_pos_t fpos_t;
+struct __fc_FILE {
+   fpos_t __fc_stdio_fpos ;
+   char *__fc_stdio_buffer ;
+   char __fc_stdio_error ;
+   char __fc_stdio_eof ;
+   long __fc_stdio_id ;
+};
+typedef struct __fc_FILE FILE;
+struct msgA {
+   int type ;
+   int a[2] ;
+};
+struct msgB {
+   int type ;
+   double x ;
+};
+struct __anonstruct_T_1 {
+   int type ;
+};
+union msg {
+   struct __anonstruct_T_1 T ;
+   struct msgA A ;
+   struct msgB B ;
+};
+/*@
+model __mpz_struct { ℤ n };
+*/
+int __fc_random_counter __attribute__((__unused__));
+unsigned long const __fc_rand_max = (unsigned long)2147483647;
+extern int __fc_heap_status;
+/*@
+axiomatic
+  dynamic_allocation {
+  predicate is_allocable{L}(size_t n) 
+    reads __fc_heap_status;
+  
+  }
+ */
+/*@ ensures \false;
+    assigns \nothing;  */
+extern void exit(int status);
+extern FILE *__fc_stdout;
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from *(format+(..));  */
+extern int printf(char const *format , ...);
+/*@ requires predicate ≢ 0;
+    assigns \nothing;  */
+void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
+{
+  if (! predicate) {
+    printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
+           line,pred_txt);
+    exit(1);
+  }
+  return;
+}
+
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
+                                                           size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
+/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
+    ensures \result ≡ 1 ⇒
+            \initialized((char *)\old(ptr)+(0..\old(size)-1));
+    assigns \nothing;
+  
+*/
+extern  __attribute__((__FC_BUILTIN__)) int _initialized(void *ptr,
+                                                         size_t size);
+extern  __attribute__((__FC_BUILTIN__)) void __clean(void);
+void read_sensor_4(unsigned int *m)
+{
+  _store_block((void *)(& m),4U);
+  _full_init((void *)(& m));
+  _initialize((void *)m,sizeof(unsigned int));
+  *m = (unsigned int)0;
+  _delete_block((void *)(& m));
+  return;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned char buf[sizeof(union msg)];
+  int i;
+  _store_block((void *)(buf),12U);
+  i = 0;
+  while ((unsigned int)i < sizeof(buf) / (unsigned int)4) {
+    read_sensor_4((unsigned int *)(buf) + i);
+    i ++;
+  }
+  /*@ assert \initialized((union msg *)buf); */
+  {
+    int __e_acsl_initialized;
+    __e_acsl_initialized = _initialized((void *)(buf),sizeof(union msg));
+    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",
+                  (char *)"\\initialized((union msg *)buf)",25);
+  }
+  
+  __retres = 0;
+  _delete_block((void *)(buf));
+  __clean();
+  return (__retres);
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13042.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13042.c
new file mode 100644
index 0000000000000000000000000000000000000000..2316b0599a1246057aa126bf243bacdc49c87506
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13042.c
@@ -0,0 +1,125 @@
+/* Generated by Frama-C */
+struct __anonstruct___mpz_struct_1 {
+   int _mp_alloc ;
+   int _mp_size ;
+   unsigned long *_mp_d ;
+};
+typedef struct __anonstruct___mpz_struct_1 __mpz_struct;
+typedef __mpz_struct ( __attribute__((__FC_BUILTIN__)) mpz_t)[1];
+typedef unsigned int size_t;
+struct __fc_pos_t {
+   unsigned long __fc_stdio_position ;
+};
+typedef struct __fc_pos_t fpos_t;
+struct __fc_FILE {
+   fpos_t __fc_stdio_fpos ;
+   char *__fc_stdio_buffer ;
+   char __fc_stdio_error ;
+   char __fc_stdio_eof ;
+   long __fc_stdio_id ;
+};
+typedef struct __fc_FILE FILE;
+struct msgA {
+   int type ;
+   int a[2] ;
+};
+struct msgB {
+   int type ;
+   double x ;
+};
+struct __anonstruct_T_1 {
+   int type ;
+};
+union msg {
+   struct __anonstruct_T_1 T ;
+   struct msgA A ;
+   struct msgB B ;
+};
+/*@
+model __mpz_struct { ℤ n };
+*/
+int __fc_random_counter __attribute__((__unused__));
+unsigned long const __fc_rand_max = (unsigned long)2147483647;
+extern int __fc_heap_status;
+/*@
+axiomatic
+  dynamic_allocation {
+  predicate is_allocable{L}(size_t n) 
+    reads __fc_heap_status;
+  
+  }
+ */
+/*@ ensures \false;
+    assigns \nothing;  */
+extern void exit(int status);
+extern FILE *__fc_stdout;
+/*@ assigns *__fc_stdout;
+    assigns *__fc_stdout \from *(format+(..));  */
+extern int printf(char const *format , ...);
+/*@ requires predicate ≢ 0;
+    assigns \nothing;  */
+void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line)
+{
+  if (! predicate) {
+    printf("%s failed at line %d.\nThe failing predicate is:\n%s.\n",kind,
+           line,pred_txt);
+    exit(1);
+  }
+  return;
+}
+
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
+                                                           size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
+/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
+    ensures \result ≡ 1 ⇒
+            \initialized((char *)\old(ptr)+(0..\old(size)-1));
+    assigns \nothing;
+  
+*/
+extern  __attribute__((__FC_BUILTIN__)) int _initialized(void *ptr,
+                                                         size_t size);
+extern  __attribute__((__FC_BUILTIN__)) void __clean(void);
+void read_sensor_4(unsigned int *m)
+{
+  _store_block((void *)(& m),4U);
+  _full_init((void *)(& m));
+  _initialize((void *)m,sizeof(unsigned int));
+  *m = (unsigned int)0;
+  _delete_block((void *)(& m));
+  return;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned char buf[sizeof(union msg)];
+  int i;
+  _store_block((void *)(buf),12U);
+  i = 0;
+  while ((unsigned int)i < sizeof(buf) / (unsigned int)4) {
+    read_sensor_4((unsigned int *)(buf) + i);
+    i ++;
+  }
+  /*@ assert \initialized((union msg *)buf); */
+  {
+    int __e_acsl_initialized;
+    __e_acsl_initialized = _initialized((void *)(buf),sizeof(union msg));
+    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",
+                  (char *)"\\initialized((union msg *)buf)",25);
+  }
+  
+  __retres = 0;
+  _delete_block((void *)(buf));
+  __clean();
+  return (__retres);
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
index 8a05b7717bf8c685aeccaec1e1aae9d313da2e1d..dda2e24c153786f6244db33a948df6ab32399a55 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
@@ -115,7 +115,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_cast,(long)((int)x));
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_cast,__e_acsl_y);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"(int)x == y",
                   11);
     __gmpz_clear(__e_acsl_cast);
@@ -129,7 +130,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_x,x);
     __gmpz_init_set_si(__e_acsl_cast_2,(long)y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x,__e_acsl_cast_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                               (__mpz_struct const *)(__e_acsl_cast_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"x == (long)y",12);
     __gmpz_clear(__e_acsl_x);
@@ -143,7 +145,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_cast_3,(long)0);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_cast_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                               (__mpz_struct const *)(__e_acsl_cast_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"y == (int)0",14);
     __gmpz_clear(__e_acsl_y_2);
@@ -157,7 +160,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_ui(__e_acsl_cast_4,(unsigned long)((unsigned int)y));
     __gmpz_init_set_ui(__e_acsl_cast_5,(unsigned long)((unsigned int)0));
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_cast_4,__e_acsl_cast_5);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_4),
+                               (__mpz_struct const *)(__e_acsl_cast_5));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"(unsigned int)y == (unsigned int)0",15);
     __gmpz_clear(__e_acsl_cast_4);
@@ -173,9 +177,10 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_str(__e_acsl,"1152921504606846975",10);
-    __e_acsl_2 = __gmpz_get_ui(__e_acsl);
+    __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl));
     __gmpz_init_set_si(__e_acsl_cast_6,(long)((int)__e_acsl_2));
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_y_3,__e_acsl_cast_6);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                             (__mpz_struct const *)(__e_acsl_cast_6));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"y != (int)0xfffffffffffffff",18);
     __gmpz_clear(__e_acsl_y_3);
@@ -192,10 +197,11 @@ int main(void)
     int __e_acsl_ne_2;
     __gmpz_init_set_ui(__e_acsl_cast_7,(unsigned long)((unsigned int)y));
     __gmpz_init_set_str(__e_acsl_3,"1152921504606846975",10);
-    __e_acsl_4 = __gmpz_get_ui(__e_acsl_3);
+    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_3));
     __gmpz_init_set_ui(__e_acsl_cast_8,
                        (unsigned long)((unsigned int)__e_acsl_4));
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_cast_7,__e_acsl_cast_8);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_7),
+                               (__mpz_struct const *)(__e_acsl_cast_8));
     e_acsl_assert(__e_acsl_ne_2 != 0,(char *)"Assertion",
                   (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
                   19);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
index 1ee36f66dc6beadf25e2608321078a26733faa8f..1e74209814109fb4bb0115f9eebb8c5ea3b6a5bc 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
@@ -110,7 +110,8 @@ int main(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_x,__e_acsl_y);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Assertion",(char *)"x < y",9);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl_y);
@@ -123,7 +124,8 @@ int main(void)
     int __e_acsl_gt;
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_y_2,__e_acsl_x_2);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                             (__mpz_struct const *)(__e_acsl_x_2));
     e_acsl_assert(__e_acsl_gt > 0,(char *)"Assertion",(char *)"y > x",10);
     __gmpz_clear(__e_acsl_y_2);
     __gmpz_clear(__e_acsl_x_2);
@@ -136,7 +138,8 @@ int main(void)
     int __e_acsl_le;
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_le = __gmpz_cmp(__e_acsl_x_3,__e_acsl);
+    __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_le <= 0,(char *)"Assertion",(char *)"x <= 0",11);
     __gmpz_clear(__e_acsl_x_3);
     __gmpz_clear(__e_acsl);
@@ -149,7 +152,8 @@ int main(void)
     int __e_acsl_ge;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_y_3,__e_acsl_2);
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_ge >= 0,(char *)"Assertion",(char *)"y >= 1",12);
     __gmpz_clear(__e_acsl_y_3);
     __gmpz_clear(__e_acsl_2);
@@ -168,7 +172,8 @@ int main(void)
     int __e_acsl_lt_2;
     __gmpz_init_set_si(__e_acsl_3,(long)5);
     __gmpz_init_set_si(__e_acsl_4,(long)18);
-    __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_lt_2 < 0,(char *)"Assertion",(char *)"5 < 18",17);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_4);
@@ -181,7 +186,8 @@ int main(void)
     int __e_acsl_gt_2;
     __gmpz_init_set_si(__e_acsl_5,(long)32);
     __gmpz_init_set_si(__e_acsl_6,(long)3);
-    __e_acsl_gt_2 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_gt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_gt_2 > 0,(char *)"Assertion",(char *)"32 > 3",18);
     __gmpz_clear(__e_acsl_5);
     __gmpz_clear(__e_acsl_6);
@@ -194,7 +200,8 @@ int main(void)
     int __e_acsl_le_2;
     __gmpz_init_set_si(__e_acsl_7,(long)12);
     __gmpz_init_set_si(__e_acsl_8,(long)13);
-    __e_acsl_le_2 = __gmpz_cmp(__e_acsl_7,__e_acsl_8);
+    __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7),
+                               (__mpz_struct const *)(__e_acsl_8));
     e_acsl_assert(__e_acsl_le_2 <= 0,(char *)"Assertion",(char *)"12 <= 13",
                   19);
     __gmpz_clear(__e_acsl_7);
@@ -208,7 +215,8 @@ int main(void)
     int __e_acsl_ge_2;
     __gmpz_init_set_si(__e_acsl_9,(long)123);
     __gmpz_init_set_si(__e_acsl_10,(long)12);
-    __e_acsl_ge_2 = __gmpz_cmp(__e_acsl_9,__e_acsl_10);
+    __e_acsl_ge_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9),
+                               (__mpz_struct const *)(__e_acsl_10));
     e_acsl_assert(__e_acsl_ge_2 >= 0,(char *)"Assertion",(char *)"123 >= 12",
                   20);
     __gmpz_clear(__e_acsl_9);
@@ -220,7 +228,8 @@ int main(void)
     mpz_t __e_acsl_11;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_11,(long)0xff);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_11,__e_acsl_11);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11),
+                             (__mpz_struct const *)(__e_acsl_11));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"0xff == 0xff",21);
     __gmpz_clear(__e_acsl_11);
@@ -233,7 +242,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_12,(long)1);
     __gmpz_init_set_si(__e_acsl_13,(long)2);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_12,__e_acsl_13);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12),
+                             (__mpz_struct const *)(__e_acsl_13));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"1 != 2",22);
     __gmpz_clear(__e_acsl_12);
     __gmpz_clear(__e_acsl_13);
@@ -247,9 +257,10 @@ int main(void)
     int __e_acsl_lt_3;
     __gmpz_init_set_si(__e_acsl_14,(long)5);
     __gmpz_init(__e_acsl_neg);
-    __gmpz_neg(__e_acsl_neg,__e_acsl_14);
+    __gmpz_neg(__e_acsl_neg,(__mpz_struct const *)(__e_acsl_14));
     __gmpz_init_set_si(__e_acsl_15,(long)18);
-    __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_neg,__e_acsl_15);
+    __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg),
+                               (__mpz_struct const *)(__e_acsl_15));
     e_acsl_assert(__e_acsl_lt_3 < 0,(char *)"Assertion",(char *)"-5 < 18",24);
     __gmpz_clear(__e_acsl_14);
     __gmpz_clear(__e_acsl_neg);
@@ -265,8 +276,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_16,(long)32);
     __gmpz_init_set_si(__e_acsl_17,(long)3);
     __gmpz_init(__e_acsl_neg_2);
-    __gmpz_neg(__e_acsl_neg_2,__e_acsl_17);
-    __e_acsl_gt_3 = __gmpz_cmp(__e_acsl_16,__e_acsl_neg_2);
+    __gmpz_neg(__e_acsl_neg_2,(__mpz_struct const *)(__e_acsl_17));
+    __e_acsl_gt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                               (__mpz_struct const *)(__e_acsl_neg_2));
     e_acsl_assert(__e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"32 > -3",25);
     __gmpz_clear(__e_acsl_16);
     __gmpz_clear(__e_acsl_17);
@@ -281,9 +293,10 @@ int main(void)
     int __e_acsl_le_3;
     __gmpz_init_set_si(__e_acsl_18,(long)12);
     __gmpz_init(__e_acsl_neg_3);
-    __gmpz_neg(__e_acsl_neg_3,__e_acsl_18);
+    __gmpz_neg(__e_acsl_neg_3,(__mpz_struct const *)(__e_acsl_18));
     __gmpz_init_set_si(__e_acsl_19,(long)13);
-    __e_acsl_le_3 = __gmpz_cmp(__e_acsl_neg_3,__e_acsl_19);
+    __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_3),
+                               (__mpz_struct const *)(__e_acsl_19));
     e_acsl_assert(__e_acsl_le_3 <= 0,(char *)"Assertion",(char *)"-12 <= 13",
                   26);
     __gmpz_clear(__e_acsl_18);
@@ -300,8 +313,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_20,(long)123);
     __gmpz_init_set_si(__e_acsl_21,(long)12);
     __gmpz_init(__e_acsl_neg_4);
-    __gmpz_neg(__e_acsl_neg_4,__e_acsl_21);
-    __e_acsl_ge_3 = __gmpz_cmp(__e_acsl_20,__e_acsl_neg_4);
+    __gmpz_neg(__e_acsl_neg_4,(__mpz_struct const *)(__e_acsl_21));
+    __e_acsl_ge_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20),
+                               (__mpz_struct const *)(__e_acsl_neg_4));
     e_acsl_assert(__e_acsl_ge_3 >= 0,(char *)"Assertion",
                   (char *)"123 >= -12",27);
     __gmpz_clear(__e_acsl_20);
@@ -316,8 +330,9 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_22,(long)0xff);
     __gmpz_init(__e_acsl_neg_5);
-    __gmpz_neg(__e_acsl_neg_5,__e_acsl_22);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_neg_5,__e_acsl_neg_5);
+    __gmpz_neg(__e_acsl_neg_5,(__mpz_struct const *)(__e_acsl_22));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_neg_5),
+                               (__mpz_struct const *)(__e_acsl_neg_5));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"-0xff == -0xff",28);
     __gmpz_clear(__e_acsl_22);
@@ -333,8 +348,9 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_23,(long)1);
     __gmpz_init_set_si(__e_acsl_24,(long)2);
     __gmpz_init(__e_acsl_neg_6);
-    __gmpz_neg(__e_acsl_neg_6,__e_acsl_24);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_23,__e_acsl_neg_6);
+    __gmpz_neg(__e_acsl_neg_6,(__mpz_struct const *)(__e_acsl_24));
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_23),
+                               (__mpz_struct const *)(__e_acsl_neg_6));
     e_acsl_assert(__e_acsl_ne_2 != 0,(char *)"Assertion",(char *)"1 != -2",
                   29);
     __gmpz_clear(__e_acsl_23);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
index 945a7747ca7c7f11e15f7d02e17b6f8c1eda03d5..d7c7a14f3712a16bfece28987ceec7d356cddcb3 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
@@ -103,7 +103,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"X == 1",
                   10);
     __gmpz_clear(__e_acsl_X);
@@ -126,11 +127,13 @@ void g(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"X == 2",
                   14);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_Y,__e_acsl);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"Y == 2",15);
     __gmpz_clear(__e_acsl_X);
@@ -150,7 +153,8 @@ void h(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 2",
                   19);
     __gmpz_clear(__e_acsl_X);
@@ -174,12 +178,14 @@ void i(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)3);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 3",
                   23);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_Y,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",(char *)"Y == 2",
                   24);
     __gmpz_clear(__e_acsl_X);
@@ -217,18 +223,22 @@ void j(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)5);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"X == 5",
                   29);
     __gmpz_init_set_si(__e_acsl_2,(long)3);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,__e_acsl_2,__e_acsl_Y);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X,__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_2),
+               (__mpz_struct const *)(__e_acsl_Y));
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_add));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                   (char *)"X == 3+Y",32);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_Y,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Precondition",(char *)"Y == 2",
                   33);
     __gmpz_clear(__e_acsl_X);
@@ -250,14 +260,17 @@ void j(void)
     int __e_acsl_eq_5;
     __gmpz_init_set_si(__e_acsl_X_2,(long)X);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_4);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Postcondition",
                   (char *)"X == 3",30);
     __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
     __gmpz_init_set_si(__e_acsl_5,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_Y_2,__e_acsl_5);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_Y_2),
+               (__mpz_struct const *)(__e_acsl_5));
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_add_2));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                   (char *)"X == Y+1",34);
     __gmpz_clear(__e_acsl_X_2);
@@ -298,7 +311,8 @@ void k(void)
     int __e_acsl_implies_3;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     if (! (__e_acsl_eq == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_X_2;
@@ -306,7 +320,8 @@ void k(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)0);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_2);
@@ -314,14 +329,16 @@ void k(void)
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",
                   (char *)"X == 1 ==>\nX == 0",40);
     __gmpz_init_set_si(__e_acsl_3,(long)3);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_3 == 0) {
       mpz_t __e_acsl_Y;
       mpz_t __e_acsl_4;
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_Y,(long)Y);
       __gmpz_init_set_si(__e_acsl_4,(long)2);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_Y,__e_acsl_4);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_and = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_Y);
       __gmpz_clear(__e_acsl_4);
@@ -334,21 +351,24 @@ void k(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_X_3,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)3);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_5);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_implies_2 = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_X_3);
       __gmpz_clear(__e_acsl_5);
     }
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",
                   (char *)"X == 3 && Y == 2 ==>\nX == 3",44);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_X,__e_acsl_3);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_6 == 0) {
       mpz_t __e_acsl_Y_2;
       mpz_t __e_acsl_6;
       int __e_acsl_eq_7;
       __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
       __gmpz_init_set_si(__e_acsl_6,(long)2);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_Y_2,__e_acsl_6);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y_2),
+                                 (__mpz_struct const *)(__e_acsl_6));
       __e_acsl_and_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_Y_2);
       __gmpz_clear(__e_acsl_6);
@@ -364,9 +384,11 @@ void k(void)
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_Y_3,(long)Y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_X_4,__e_acsl_Y_3);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_X_4),
+                 (__mpz_struct const *)(__e_acsl_Y_3));
       __gmpz_init_set_si(__e_acsl_7,(long)5);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_add,__e_acsl_7);
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_implies_3 = __e_acsl_eq_8 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_Y_3);
@@ -394,7 +416,8 @@ int l(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
     __gmpz_init_set_si(__e_acsl,(long)2);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_Y,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"Y == 2",51);
     __gmpz_clear(__e_acsl_Y);
     __gmpz_clear(__e_acsl);
@@ -406,7 +429,8 @@ int l(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl_2,(long)5);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"X == 5",49);
     __gmpz_clear(__e_acsl_X);
@@ -442,14 +466,16 @@ void m(void)
     int __e_acsl_and_2;
     __gmpz_init_set_si(__e_acsl_X_5,(long)X);
     __gmpz_init_set_si(__e_acsl_6,(long)5);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_X_5,__e_acsl_6);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     if (__e_acsl_eq_6 == 0) {
       mpz_t __e_acsl_Y_2;
       mpz_t __e_acsl_7;
       int __e_acsl_eq_7;
       __gmpz_init_set_si(__e_acsl_Y_2,(long)Y);
       __gmpz_init_set_si(__e_acsl_7,(long)2);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_Y_2,__e_acsl_7);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y_2),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_and_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_Y_2);
       __gmpz_clear(__e_acsl_7);
@@ -467,14 +493,16 @@ void m(void)
     int __e_acsl_and;
     __gmpz_init_set_si(__e_acsl_X_3,(long)X);
     __gmpz_init_set_si(__e_acsl_3,(long)5);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_eq_3 == 0) {
       mpz_t __e_acsl_Y;
       mpz_t __e_acsl_4;
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_Y,(long)Y);
       __gmpz_init_set_si(__e_acsl_4,(long)2);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_Y,__e_acsl_4);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_Y),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_and = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_Y);
       __gmpz_clear(__e_acsl_4);
@@ -491,7 +519,8 @@ void m(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)7);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     __e_acsl_at = __e_acsl_eq == 0;
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -509,7 +538,8 @@ void m(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)95);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_2);
@@ -523,7 +553,8 @@ void m(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)7);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_5);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_implies_2 = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_5);
@@ -541,8 +572,10 @@ void m(void)
       __gmpz_init_set_si(__e_acsl_8,(long)__e_acsl_at_4);
       __gmpz_init_set_si(__e_acsl_Y_3,(long)Y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_8,__e_acsl_Y_3);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_X_6,__e_acsl_add);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_8),
+                 (__mpz_struct const *)(__e_acsl_Y_3));
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_6),
+                                 (__mpz_struct const *)(__e_acsl_add));
       __e_acsl_implies_3 = __e_acsl_eq_8 == 0;
       __gmpz_clear(__e_acsl_X_6);
       __gmpz_clear(__e_acsl_8);
@@ -580,10 +613,12 @@ void n(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_gt = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_gt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_gt > 0,(char *)"Precondition",(char *)"X > 0",67);
     __gmpz_init_set_si(__e_acsl_2,(long)10);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_X,__e_acsl_2);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Precondition",(char *)"X < 10",68);
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -594,7 +629,8 @@ void n(void)
       int __e_acsl_eq_3;
       __gmpz_init_set_si(__e_acsl_X_4,(long)X);
       __gmpz_init_set_si(__e_acsl_5,(long)5);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_5);
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                                 (__mpz_struct const *)(__e_acsl_5));
       __e_acsl_at_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_X_4);
       __gmpz_clear(__e_acsl_5);
@@ -606,7 +642,8 @@ void n(void)
       int __e_acsl_eq;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_3,(long)7);
-      __e_acsl_eq = __gmpz_cmp(__e_acsl_X_2,__e_acsl_3);
+      __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                               (__mpz_struct const *)(__e_acsl_3));
       __e_acsl_at = __e_acsl_eq == 0;
       __gmpz_clear(__e_acsl_X_2);
       __gmpz_clear(__e_acsl_3);
@@ -625,7 +662,8 @@ void n(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_3,(long)X);
       __gmpz_init_set_si(__e_acsl_4,(long)8);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_4);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                                 (__mpz_struct const *)(__e_acsl_4));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_X_3);
       __gmpz_clear(__e_acsl_4);
@@ -639,7 +677,8 @@ void n(void)
       int __e_acsl_eq_4;
       __gmpz_init_set_si(__e_acsl_X_5,(long)X);
       __gmpz_init_set_si(__e_acsl_6,(long)98);
-      __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_5,__e_acsl_6);
+      __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_5),
+                                 (__mpz_struct const *)(__e_acsl_6));
       __e_acsl_implies_2 = __e_acsl_eq_4 == 0;
       __gmpz_clear(__e_acsl_X_5);
       __gmpz_clear(__e_acsl_6);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_global_literal_string2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_global_literal_string2.c
index 7ff4ce8385595fe79c5a64c9acead07f6f20e4ec..51e1e65ffdcb6379c2e1e120f1f0b6fcf3683e9d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_global_literal_string2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_global_literal_string2.c
@@ -85,7 +85,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*(T + (long)G));
     __gmpz_init_set_si(__e_acsl_2,(long)'b');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"*(T+G) == \'b\'",15);
     __gmpz_clear(__e_acsl);
@@ -110,7 +111,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*(S + (long)G2));
     __gmpz_init_set_si(__e_acsl_2,(long)'o');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"*(S+G2) == \'o\'",25);
     __gmpz_clear(__e_acsl);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
index c5557fdfe079742d02d74e871eb6879cd22d46dc..63ec734eab0045551293a6749e1760467926dde1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
@@ -96,7 +96,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_str(__e_acsl,"340282366920938463463374607431768211455",
                         10);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
                   13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
index 8800993ab127dea8eb8281c08825df8ee47549e2..903c77ad57cb49266f0db38651420d29ea93eb04 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
@@ -95,7 +95,8 @@ int main(void)
     mpz_t __e_acsl;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"0 == 0",8);
     __gmpz_clear(__e_acsl);
   }
@@ -109,7 +110,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_2,(long)0);
     __gmpz_init_set_si(__e_acsl_3,(long)1);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"0 != 1",10);
     __gmpz_clear(__e_acsl_2);
     __gmpz_clear(__e_acsl_3);
@@ -120,7 +122,8 @@ int main(void)
     mpz_t __e_acsl_4;
     int __e_acsl_eq_2;
     __gmpz_init_set_str(__e_acsl_4,"1152921504606846975",10);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_4,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"1152921504606846975 == 0xfffffffffffffff",11);
     __gmpz_clear(__e_acsl_4);
@@ -135,7 +138,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_str(__e_acsl_5,"340282366920938463463374607431768211455",
                         10);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_5);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
                   13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
index 6c9bef40cc221497819ce54db9d0c4a8ac43bbf7..a202ee37bf0340430b47d0dc6572b93385a6351c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
@@ -90,14 +90,16 @@ int main(void)
         int __e_acsl_and;
         __gmpz_init_set_si(__e_acsl,(long)0);
         __gmpz_init_set_si(__e_acsl_i,(long)i);
-        __e_acsl_le = __gmpz_cmp(__e_acsl,__e_acsl_i);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                 (__mpz_struct const *)(__e_acsl_i));
         if (__e_acsl_le <= 0) {
           mpz_t __e_acsl_i_2;
           mpz_t __e_acsl_2;
           int __e_acsl_lt;
           __gmpz_init_set_si(__e_acsl_i_2,(long)i);
           __gmpz_init_set_si(__e_acsl_2,(long)10);
-          __e_acsl_lt = __gmpz_cmp(__e_acsl_i_2,__e_acsl_2);
+          __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_2),
+                                   (__mpz_struct const *)(__e_acsl_2));
           __e_acsl_and = __e_acsl_lt < 0;
           __gmpz_clear(__e_acsl_i_2);
           __gmpz_clear(__e_acsl_2);
@@ -117,7 +119,8 @@ int main(void)
         int __e_acsl_le_2;
         __gmpz_init_set_si(__e_acsl_i_3,(long)i);
         __gmpz_init_set_si(__e_acsl_x,(long)x);
-        __e_acsl_le_2 = __gmpz_cmp(__e_acsl_i_3,__e_acsl_x);
+        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_3),
+                                   (__mpz_struct const *)(__e_acsl_x));
         e_acsl_assert(__e_acsl_le_2 <= 0,(char *)"Invariant",
                       (char *)"i <= x",11);
         __gmpz_clear(__e_acsl_i_3);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
index d37605c889bfe4499b2214a2d75314a5c8f09fd7..56d97c829540ced1f657078f4483c65769934580 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
@@ -87,7 +87,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"X == 0",12);
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -108,7 +109,8 @@ int main(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                     (char *)"X == 1",14);
       __gmpz_clear(__e_acsl_X_2);
@@ -118,7 +120,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_X_3,(long)X);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                   (char *)"X == 2",14);
     __gmpz_clear(__e_acsl_X_3);
@@ -137,7 +140,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_X_4,(long)X);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_4);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Postcondition",
                   (char *)"X == 3",9);
     __gmpz_clear(__e_acsl_X_4);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
index 2d6d32019f9f8703c825a437da7f87082265b995..edf976ab9169d13c240805895efcb71212406ae6 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
@@ -117,14 +117,16 @@ int main(void)
     int __e_acsl_and;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     if (__e_acsl_eq == 0) {
       mpz_t __e_acsl_y;
       mpz_t __e_acsl_2;
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_y,(long)y);
       __gmpz_init_set_si(__e_acsl_2,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_y,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_and = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_y);
       __gmpz_clear(__e_acsl_2);
@@ -144,7 +146,8 @@ int main(void)
     int __e_acsl_and_2;
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_3,(long)0);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_x_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_ne != 0) {
       mpz_t __e_acsl_y_2;
       mpz_t __e_acsl_4;
@@ -155,13 +158,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_2,(long)y);
       __gmpz_init_set_si(__e_acsl_4,(long)1);
       __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __e_acsl_div_guard = __gmpz_cmp(__e_acsl_5,__e_acsl_5);
+      __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                                      (__mpz_struct const *)(__e_acsl_5));
       __gmpz_init(__e_acsl_div);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                     (char *)"0 == 0",12);
-      __gmpz_tdiv_q(__e_acsl_div,__e_acsl_4,__e_acsl_5);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_div);
+      __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_4),
+                    (__mpz_struct const *)(__e_acsl_5));
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                                 (__mpz_struct const *)(__e_acsl_div));
       __e_acsl_and_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_y_2);
       __gmpz_clear(__e_acsl_4);
@@ -183,7 +189,8 @@ int main(void)
     int __e_acsl_or;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_y_3,__e_acsl_6);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                               (__mpz_struct const *)(__e_acsl_6));
     if (__e_acsl_eq_4 == 0) { __e_acsl_or = 1; }
     else {
       mpz_t __e_acsl_x_3;
@@ -191,7 +198,8 @@ int main(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_x_3,(long)x);
       __gmpz_init_set_si(__e_acsl_7,(long)1);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_7);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_or = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_x_3);
       __gmpz_clear(__e_acsl_7);
@@ -210,7 +218,8 @@ int main(void)
     int __e_acsl_or_2;
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_8,(long)0);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_8);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                               (__mpz_struct const *)(__e_acsl_8));
     if (__e_acsl_eq_6 == 0) { __e_acsl_or_2 = 1; }
     else {
       mpz_t __e_acsl_y_4;
@@ -222,13 +231,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_4,(long)y);
       __gmpz_init_set_si(__e_acsl_9,(long)1);
       __gmpz_init_set_si(__e_acsl_10,(long)0);
-      __e_acsl_div_guard_2 = __gmpz_cmp(__e_acsl_10,__e_acsl_10);
+      __e_acsl_div_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                                        (__mpz_struct const *)(__e_acsl_10));
       __gmpz_init(__e_acsl_div_2);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard_2 == 0),(char *)"Assertion",
                     (char *)"0 == 0",14);
-      __gmpz_tdiv_q(__e_acsl_div_2,__e_acsl_9,__e_acsl_10);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_y_4,__e_acsl_div_2);
+      __gmpz_tdiv_q(__e_acsl_div_2,(__mpz_struct const *)(__e_acsl_9),
+                    (__mpz_struct const *)(__e_acsl_10));
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_4),
+                                 (__mpz_struct const *)(__e_acsl_div_2));
       __e_acsl_or_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_y_4);
       __gmpz_clear(__e_acsl_9);
@@ -249,7 +261,8 @@ int main(void)
     int __e_acsl_implies;
     __gmpz_init_set_si(__e_acsl_x_5,(long)x);
     __gmpz_init_set_si(__e_acsl_11,(long)0);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_11);
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                               (__mpz_struct const *)(__e_acsl_11));
     if (! (__e_acsl_eq_8 == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_y_5;
@@ -257,7 +270,8 @@ int main(void)
       int __e_acsl_eq_9;
       __gmpz_init_set_si(__e_acsl_y_5,(long)y);
       __gmpz_init_set_si(__e_acsl_12,(long)1);
-      __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_y_5,__e_acsl_12);
+      __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_5),
+                                 (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_9 == 0;
       __gmpz_clear(__e_acsl_y_5);
       __gmpz_clear(__e_acsl_12);
@@ -276,7 +290,8 @@ int main(void)
     int __e_acsl_implies_2;
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_13,(long)1);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_13);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (! (__e_acsl_eq_10 == 0)) { __e_acsl_implies_2 = 1; }
     else {
       mpz_t __e_acsl_y_6;
@@ -288,13 +303,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_6,(long)y);
       __gmpz_init_set_si(__e_acsl_14,(long)1);
       __gmpz_init_set_si(__e_acsl_15,(long)0);
-      __e_acsl_div_guard_3 = __gmpz_cmp(__e_acsl_15,__e_acsl_15);
+      __e_acsl_div_guard_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15),
+                                        (__mpz_struct const *)(__e_acsl_15));
       __gmpz_init(__e_acsl_div_3);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard_3 == 0),(char *)"Assertion",
                     (char *)"0 == 0",16);
-      __gmpz_tdiv_q(__e_acsl_div_3,__e_acsl_14,__e_acsl_15);
-      __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_y_6,__e_acsl_div_3);
+      __gmpz_tdiv_q(__e_acsl_div_3,(__mpz_struct const *)(__e_acsl_14),
+                    (__mpz_struct const *)(__e_acsl_15));
+      __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_6),
+                                  (__mpz_struct const *)(__e_acsl_div_3));
       __e_acsl_implies_2 = __e_acsl_eq_11 == 0;
       __gmpz_clear(__e_acsl_y_6);
       __gmpz_clear(__e_acsl_14);
@@ -315,14 +333,16 @@ int main(void)
     int __e_acsl_if;
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_16,0L);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_16);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                               (__mpz_struct const *)(__e_acsl_16));
     if (__e_acsl_ne_2 != 0) {
       mpz_t __e_acsl_x_8;
       mpz_t __e_acsl_17;
       int __e_acsl_ne_3;
       __gmpz_init_set_si(__e_acsl_x_8,(long)x);
       __gmpz_init_set_si(__e_acsl_17,0L);
-      __e_acsl_ne_3 = __gmpz_cmp(__e_acsl_x_8,__e_acsl_17);
+      __e_acsl_ne_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_8),
+                                 (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_if = __e_acsl_ne_3 != 0;
       __gmpz_clear(__e_acsl_x_8);
       __gmpz_clear(__e_acsl_17);
@@ -333,7 +353,8 @@ int main(void)
       int __e_acsl_ne_4;
       __gmpz_init_set_si(__e_acsl_y_7,(long)y);
       __gmpz_init_set_si(__e_acsl_18,0L);
-      __e_acsl_ne_4 = __gmpz_cmp(__e_acsl_y_7,__e_acsl_18);
+      __e_acsl_ne_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_7),
+                                 (__mpz_struct const *)(__e_acsl_18));
       __e_acsl_if = __e_acsl_ne_4 != 0;
       __gmpz_clear(__e_acsl_y_7);
       __gmpz_clear(__e_acsl_18);
@@ -352,14 +373,16 @@ int main(void)
     int __e_acsl_if_2;
     __gmpz_init_set_si(__e_acsl_y_8,(long)y);
     __gmpz_init_set_si(__e_acsl_19,0L);
-    __e_acsl_ne_5 = __gmpz_cmp(__e_acsl_y_8,__e_acsl_19);
+    __e_acsl_ne_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_8),
+                               (__mpz_struct const *)(__e_acsl_19));
     if (__e_acsl_ne_5 != 0) {
       mpz_t __e_acsl_y_9;
       mpz_t __e_acsl_20;
       int __e_acsl_ne_6;
       __gmpz_init_set_si(__e_acsl_y_9,(long)y);
       __gmpz_init_set_si(__e_acsl_20,0L);
-      __e_acsl_ne_6 = __gmpz_cmp(__e_acsl_y_9,__e_acsl_20);
+      __e_acsl_ne_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_9),
+                                 (__mpz_struct const *)(__e_acsl_20));
       __e_acsl_if_2 = __e_acsl_ne_6 != 0;
       __gmpz_clear(__e_acsl_y_9);
       __gmpz_clear(__e_acsl_20);
@@ -370,7 +393,8 @@ int main(void)
       int __e_acsl_ne_7;
       __gmpz_init_set_si(__e_acsl_x_9,(long)x);
       __gmpz_init_set_si(__e_acsl_21,0L);
-      __e_acsl_ne_7 = __gmpz_cmp(__e_acsl_x_9,__e_acsl_21);
+      __e_acsl_ne_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_9),
+                                 (__mpz_struct const *)(__e_acsl_21));
       __e_acsl_if_2 = __e_acsl_ne_7 != 0;
       __gmpz_clear(__e_acsl_x_9);
       __gmpz_clear(__e_acsl_21);
@@ -389,14 +413,16 @@ int main(void)
     int __e_acsl_if_3;
     __gmpz_init_set_si(__e_acsl_x_10,(long)x);
     __gmpz_init_set_si(__e_acsl_22,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_x_10,__e_acsl_22);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_10),
+                                (__mpz_struct const *)(__e_acsl_22));
     if (__e_acsl_eq_12 == 0) {
       mpz_t __e_acsl_x_11;
       mpz_t __e_acsl_23;
       int __e_acsl_eq_13;
       __gmpz_init_set_si(__e_acsl_x_11,(long)x);
       __gmpz_init_set_si(__e_acsl_23,(long)18);
-      __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_x_11,__e_acsl_23);
+      __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_11),
+                                  (__mpz_struct const *)(__e_acsl_23));
       __e_acsl_if_3 = __e_acsl_eq_13 == 0;
       __gmpz_clear(__e_acsl_x_11);
       __gmpz_clear(__e_acsl_23);
@@ -407,7 +433,8 @@ int main(void)
       int __e_acsl_eq_14;
       __gmpz_init_set_si(__e_acsl_x_12,(long)x);
       __gmpz_init_set_si(__e_acsl_24,(long)0);
-      __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_x_12,__e_acsl_24);
+      __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_12),
+                                  (__mpz_struct const *)(__e_acsl_24));
       __e_acsl_if_3 = __e_acsl_eq_14 == 0;
       __gmpz_clear(__e_acsl_x_12);
       __gmpz_clear(__e_acsl_24);
@@ -427,7 +454,8 @@ int main(void)
     int __e_acsl_equiv;
     __gmpz_init_set_si(__e_acsl_x_13,(long)x);
     __gmpz_init_set_si(__e_acsl_25,(long)2);
-    __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_x_13,__e_acsl_25);
+    __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_13),
+                                (__mpz_struct const *)(__e_acsl_25));
     if (! (__e_acsl_eq_15 == 0)) { __e_acsl_implies_3 = 1; }
     else {
       mpz_t __e_acsl_y_10;
@@ -435,7 +463,8 @@ int main(void)
       int __e_acsl_eq_16;
       __gmpz_init_set_si(__e_acsl_y_10,(long)y);
       __gmpz_init_set_si(__e_acsl_26,(long)3);
-      __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_y_10,__e_acsl_26);
+      __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_10),
+                                  (__mpz_struct const *)(__e_acsl_26));
       __e_acsl_implies_3 = __e_acsl_eq_16 == 0;
       __gmpz_clear(__e_acsl_y_10);
       __gmpz_clear(__e_acsl_26);
@@ -447,7 +476,8 @@ int main(void)
       int __e_acsl_implies_4;
       __gmpz_init_set_si(__e_acsl_y_11,(long)y);
       __gmpz_init_set_si(__e_acsl_27,(long)3);
-      __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_y_11,__e_acsl_27);
+      __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_11),
+                                  (__mpz_struct const *)(__e_acsl_27));
       if (! (__e_acsl_eq_17 == 0)) { __e_acsl_implies_4 = 1; }
       else {
         mpz_t __e_acsl_x_14;
@@ -455,7 +485,8 @@ int main(void)
         int __e_acsl_eq_18;
         __gmpz_init_set_si(__e_acsl_x_14,(long)x);
         __gmpz_init_set_si(__e_acsl_28,(long)2);
-        __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_x_14,__e_acsl_28);
+        __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_14),
+                                    (__mpz_struct const *)(__e_acsl_28));
         __e_acsl_implies_4 = __e_acsl_eq_18 == 0;
         __gmpz_clear(__e_acsl_x_14);
         __gmpz_clear(__e_acsl_28);
@@ -480,7 +511,8 @@ int main(void)
     int __e_acsl_equiv_2;
     __gmpz_init_set_si(__e_acsl_x_15,(long)x);
     __gmpz_init_set_si(__e_acsl_29,(long)0);
-    __e_acsl_eq_19 = __gmpz_cmp(__e_acsl_x_15,__e_acsl_29);
+    __e_acsl_eq_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_15),
+                                (__mpz_struct const *)(__e_acsl_29));
     if (! (__e_acsl_eq_19 == 0)) { __e_acsl_implies_5 = 1; }
     else {
       mpz_t __e_acsl_y_12;
@@ -488,7 +520,8 @@ int main(void)
       int __e_acsl_eq_20;
       __gmpz_init_set_si(__e_acsl_y_12,(long)y);
       __gmpz_init_set_si(__e_acsl_30,(long)1);
-      __e_acsl_eq_20 = __gmpz_cmp(__e_acsl_y_12,__e_acsl_30);
+      __e_acsl_eq_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_12),
+                                  (__mpz_struct const *)(__e_acsl_30));
       __e_acsl_implies_5 = __e_acsl_eq_20 == 0;
       __gmpz_clear(__e_acsl_y_12);
       __gmpz_clear(__e_acsl_30);
@@ -500,7 +533,8 @@ int main(void)
       int __e_acsl_implies_6;
       __gmpz_init_set_si(__e_acsl_y_13,(long)y);
       __gmpz_init_set_si(__e_acsl_31,(long)1);
-      __e_acsl_eq_21 = __gmpz_cmp(__e_acsl_y_13,__e_acsl_31);
+      __e_acsl_eq_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_13),
+                                  (__mpz_struct const *)(__e_acsl_31));
       if (! (__e_acsl_eq_21 == 0)) { __e_acsl_implies_6 = 1; }
       else {
         mpz_t __e_acsl_x_16;
@@ -508,7 +542,8 @@ int main(void)
         int __e_acsl_eq_22;
         __gmpz_init_set_si(__e_acsl_x_16,(long)x);
         __gmpz_init_set_si(__e_acsl_32,(long)0);
-        __e_acsl_eq_22 = __gmpz_cmp(__e_acsl_x_16,__e_acsl_32);
+        __e_acsl_eq_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_16),
+                                    (__mpz_struct const *)(__e_acsl_32));
         __e_acsl_implies_6 = __e_acsl_eq_22 == 0;
         __gmpz_clear(__e_acsl_x_16);
         __gmpz_clear(__e_acsl_32);
@@ -537,24 +572,28 @@ int main(void)
     int __e_acsl_eq_24;
     __gmpz_init_set_si(__e_acsl_x_17,(long)x);
     __gmpz_init_set_si(__e_acsl_33,0L);
-    __e_acsl_ne_8 = __gmpz_cmp(__e_acsl_x_17,__e_acsl_33);
+    __e_acsl_ne_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_17),
+                               (__mpz_struct const *)(__e_acsl_33));
     if (__e_acsl_ne_8 != 0) {
       mpz_t __e_acsl_x_18;
       __gmpz_init_set_si(__e_acsl_x_18,(long)x);
-      __gmpz_init_set(__e_acsl_if_4,__e_acsl_x_18);
+      __gmpz_init_set(__e_acsl_if_4,(__mpz_struct const *)(__e_acsl_x_18));
       __gmpz_clear(__e_acsl_x_18);
     }
     else {
       mpz_t __e_acsl_y_14;
       __gmpz_init_set_si(__e_acsl_y_14,(long)y);
-      __gmpz_init_set(__e_acsl_if_4,__e_acsl_y_14);
+      __gmpz_init_set(__e_acsl_if_4,(__mpz_struct const *)(__e_acsl_y_14));
       __gmpz_clear(__e_acsl_y_14);
     }
-    __e_acsl_ne_9 = __gmpz_cmp(__e_acsl_if_4,__e_acsl_33);
+    __e_acsl_ne_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_if_4),
+                               (__mpz_struct const *)(__e_acsl_33));
     __gmpz_init_set_si(__e_acsl_34,(long)(__e_acsl_ne_9 != 0));
-    __e_acsl_eq_23 = __gmpz_cmp(__e_acsl_x_17,__e_acsl_33);
+    __e_acsl_eq_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_17),
+                                (__mpz_struct const *)(__e_acsl_33));
     __gmpz_init_set_si(__e_acsl_35,(long)(__e_acsl_eq_23 == 0));
-    __e_acsl_eq_24 = __gmpz_cmp(__e_acsl_34,__e_acsl_35);
+    __e_acsl_eq_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34),
+                                (__mpz_struct const *)(__e_acsl_35));
     e_acsl_assert(__e_acsl_eq_24 == 0,(char *)"Assertion",
                   (char *)"((x!=0? x: y)!=0) == (x==0)",26);
     __gmpz_clear(__e_acsl_x_17);
@@ -573,14 +612,16 @@ int main(void)
     int __e_acsl_or_3;
     __gmpz_init_set_si(__e_acsl_x_19,(long)x);
     __gmpz_init_set_si(__e_acsl_36,0L);
-    __e_acsl_ne_10 = __gmpz_cmp(__e_acsl_x_19,__e_acsl_36);
+    __e_acsl_ne_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_19),
+                                (__mpz_struct const *)(__e_acsl_36));
     if (__e_acsl_ne_10 != 0) {
       mpz_t __e_acsl_y_15;
       mpz_t __e_acsl_37;
       int __e_acsl_ne_11;
       __gmpz_init_set_si(__e_acsl_y_15,(long)y);
       __gmpz_init_set_si(__e_acsl_37,0L);
-      __e_acsl_ne_11 = __gmpz_cmp(__e_acsl_y_15,__e_acsl_37);
+      __e_acsl_ne_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_15),
+                                  (__mpz_struct const *)(__e_acsl_37));
       __e_acsl_and_3 = __e_acsl_ne_11 != 0;
       __gmpz_clear(__e_acsl_y_15);
       __gmpz_clear(__e_acsl_37);
@@ -593,7 +634,8 @@ int main(void)
       int __e_acsl_ne_12;
       __gmpz_init_set_si(__e_acsl_y_16,(long)y);
       __gmpz_init_set_si(__e_acsl_38,0L);
-      __e_acsl_ne_12 = __gmpz_cmp(__e_acsl_y_16,__e_acsl_38);
+      __e_acsl_ne_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_16),
+                                  (__mpz_struct const *)(__e_acsl_38));
       __e_acsl_or_3 = __e_acsl_ne_12 != 0;
       __gmpz_clear(__e_acsl_y_16);
       __gmpz_clear(__e_acsl_38);
@@ -613,7 +655,8 @@ int main(void)
     int __e_acsl_and_4;
     __gmpz_init_set_si(__e_acsl_x_20,(long)x);
     __gmpz_init_set_si(__e_acsl_39,0L);
-    __e_acsl_ne_13 = __gmpz_cmp(__e_acsl_x_20,__e_acsl_39);
+    __e_acsl_ne_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_20),
+                                (__mpz_struct const *)(__e_acsl_39));
     if (__e_acsl_ne_13 != 0) { __e_acsl_or_4 = 1; }
     else {
       mpz_t __e_acsl_y_17;
@@ -621,7 +664,8 @@ int main(void)
       int __e_acsl_ne_14;
       __gmpz_init_set_si(__e_acsl_y_17,(long)y);
       __gmpz_init_set_si(__e_acsl_40,0L);
-      __e_acsl_ne_14 = __gmpz_cmp(__e_acsl_y_17,__e_acsl_40);
+      __e_acsl_ne_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_17),
+                                  (__mpz_struct const *)(__e_acsl_40));
       __e_acsl_or_4 = __e_acsl_ne_14 != 0;
       __gmpz_clear(__e_acsl_y_17);
       __gmpz_clear(__e_acsl_40);
@@ -632,7 +676,8 @@ int main(void)
       int __e_acsl_eq_25;
       __gmpz_init_set_si(__e_acsl_y_18,(long)y);
       __gmpz_init_set_si(__e_acsl_41,(long)1);
-      __e_acsl_eq_25 = __gmpz_cmp(__e_acsl_y_18,__e_acsl_41);
+      __e_acsl_eq_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_18),
+                                  (__mpz_struct const *)(__e_acsl_41));
       __e_acsl_and_4 = __e_acsl_eq_25 == 0;
       __gmpz_clear(__e_acsl_y_18);
       __gmpz_clear(__e_acsl_41);
@@ -656,7 +701,8 @@ int main(void)
     int __e_acsl_eq_26;
     __gmpz_init_set_si(__e_acsl_x_21,(long)x);
     __gmpz_init_set_si(__e_acsl_42,0L);
-    __e_acsl_ne_15 = __gmpz_cmp(__e_acsl_x_21,__e_acsl_42);
+    __e_acsl_ne_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_21),
+                                (__mpz_struct const *)(__e_acsl_42));
     if (__e_acsl_ne_15 != 0) { __gmpz_init_set_si(__e_acsl_or_5,1L); }
     else {
       mpz_t __e_acsl_y_19;
@@ -665,17 +711,20 @@ int main(void)
       mpz_t __e_acsl_44;
       __gmpz_init_set_si(__e_acsl_y_19,(long)y);
       __gmpz_init_set_si(__e_acsl_43,0L);
-      __e_acsl_ne_16 = __gmpz_cmp(__e_acsl_y_19,__e_acsl_43);
+      __e_acsl_ne_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_19),
+                                  (__mpz_struct const *)(__e_acsl_43));
       __gmpz_init_set_si(__e_acsl_44,(long)(__e_acsl_ne_16 != 0));
-      __gmpz_init_set(__e_acsl_or_5,__e_acsl_44);
+      __gmpz_init_set(__e_acsl_or_5,(__mpz_struct const *)(__e_acsl_44));
       __gmpz_clear(__e_acsl_y_19);
       __gmpz_clear(__e_acsl_43);
       __gmpz_clear(__e_acsl_44);
     }
     __gmpz_init_set_si(__e_acsl_y_20,(long)y);
-    __e_acsl_ne_17 = __gmpz_cmp(__e_acsl_y_20,__e_acsl_42);
+    __e_acsl_ne_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_20),
+                                (__mpz_struct const *)(__e_acsl_42));
     __gmpz_init_set_si(__e_acsl_45,(long)(__e_acsl_ne_17 != 0));
-    __e_acsl_eq_26 = __gmpz_cmp(__e_acsl_or_5,__e_acsl_45);
+    __e_acsl_eq_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_or_5),
+                                (__mpz_struct const *)(__e_acsl_45));
     e_acsl_assert(__e_acsl_eq_26 == 0,(char *)"Assertion",
                   (char *)"(x!=0||y!=0) == (y!=0)",29);
     __gmpz_clear(__e_acsl_x_21);
@@ -696,7 +745,8 @@ int main(void)
     int __e_acsl_eq_27;
     __gmpz_init_set_si(__e_acsl_x_22,(long)x);
     __gmpz_init_set_si(__e_acsl_46,0L);
-    __e_acsl_ne_18 = __gmpz_cmp(__e_acsl_x_22,__e_acsl_46);
+    __e_acsl_ne_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_22),
+                                (__mpz_struct const *)(__e_acsl_46));
     if (__e_acsl_ne_18 != 0) {
       mpz_t __e_acsl_y_21;
       mpz_t __e_acsl_47;
@@ -704,17 +754,20 @@ int main(void)
       mpz_t __e_acsl_48;
       __gmpz_init_set_si(__e_acsl_y_21,(long)y);
       __gmpz_init_set_si(__e_acsl_47,0L);
-      __e_acsl_ne_19 = __gmpz_cmp(__e_acsl_y_21,__e_acsl_47);
+      __e_acsl_ne_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_21),
+                                  (__mpz_struct const *)(__e_acsl_47));
       __gmpz_init_set_si(__e_acsl_48,(long)(__e_acsl_ne_19 != 0));
-      __gmpz_init_set(__e_acsl_and_5,__e_acsl_48);
+      __gmpz_init_set(__e_acsl_and_5,(__mpz_struct const *)(__e_acsl_48));
       __gmpz_clear(__e_acsl_y_21);
       __gmpz_clear(__e_acsl_47);
       __gmpz_clear(__e_acsl_48);
     }
     else { __gmpz_init_set_si(__e_acsl_and_5,0L); }
-    __e_acsl_ne_20 = __gmpz_cmp(__e_acsl_x_22,__e_acsl_46);
+    __e_acsl_ne_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_22),
+                                (__mpz_struct const *)(__e_acsl_46));
     __gmpz_init_set_si(__e_acsl_49,(long)(__e_acsl_ne_20 != 0));
-    __e_acsl_eq_27 = __gmpz_cmp(__e_acsl_and_5,__e_acsl_49);
+    __e_acsl_eq_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_and_5),
+                                (__mpz_struct const *)(__e_acsl_49));
     e_acsl_assert(__e_acsl_eq_27 == 0,(char *)"Assertion",
                   (char *)"(x!=0&&y!=0) == (x!=0)",30);
     __gmpz_clear(__e_acsl_x_22);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
index ac650e602104da67677d22716d973dfc0ce6d7fb..74938e7d3a2a00bc77022d986aa9b79c765e4182 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
@@ -128,7 +128,7 @@ int search(int elt)
     {
       mpz_t __e_acsl_5;
       __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __gmpz_set(__e_acsl_i,__e_acsl_5);
+      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_5));
       __gmpz_clear(__e_acsl_5);
     }
     
@@ -137,7 +137,8 @@ int search(int elt)
         mpz_t __e_acsl_6;
         int __e_acsl_lt;
         __gmpz_init_set_si(__e_acsl_6,(long)9);
-        __e_acsl_lt = __gmpz_cmp(__e_acsl_i,__e_acsl_6);
+        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i),
+                                 (__mpz_struct const *)(__e_acsl_6));
         if (__e_acsl_lt < 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_6);
       }
@@ -150,14 +151,16 @@ int search(int elt)
         unsigned long __e_acsl_3;
         mpz_t __e_acsl_4;
         int __e_acsl_le;
-        __e_acsl_i_2 = __gmpz_get_ui(__e_acsl_i);
+        __e_acsl_i_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i));
         __gmpz_init_set_si(__e_acsl,(long)A[__e_acsl_i_2]);
         __gmpz_init_set_si(__e_acsl_2,(long)1);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_i,__e_acsl_2);
-        __e_acsl_3 = __gmpz_get_ui(__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_2));
+        __e_acsl_3 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_add));
         __gmpz_init_set_si(__e_acsl_4,(long)A[__e_acsl_3]);
-        __e_acsl_le = __gmpz_cmp(__e_acsl,__e_acsl_4);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                 (__mpz_struct const *)(__e_acsl_4));
         __gmpz_clear(__e_acsl);
         __gmpz_clear(__e_acsl_2);
         __gmpz_clear(__e_acsl_add);
@@ -173,8 +176,9 @@ int search(int elt)
         mpz_t __e_acsl_add_2;
         __gmpz_init_set_si(__e_acsl_7,1L);
         __gmpz_init(__e_acsl_add_2);
-        __gmpz_add(__e_acsl_add_2,__e_acsl_i,__e_acsl_7);
-        __gmpz_set(__e_acsl_i,__e_acsl_add_2);
+        __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_7));
+        __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_add_2));
         __gmpz_clear(__e_acsl_7);
         __gmpz_clear(__e_acsl_add_2);
       }
@@ -193,7 +197,7 @@ int search(int elt)
       {
         mpz_t __e_acsl_14;
         __gmpz_init_set_si(__e_acsl_14,(long)0);
-        __gmpz_set(__e_acsl_j_3,__e_acsl_14);
+        __gmpz_set(__e_acsl_j_3,(__mpz_struct const *)(__e_acsl_14));
         __gmpz_clear(__e_acsl_14);
       }
       
@@ -202,7 +206,8 @@ int search(int elt)
           mpz_t __e_acsl_15;
           int __e_acsl_lt_3;
           __gmpz_init_set_si(__e_acsl_15,(long)10);
-          __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_j_3,__e_acsl_15);
+          __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_3),
+                                     (__mpz_struct const *)(__e_acsl_15));
           if (__e_acsl_lt_3 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_15);
@@ -213,10 +218,11 @@ int search(int elt)
           mpz_t __e_acsl_13;
           mpz_t __e_acsl_elt_2;
           int __e_acsl_ne;
-          __e_acsl_j_4 = __gmpz_get_ui(__e_acsl_j_3);
+          __e_acsl_j_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j_3));
           __gmpz_init_set_si(__e_acsl_13,(long)A[__e_acsl_j_4]);
           __gmpz_init_set_si(__e_acsl_elt_2,(long)elt);
-          __e_acsl_ne = __gmpz_cmp(__e_acsl_13,__e_acsl_elt_2);
+          __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13),
+                                   (__mpz_struct const *)(__e_acsl_elt_2));
           __gmpz_clear(__e_acsl_13);
           __gmpz_clear(__e_acsl_elt_2);
           if (__e_acsl_ne != 0) { ; }
@@ -230,8 +236,9 @@ int search(int elt)
           mpz_t __e_acsl_add_4;
           __gmpz_init_set_si(__e_acsl_16,1L);
           __gmpz_init(__e_acsl_add_4);
-          __gmpz_add(__e_acsl_add_4,__e_acsl_j_3,__e_acsl_16);
-          __gmpz_set(__e_acsl_j_3,__e_acsl_add_4);
+          __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_j_3),
+                     (__mpz_struct const *)(__e_acsl_16));
+          __gmpz_set(__e_acsl_j_3,(__mpz_struct const *)(__e_acsl_add_4));
           __gmpz_clear(__e_acsl_16);
           __gmpz_clear(__e_acsl_add_4);
         }
@@ -250,7 +257,7 @@ int search(int elt)
       {
         mpz_t __e_acsl_9;
         __gmpz_init_set_si(__e_acsl_9,(long)0);
-        __gmpz_set(__e_acsl_j,__e_acsl_9);
+        __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_9));
         __gmpz_clear(__e_acsl_9);
       }
       
@@ -259,7 +266,8 @@ int search(int elt)
           mpz_t __e_acsl_10;
           int __e_acsl_lt_2;
           __gmpz_init_set_si(__e_acsl_10,(long)10);
-          __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_j,__e_acsl_10);
+          __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j),
+                                     (__mpz_struct const *)(__e_acsl_10));
           if (__e_acsl_lt_2 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_10);
@@ -270,10 +278,11 @@ int search(int elt)
           mpz_t __e_acsl_8;
           mpz_t __e_acsl_elt;
           int __e_acsl_eq;
-          __e_acsl_j_2 = __gmpz_get_ui(__e_acsl_j);
+          __e_acsl_j_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j));
           __gmpz_init_set_si(__e_acsl_8,(long)A[__e_acsl_j_2]);
           __gmpz_init_set_si(__e_acsl_elt,(long)elt);
-          __e_acsl_eq = __gmpz_cmp(__e_acsl_8,__e_acsl_elt);
+          __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8),
+                                   (__mpz_struct const *)(__e_acsl_elt));
           __gmpz_clear(__e_acsl_8);
           __gmpz_clear(__e_acsl_elt);
           if (! (__e_acsl_eq == 0)) { ; }
@@ -287,8 +296,9 @@ int search(int elt)
           mpz_t __e_acsl_add_3;
           __gmpz_init_set_si(__e_acsl_11,1L);
           __gmpz_init(__e_acsl_add_3);
-          __gmpz_add(__e_acsl_add_3,__e_acsl_j,__e_acsl_11);
-          __gmpz_set(__e_acsl_j,__e_acsl_add_3);
+          __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_j),
+                     (__mpz_struct const *)(__e_acsl_11));
+          __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_add_3));
           __gmpz_clear(__e_acsl_11);
           __gmpz_clear(__e_acsl_add_3);
         }
@@ -327,7 +337,8 @@ int search(int elt)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_result,(long)__retres);
       __gmpz_init_set_si(__e_acsl_12,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_result,__e_acsl_12);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                                 (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_result);
       __gmpz_clear(__e_acsl_12);
@@ -342,7 +353,8 @@ int search(int elt)
       int __e_acsl_eq_3;
       __gmpz_init_set_si(__e_acsl_result_2,(long)__retres);
       __gmpz_init_set_si(__e_acsl_17,(long)0);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_result_2,__e_acsl_17);
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result_2),
+                                 (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_implies_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_result_2);
       __gmpz_clear(__e_acsl_17);
@@ -373,7 +385,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_found,(long)found);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_found,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_found),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"found == 1",
                   33);
     __gmpz_clear(__e_acsl_found);
@@ -388,7 +401,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_found_2,(long)found);
     __gmpz_init_set_si(__e_acsl_2,(long)0);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_found_2,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_found_2),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"found == 0",36);
     __gmpz_clear(__e_acsl_found_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
index 842587fb24d88bbbbaa4624bc16e0ae1e67cb981..134fda2f5c1564c7cc71613ba266ef6e78ac1dfa 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
@@ -87,7 +87,8 @@ int main(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_x,__e_acsl_y);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Assertion",(char *)"x < y",9);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl_y);
@@ -105,7 +106,8 @@ int main(void)
       int __e_acsl_eq;
       __gmpz_init_set_si(__e_acsl_x_2,(long)x);
       __gmpz_init_set_si(__e_acsl,(long)0);
-      __e_acsl_eq = __gmpz_cmp(__e_acsl_x_2,__e_acsl);
+      __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl));
       e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"x == 0",
                     10);
       __gmpz_clear(__e_acsl_x_2);
@@ -127,7 +129,8 @@ int main(void)
             int __e_acsl_eq_2;
             __gmpz_init_set_si(__e_acsl_x_3,(long)x);
             __gmpz_init_set_si(__e_acsl_2,(long)0);
-            __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_2);
+            __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                       (__mpz_struct const *)(__e_acsl_2));
             e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                           (char *)"x == 0",15);
             __gmpz_clear(__e_acsl_x_3);
@@ -137,7 +140,8 @@ int main(void)
           
           __gmpz_init_set_si(__e_acsl_x_4,(long)x);
           __gmpz_init_set_si(__e_acsl_3,(long)1);
-          __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_3);
+          __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                     (__mpz_struct const *)(__e_acsl_3));
           e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                         (char *)"x == 1",16);
           __gmpz_clear(__e_acsl_x_4);
@@ -157,7 +161,8 @@ int main(void)
               int __e_acsl_eq_4;
               __gmpz_init_set_si(__e_acsl_x_5,(long)x);
               __gmpz_init_set_si(__e_acsl_4,(long)1);
-              __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_4);
+              __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                         (__mpz_struct const *)(__e_acsl_4));
               e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",
                             (char *)"x == 1",19);
               __gmpz_clear(__e_acsl_x_5);
@@ -167,7 +172,8 @@ int main(void)
             
             __gmpz_init_set_si(__e_acsl_x_6,(long)x);
             __gmpz_init_set_si(__e_acsl_5,(long)2);
-            __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_5);
+            __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                       (__mpz_struct const *)(__e_acsl_5));
             e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                           (char *)"x == 2",20);
             __gmpz_clear(__e_acsl_x_6);
@@ -184,7 +190,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_x_7,__e_acsl_6);
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                             (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_ge >= 0,(char *)"Postcondition",(char *)"x >= 1",
                   11);
     __gmpz_clear(__e_acsl_x_7);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
index 09658c327d8a0252d294cc9c703735d3fd5240dc..7cc57dc3d7903b4db30dd91e6a3d15bed1176c98 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
@@ -85,7 +85,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,0L);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",8);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
@@ -99,7 +100,8 @@ int main(void)
       int __e_acsl_ne;
       __gmpz_init_set_si(__e_acsl_x_2,(long)x);
       __gmpz_init_set_si(__e_acsl_2,0L);
-      __e_acsl_ne = __gmpz_cmp(__e_acsl_x_2,__e_acsl_2);
+      __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_2));
       e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"x != 0",9);
       __gmpz_clear(__e_acsl_x_2);
       __gmpz_clear(__e_acsl_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
index 33a98374a01bb41e3340ece205f9f1acc940d10a..8a1f66a2269a7c0339d1527091c14e113ce0c78d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
@@ -85,7 +85,8 @@ int main(void)
     mpz_t __e_acsl;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)'c');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\'c\' == \'c\'",12);
     __gmpz_clear(__e_acsl);
@@ -98,7 +99,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_2,(long)false);
     __gmpz_init_set_si(__e_acsl_3,(long)true);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"false != true",13);
     __gmpz_clear(__e_acsl_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
index c755973a9575eafd6481ba30782fa6b056fe4a5e..9e7f3753489a133dc71a09c25949bceebb52288c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
@@ -142,7 +142,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*p);
     __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"*p == 1",13);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_2);
@@ -155,7 +156,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_3,(long)t[0]);
     __gmpz_init_set_si(__e_acsl_4,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"t[0] == 2",
                   14);
     __gmpz_clear(__e_acsl_3);
@@ -169,7 +171,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_5,(long)t[2]);
     __gmpz_init_set_si(__e_acsl_6,(long)4);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"t[2] == 4",
                   15);
     __gmpz_clear(__e_acsl_5);
@@ -192,19 +195,23 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_7,(long)2);
     __gmpz_init_set_si(__e_acsl_sizeof,4L);
     __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,__e_acsl_7,__e_acsl_sizeof);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_7),
+               (__mpz_struct const *)(__e_acsl_sizeof));
     __gmpz_init_set_si(__e_acsl_sizeof_2,4L);
     __gmpz_init_set_si(__e_acsl_8,0L);
-    __e_acsl_div_guard = __gmpz_cmp(__e_acsl_sizeof_2,__e_acsl_8);
+    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sizeof_2),
+                                    (__mpz_struct const *)(__e_acsl_8));
     __gmpz_init(__e_acsl_div);
     /*@ assert E_ACSL: sizeof((int)0x0) ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                   (char *)"sizeof((int)0x0) == 0",16);
-    __gmpz_tdiv_q(__e_acsl_div,__e_acsl_mul,__e_acsl_sizeof_2);
-    __e_acsl_9 = __gmpz_get_ui(__e_acsl_div);
+    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_mul),
+                  (__mpz_struct const *)(__e_acsl_sizeof_2));
+    __e_acsl_9 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_div));
     __gmpz_init_set_si(__e_acsl_10,(long)t[__e_acsl_9]);
     __gmpz_init_set_si(__e_acsl_11,(long)4);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_10,__e_acsl_11);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                               (__mpz_struct const *)(__e_acsl_11));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"t[(2*sizeof(int))/sizeof((int)0x0)] == 4",16);
     __gmpz_clear(__e_acsl_7);
@@ -232,8 +239,10 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_i,(long)i);
         __gmpz_init_set_si(__e_acsl_13,(long)2);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_i,__e_acsl_13);
-        __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_12,__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_13));
+        __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12),
+                                   (__mpz_struct const *)(__e_acsl_add));
         e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Assertion",
                       (char *)"t[i] == i+2",19);
         __gmpz_clear(__e_acsl_12);
@@ -255,13 +264,16 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_14,(long)2);
         __gmpz_init_set_si(__e_acsl_i_2,(long)i);
         __gmpz_init(__e_acsl_sub);
-        __gmpz_sub(__e_acsl_sub,__e_acsl_14,__e_acsl_i_2);
-        __e_acsl_15 = __gmpz_get_ui(__e_acsl_sub);
+        __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl_14),
+                   (__mpz_struct const *)(__e_acsl_i_2));
+        __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_sub));
         __gmpz_init_set_si(__e_acsl_16,(long)t[__e_acsl_15]);
         __gmpz_init_set_si(__e_acsl_17,(long)4);
         __gmpz_init(__e_acsl_sub_2);
-        __gmpz_sub(__e_acsl_sub_2,__e_acsl_17,__e_acsl_i_2);
-        __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_16,__e_acsl_sub_2);
+        __gmpz_sub(__e_acsl_sub_2,(__mpz_struct const *)(__e_acsl_17),
+                   (__mpz_struct const *)(__e_acsl_i_2));
+        __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                                   (__mpz_struct const *)(__e_acsl_sub_2));
         e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Assertion",
                       (char *)"t[2-i] == 4-i",20);
         __gmpz_clear(__e_acsl_14);
@@ -283,8 +295,10 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_19,(long)4);
         __gmpz_init_set_si(__e_acsl_i_3,(long)i);
         __gmpz_init(__e_acsl_sub_3);
-        __gmpz_sub(__e_acsl_sub_3,__e_acsl_19,__e_acsl_i_3);
-        __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_18,__e_acsl_sub_3);
+        __gmpz_sub(__e_acsl_sub_3,(__mpz_struct const *)(__e_acsl_19),
+                   (__mpz_struct const *)(__e_acsl_i_3));
+        __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18),
+                                   (__mpz_struct const *)(__e_acsl_sub_3));
         e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",
                       (char *)"*(&t[2]-i) == 4-i",21);
         __gmpz_clear(__e_acsl_18);
@@ -306,7 +320,8 @@ int main(void)
     int __e_acsl_eq_8;
     __gmpz_init_set_si(__e_acsl_20,(long)*p);
     __gmpz_init_set_si(__e_acsl_21,(long)5);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_20,__e_acsl_21);
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20),
+                               (__mpz_struct const *)(__e_acsl_21));
     e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"*p == 5",
                   27);
     __gmpz_clear(__e_acsl_20);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
index c57650a349fa0e3f014938fe595e04586668ebe8..75dd28c2944b733a49e16bc51f587e0a06c697dc 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
@@ -141,7 +141,7 @@ int main(void)
     {
       mpz_t __e_acsl_3;
       __gmpz_init_set_si(__e_acsl_3,(long)0);
-      __gmpz_set(__e_acsl_x,__e_acsl_3);
+      __gmpz_set(__e_acsl_x,(__mpz_struct const *)(__e_acsl_3));
       __gmpz_clear(__e_acsl_3);
     }
     
@@ -150,7 +150,8 @@ int main(void)
         mpz_t __e_acsl_4;
         int __e_acsl_le;
         __gmpz_init_set_si(__e_acsl_4,(long)1);
-        __e_acsl_le = __gmpz_cmp(__e_acsl_x,__e_acsl_4);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                 (__mpz_struct const *)(__e_acsl_4));
         if (__e_acsl_le <= 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_4);
       }
@@ -160,13 +161,15 @@ int main(void)
         int __e_acsl_eq;
         int __e_acsl_or;
         __gmpz_init_set_si(__e_acsl,(long)0);
-        __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+        __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                 (__mpz_struct const *)(__e_acsl));
         if (__e_acsl_eq == 0) { __e_acsl_or = 1; }
         else {
           mpz_t __e_acsl_2;
           int __e_acsl_eq_2;
           __gmpz_init_set_si(__e_acsl_2,(long)1);
-          __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x,__e_acsl_2);
+          __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                     (__mpz_struct const *)(__e_acsl_2));
           __e_acsl_or = __e_acsl_eq_2 == 0;
           __gmpz_clear(__e_acsl_2);
         }
@@ -182,8 +185,9 @@ int main(void)
         mpz_t __e_acsl_add;
         __gmpz_init_set_si(__e_acsl_5,1L);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_x,__e_acsl_5);
-        __gmpz_set(__e_acsl_x,__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x),
+                   (__mpz_struct const *)(__e_acsl_5));
+        __gmpz_set(__e_acsl_x,(__mpz_struct const *)(__e_acsl_add));
         __gmpz_clear(__e_acsl_5);
         __gmpz_clear(__e_acsl_add);
       }
@@ -209,8 +213,9 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_7,(long)0);
       __gmpz_init_set_si(__e_acsl_8,1L);
       __gmpz_init(__e_acsl_add_2);
-      __gmpz_add(__e_acsl_add_2,__e_acsl_7,__e_acsl_8);
-      __gmpz_set(__e_acsl_x_2,__e_acsl_add_2);
+      __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_7),
+                 (__mpz_struct const *)(__e_acsl_8));
+      __gmpz_set(__e_acsl_x_2,(__mpz_struct const *)(__e_acsl_add_2));
       __gmpz_clear(__e_acsl_7);
       __gmpz_clear(__e_acsl_8);
       __gmpz_clear(__e_acsl_add_2);
@@ -221,7 +226,8 @@ int main(void)
         mpz_t __e_acsl_9;
         int __e_acsl_le_2;
         __gmpz_init_set_si(__e_acsl_9,(long)1);
-        __e_acsl_le_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_9);
+        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                                   (__mpz_struct const *)(__e_acsl_9));
         if (__e_acsl_le_2 <= 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_9);
@@ -231,7 +237,8 @@ int main(void)
         mpz_t __e_acsl_6;
         int __e_acsl_eq_3;
         __gmpz_init_set_si(__e_acsl_6,(long)1);
-        __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_6);
+        __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                                   (__mpz_struct const *)(__e_acsl_6));
         __gmpz_clear(__e_acsl_6);
         if (__e_acsl_eq_3 == 0) { ; }
         else {
@@ -244,8 +251,9 @@ int main(void)
         mpz_t __e_acsl_add_3;
         __gmpz_init_set_si(__e_acsl_10,1L);
         __gmpz_init(__e_acsl_add_3);
-        __gmpz_add(__e_acsl_add_3,__e_acsl_x_2,__e_acsl_10);
-        __gmpz_set(__e_acsl_x_2,__e_acsl_add_3);
+        __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_x_2),
+                   (__mpz_struct const *)(__e_acsl_10));
+        __gmpz_set(__e_acsl_x_2,(__mpz_struct const *)(__e_acsl_add_3));
         __gmpz_clear(__e_acsl_10);
         __gmpz_clear(__e_acsl_add_3);
       }
@@ -271,8 +279,9 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_11,(long)0);
       __gmpz_init_set_si(__e_acsl_12,1L);
       __gmpz_init(__e_acsl_add_4);
-      __gmpz_add(__e_acsl_add_4,__e_acsl_11,__e_acsl_12);
-      __gmpz_set(__e_acsl_x_3,__e_acsl_add_4);
+      __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_11),
+                 (__mpz_struct const *)(__e_acsl_12));
+      __gmpz_set(__e_acsl_x_3,(__mpz_struct const *)(__e_acsl_add_4));
       __gmpz_clear(__e_acsl_11);
       __gmpz_clear(__e_acsl_12);
       __gmpz_clear(__e_acsl_add_4);
@@ -283,7 +292,8 @@ int main(void)
         mpz_t __e_acsl_13;
         int __e_acsl_lt;
         __gmpz_init_set_si(__e_acsl_13,(long)1);
-        __e_acsl_lt = __gmpz_cmp(__e_acsl_x_3,__e_acsl_13);
+        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                 (__mpz_struct const *)(__e_acsl_13));
         if (__e_acsl_lt < 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_13);
       }
@@ -297,8 +307,9 @@ int main(void)
         mpz_t __e_acsl_add_5;
         __gmpz_init_set_si(__e_acsl_14,1L);
         __gmpz_init(__e_acsl_add_5);
-        __gmpz_add(__e_acsl_add_5,__e_acsl_x_3,__e_acsl_14);
-        __gmpz_set(__e_acsl_x_3,__e_acsl_add_5);
+        __gmpz_add(__e_acsl_add_5,(__mpz_struct const *)(__e_acsl_x_3),
+                   (__mpz_struct const *)(__e_acsl_14));
+        __gmpz_set(__e_acsl_x_3,(__mpz_struct const *)(__e_acsl_add_5));
         __gmpz_clear(__e_acsl_14);
         __gmpz_clear(__e_acsl_add_5);
       }
@@ -320,7 +331,7 @@ int main(void)
     {
       mpz_t __e_acsl_16;
       __gmpz_init_set_si(__e_acsl_16,(long)0);
-      __gmpz_set(__e_acsl_x_4,__e_acsl_16);
+      __gmpz_set(__e_acsl_x_4,(__mpz_struct const *)(__e_acsl_16));
       __gmpz_clear(__e_acsl_16);
     }
     
@@ -329,7 +340,8 @@ int main(void)
         mpz_t __e_acsl_17;
         int __e_acsl_lt_2;
         __gmpz_init_set_si(__e_acsl_17,(long)1);
-        __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_17);
+        __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                   (__mpz_struct const *)(__e_acsl_17));
         if (__e_acsl_lt_2 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_17);
@@ -339,7 +351,8 @@ int main(void)
         mpz_t __e_acsl_15;
         int __e_acsl_eq_4;
         __gmpz_init_set_si(__e_acsl_15,(long)0);
-        __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_15);
+        __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                   (__mpz_struct const *)(__e_acsl_15));
         __gmpz_clear(__e_acsl_15);
         if (__e_acsl_eq_4 == 0) { ; }
         else {
@@ -352,8 +365,9 @@ int main(void)
         mpz_t __e_acsl_add_6;
         __gmpz_init_set_si(__e_acsl_18,1L);
         __gmpz_init(__e_acsl_add_6);
-        __gmpz_add(__e_acsl_add_6,__e_acsl_x_4,__e_acsl_18);
-        __gmpz_set(__e_acsl_x_4,__e_acsl_add_6);
+        __gmpz_add(__e_acsl_add_6,(__mpz_struct const *)(__e_acsl_x_4),
+                   (__mpz_struct const *)(__e_acsl_18));
+        __gmpz_set(__e_acsl_x_4,(__mpz_struct const *)(__e_acsl_add_6));
         __gmpz_clear(__e_acsl_18);
         __gmpz_clear(__e_acsl_add_6);
       }
@@ -382,7 +396,7 @@ int main(void)
     {
       mpz_t __e_acsl_25;
       __gmpz_init_set_si(__e_acsl_25,(long)0);
-      __gmpz_set(__e_acsl_x_5,__e_acsl_25);
+      __gmpz_set(__e_acsl_x_5,(__mpz_struct const *)(__e_acsl_25));
       __gmpz_clear(__e_acsl_25);
     }
     
@@ -391,7 +405,8 @@ int main(void)
         mpz_t __e_acsl_26;
         int __e_acsl_lt_4;
         __gmpz_init_set_si(__e_acsl_26,(long)2);
-        __e_acsl_lt_4 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_26);
+        __e_acsl_lt_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                   (__mpz_struct const *)(__e_acsl_26));
         if (__e_acsl_lt_4 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_26);
@@ -400,7 +415,7 @@ int main(void)
       {
         mpz_t __e_acsl_22;
         __gmpz_init_set_si(__e_acsl_22,(long)0);
-        __gmpz_set(__e_acsl_y,__e_acsl_22);
+        __gmpz_set(__e_acsl_y,(__mpz_struct const *)(__e_acsl_22));
         __gmpz_clear(__e_acsl_22);
       }
       
@@ -409,7 +424,8 @@ int main(void)
           mpz_t __e_acsl_23;
           int __e_acsl_lt_3;
           __gmpz_init_set_si(__e_acsl_23,(long)5);
-          __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_y,__e_acsl_23);
+          __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                                     (__mpz_struct const *)(__e_acsl_23));
           if (__e_acsl_lt_3 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_23);
@@ -418,14 +434,15 @@ int main(void)
         {
           mpz_t __e_acsl_20;
           __gmpz_init_set_si(__e_acsl_20,(long)0);
-          __gmpz_set(__e_acsl_z,__e_acsl_20);
+          __gmpz_set(__e_acsl_z,(__mpz_struct const *)(__e_acsl_20));
           __gmpz_clear(__e_acsl_20);
         }
         
         while (1) {
           {
             int __e_acsl_le_4;
-            __e_acsl_le_4 = __gmpz_cmp(__e_acsl_z,__e_acsl_y);
+            __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_z),
+                                       (__mpz_struct const *)(__e_acsl_y));
             if (__e_acsl_le_4 <= 0) { ; } else { break; }
           }
           
@@ -435,11 +452,14 @@ int main(void)
             mpz_t __e_acsl_add_8;
             int __e_acsl_le_3;
             __gmpz_init(__e_acsl_add_7);
-            __gmpz_add(__e_acsl_add_7,__e_acsl_x_5,__e_acsl_z);
+            __gmpz_add(__e_acsl_add_7,(__mpz_struct const *)(__e_acsl_x_5),
+                       (__mpz_struct const *)(__e_acsl_z));
             __gmpz_init_set_si(__e_acsl_19,(long)1);
             __gmpz_init(__e_acsl_add_8);
-            __gmpz_add(__e_acsl_add_8,__e_acsl_y,__e_acsl_19);
-            __e_acsl_le_3 = __gmpz_cmp(__e_acsl_add_7,__e_acsl_add_8);
+            __gmpz_add(__e_acsl_add_8,(__mpz_struct const *)(__e_acsl_y),
+                       (__mpz_struct const *)(__e_acsl_19));
+            __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_7),
+                                       (__mpz_struct const *)(__e_acsl_add_8));
             __gmpz_clear(__e_acsl_add_7);
             __gmpz_clear(__e_acsl_19);
             __gmpz_clear(__e_acsl_add_8);
@@ -454,8 +474,9 @@ int main(void)
             mpz_t __e_acsl_add_9;
             __gmpz_init_set_si(__e_acsl_21,1L);
             __gmpz_init(__e_acsl_add_9);
-            __gmpz_add(__e_acsl_add_9,__e_acsl_z,__e_acsl_21);
-            __gmpz_set(__e_acsl_z,__e_acsl_add_9);
+            __gmpz_add(__e_acsl_add_9,(__mpz_struct const *)(__e_acsl_z),
+                       (__mpz_struct const *)(__e_acsl_21));
+            __gmpz_set(__e_acsl_z,(__mpz_struct const *)(__e_acsl_add_9));
             __gmpz_clear(__e_acsl_21);
             __gmpz_clear(__e_acsl_add_9);
           }
@@ -466,8 +487,9 @@ int main(void)
           mpz_t __e_acsl_add_10;
           __gmpz_init_set_si(__e_acsl_24,1L);
           __gmpz_init(__e_acsl_add_10);
-          __gmpz_add(__e_acsl_add_10,__e_acsl_y,__e_acsl_24);
-          __gmpz_set(__e_acsl_y,__e_acsl_add_10);
+          __gmpz_add(__e_acsl_add_10,(__mpz_struct const *)(__e_acsl_y),
+                     (__mpz_struct const *)(__e_acsl_24));
+          __gmpz_set(__e_acsl_y,(__mpz_struct const *)(__e_acsl_add_10));
           __gmpz_clear(__e_acsl_24);
           __gmpz_clear(__e_acsl_add_10);
         }
@@ -478,8 +500,9 @@ int main(void)
         mpz_t __e_acsl_add_11;
         __gmpz_init_set_si(__e_acsl_27,1L);
         __gmpz_init(__e_acsl_add_11);
-        __gmpz_add(__e_acsl_add_11,__e_acsl_x_5,__e_acsl_27);
-        __gmpz_set(__e_acsl_x_5,__e_acsl_add_11);
+        __gmpz_add(__e_acsl_add_11,(__mpz_struct const *)(__e_acsl_x_5),
+                   (__mpz_struct const *)(__e_acsl_27));
+        __gmpz_set(__e_acsl_x_5,(__mpz_struct const *)(__e_acsl_add_11));
         __gmpz_clear(__e_acsl_27);
         __gmpz_clear(__e_acsl_add_11);
       }
@@ -503,7 +526,7 @@ int main(void)
     {
       mpz_t __e_acsl_29;
       __gmpz_init_set_si(__e_acsl_29,(long)0);
-      __gmpz_set(__e_acsl_x_6,__e_acsl_29);
+      __gmpz_set(__e_acsl_x_6,(__mpz_struct const *)(__e_acsl_29));
       __gmpz_clear(__e_acsl_29);
     }
     
@@ -512,7 +535,8 @@ int main(void)
         mpz_t __e_acsl_30;
         int __e_acsl_lt_5;
         __gmpz_init_set_si(__e_acsl_30,(long)10);
-        __e_acsl_lt_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_30);
+        __e_acsl_lt_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                   (__mpz_struct const *)(__e_acsl_30));
         if (__e_acsl_lt_5 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_30);
@@ -522,7 +546,8 @@ int main(void)
         mpz_t __e_acsl_28;
         int __e_acsl_eq_5;
         __gmpz_init_set_si(__e_acsl_28,(long)5);
-        __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_28);
+        __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                   (__mpz_struct const *)(__e_acsl_28));
         __gmpz_clear(__e_acsl_28);
         if (! (__e_acsl_eq_5 == 0)) { ; }
         else {
@@ -535,8 +560,9 @@ int main(void)
         mpz_t __e_acsl_add_12;
         __gmpz_init_set_si(__e_acsl_31,1L);
         __gmpz_init(__e_acsl_add_12);
-        __gmpz_add(__e_acsl_add_12,__e_acsl_x_6,__e_acsl_31);
-        __gmpz_set(__e_acsl_x_6,__e_acsl_add_12);
+        __gmpz_add(__e_acsl_add_12,(__mpz_struct const *)(__e_acsl_x_6),
+                   (__mpz_struct const *)(__e_acsl_31));
+        __gmpz_set(__e_acsl_x_6,(__mpz_struct const *)(__e_acsl_add_12));
         __gmpz_clear(__e_acsl_31);
         __gmpz_clear(__e_acsl_add_12);
       }
@@ -560,7 +586,7 @@ int main(void)
     {
       mpz_t __e_acsl_39;
       __gmpz_init_set_si(__e_acsl_39,(long)0);
-      __gmpz_set(__e_acsl_x_7,__e_acsl_39);
+      __gmpz_set(__e_acsl_x_7,(__mpz_struct const *)(__e_acsl_39));
       __gmpz_clear(__e_acsl_39);
     }
     
@@ -569,7 +595,8 @@ int main(void)
         mpz_t __e_acsl_40;
         int __e_acsl_lt_6;
         __gmpz_init_set_si(__e_acsl_40,(long)10);
-        __e_acsl_lt_6 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_40);
+        __e_acsl_lt_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                   (__mpz_struct const *)(__e_acsl_40));
         if (__e_acsl_lt_6 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_40);
@@ -584,13 +611,16 @@ int main(void)
         int __e_acsl_implies;
         __gmpz_init_set_si(__e_acsl_32,(long)2);
         __gmpz_init_set_si(__e_acsl_33,0L);
-        __e_acsl_mod_guard = __gmpz_cmp(__e_acsl_32,__e_acsl_33);
+        __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_32),
+                                        (__mpz_struct const *)(__e_acsl_33));
         __gmpz_init(__e_acsl_mod);
         /*@ assert E_ACSL: 2 ≢ 0; */
         e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
                       (char *)"2 == 0",28);
-        __gmpz_tdiv_r(__e_acsl_mod,__e_acsl_x_7,__e_acsl_32);
-        __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_mod,__e_acsl_33);
+        __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_x_7),
+                      (__mpz_struct const *)(__e_acsl_32));
+        __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
+                                   (__mpz_struct const *)(__e_acsl_33));
         if (! (__e_acsl_eq_6 == 0)) { __e_acsl_implies = 1; }
         else {
           int __e_acsl_exists_2;
@@ -600,7 +630,7 @@ int main(void)
           {
             mpz_t __e_acsl_35;
             __gmpz_init_set_si(__e_acsl_35,(long)0);
-            __gmpz_set(__e_acsl_y_2,__e_acsl_35);
+            __gmpz_set(__e_acsl_y_2,(__mpz_struct const *)(__e_acsl_35));
             __gmpz_clear(__e_acsl_35);
           }
           
@@ -613,13 +643,17 @@ int main(void)
               int __e_acsl_le_5;
               __gmpz_init_set_si(__e_acsl_36,(long)2);
               __gmpz_init_set_si(__e_acsl_37,0L);
-              __e_acsl_div_guard = __gmpz_cmp(__e_acsl_36,__e_acsl_37);
+              __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                                              (__mpz_struct const *)(__e_acsl_37));
               __gmpz_init(__e_acsl_div);
               /*@ assert E_ACSL: 2 ≢ 0; */
               e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                             (char *)"2 == 0",28);
-              __gmpz_tdiv_q(__e_acsl_div,__e_acsl_x_7,__e_acsl_36);
-              __e_acsl_le_5 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_div);
+              __gmpz_tdiv_q(__e_acsl_div,
+                            (__mpz_struct const *)(__e_acsl_x_7),
+                            (__mpz_struct const *)(__e_acsl_36));
+              __e_acsl_le_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                                         (__mpz_struct const *)(__e_acsl_div));
               if (__e_acsl_le_5 <= 0) { ; }
               else { break; }
               __gmpz_clear(__e_acsl_36);
@@ -633,8 +667,10 @@ int main(void)
               int __e_acsl_eq_7;
               __gmpz_init_set_si(__e_acsl_34,(long)2);
               __gmpz_init(__e_acsl_mul);
-              __gmpz_mul(__e_acsl_mul,__e_acsl_34,__e_acsl_y_2);
-              __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_mul);
+              __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_34),
+                         (__mpz_struct const *)(__e_acsl_y_2));
+              __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                         (__mpz_struct const *)(__e_acsl_mul));
               __gmpz_clear(__e_acsl_34);
               __gmpz_clear(__e_acsl_mul);
               if (! (__e_acsl_eq_7 == 0)) { ; }
@@ -648,8 +684,11 @@ int main(void)
               mpz_t __e_acsl_add_13;
               __gmpz_init_set_si(__e_acsl_38,1L);
               __gmpz_init(__e_acsl_add_13);
-              __gmpz_add(__e_acsl_add_13,__e_acsl_y_2,__e_acsl_38);
-              __gmpz_set(__e_acsl_y_2,__e_acsl_add_13);
+              __gmpz_add(__e_acsl_add_13,
+                         (__mpz_struct const *)(__e_acsl_y_2),
+                         (__mpz_struct const *)(__e_acsl_38));
+              __gmpz_set(__e_acsl_y_2,
+                         (__mpz_struct const *)(__e_acsl_add_13));
               __gmpz_clear(__e_acsl_38);
               __gmpz_clear(__e_acsl_add_13);
             }
@@ -673,8 +712,9 @@ int main(void)
         mpz_t __e_acsl_add_14;
         __gmpz_init_set_si(__e_acsl_41,1L);
         __gmpz_init(__e_acsl_add_14);
-        __gmpz_add(__e_acsl_add_14,__e_acsl_x_7,__e_acsl_41);
-        __gmpz_set(__e_acsl_x_7,__e_acsl_add_14);
+        __gmpz_add(__e_acsl_add_14,(__mpz_struct const *)(__e_acsl_x_7),
+                   (__mpz_struct const *)(__e_acsl_41));
+        __gmpz_set(__e_acsl_x_7,(__mpz_struct const *)(__e_acsl_add_14));
         __gmpz_clear(__e_acsl_41);
         __gmpz_clear(__e_acsl_add_14);
       }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
index 725886d384b90935a3a17521d516f3c45708f9f2..e0559483cf1ba92e8ee96bd533b7d81c3cdc4f65 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
@@ -112,10 +112,12 @@ int f(int x)
     __gmpz_init_set_si(__e_acsl_result,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at);
     __gmpz_init(__e_acsl_sub);
-    __gmpz_sub(__e_acsl_sub,__e_acsl,__e_acsl);
-    __e_acsl_2 = __gmpz_get_ui(__e_acsl_sub);
+    __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl),
+               (__mpz_struct const *)(__e_acsl));
+    __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_sub));
     __gmpz_init_set_si(__e_acsl_cast,(long)((int)__e_acsl_2));
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl_cast);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl_cast));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == (int)(\\old(x)-\\old(x))",7);
     __gmpz_clear(__e_acsl_result);
@@ -137,7 +139,8 @@ int g(int x)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_result,(long)x);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl_Y);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl_Y));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == Y",18);
     __gmpz_clear(__e_acsl_result);
@@ -158,7 +161,8 @@ int h(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_result,(long)__retres);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == 0",23);
     __gmpz_clear(__e_acsl_result);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
index 303c5d0a76a5d51e248e1dc0154a8f66b3f6fbdb..ee470d936bb3d6a68dce28b56ec648893edd9a43 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
@@ -86,7 +86,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_sizeof,4L);
     __gmpz_init_set_si(__e_acsl_sizeof_2,4L);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_sizeof,__e_acsl_sizeof_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sizeof),
+                             (__mpz_struct const *)(__e_acsl_sizeof_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"sizeof(int) == sizeof(x)",10);
     __gmpz_clear(__e_acsl_sizeof);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
index 6cdb830579394187e3fc044e413599a3aa4b9961..cd84872b88a2738df814caa83b55af4a946b61b3 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
@@ -106,7 +106,8 @@ int main(void)
     x = 1;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"x == 1",
                   9);
     __gmpz_clear(__e_acsl_x);
@@ -124,11 +125,13 @@ int main(void)
     x = 2;
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"x == 2",12);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y,__e_acsl_2);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                   (char *)"y == 2",13);
     __gmpz_clear(__e_acsl_x_2);
@@ -143,7 +146,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_3);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",(char *)"x == 2",
                   16);
     __gmpz_clear(__e_acsl_x_3);
@@ -162,12 +166,14 @@ int main(void)
     int __e_acsl_eq_6;
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_4);
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Precondition",(char *)"x == 3",
                   19);
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_5,(long)2);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_5);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Precondition",(char *)"y == 2",
                   20);
     __gmpz_clear(__e_acsl_x_4);
@@ -207,18 +213,22 @@ int main(void)
       int __e_acsl_eq_9;
       __gmpz_init_set_si(__e_acsl_x_5,(long)x);
       __gmpz_init_set_si(__e_acsl_6,(long)5);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_6);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                 (__mpz_struct const *)(__e_acsl_6));
       e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Precondition",
                     (char *)"x == 5",24);
       __gmpz_init_set_si(__e_acsl_7,(long)3);
       __gmpz_init_set_si(__e_acsl_y_3,(long)y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_7,__e_acsl_y_3);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_add);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_7),
+                 (__mpz_struct const *)(__e_acsl_y_3));
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                 (__mpz_struct const *)(__e_acsl_add));
       e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Precondition",
                     (char *)"x == 3+y",27);
       __gmpz_init_set_si(__e_acsl_8,(long)2);
-      __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_y_3,__e_acsl_8);
+      __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                                 (__mpz_struct const *)(__e_acsl_8));
       e_acsl_assert(__e_acsl_eq_9 == 0,(char *)"Precondition",
                     (char *)"y == 2",28);
       __gmpz_clear(__e_acsl_x_5);
@@ -232,14 +242,17 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_9,(long)3);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_9);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_9));
     e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Postcondition",
                   (char *)"x == 3",25);
     __gmpz_init_set_si(__e_acsl_y_4,(long)y);
     __gmpz_init_set_si(__e_acsl_10,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_y_4,__e_acsl_10);
-    __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_y_4),
+               (__mpz_struct const *)(__e_acsl_10));
+    __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_add_2));
     e_acsl_assert(__e_acsl_eq_11 == 0,(char *)"Postcondition",
                   (char *)"x == y+1",29);
     __gmpz_clear(__e_acsl_x_6);
@@ -274,7 +287,8 @@ int main(void)
     int __e_acsl_implies_3;
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_11,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_11);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_11));
     if (! (__e_acsl_eq_12 == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_x_8;
@@ -282,7 +296,8 @@ int main(void)
       int __e_acsl_eq_13;
       __gmpz_init_set_si(__e_acsl_x_8,(long)x);
       __gmpz_init_set_si(__e_acsl_12,(long)0);
-      __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_x_8,__e_acsl_12);
+      __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_8),
+                                  (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_13 == 0;
       __gmpz_clear(__e_acsl_x_8);
       __gmpz_clear(__e_acsl_12);
@@ -290,14 +305,16 @@ int main(void)
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",
                   (char *)"x == 1 ==>\nx == 0",34);
     __gmpz_init_set_si(__e_acsl_13,(long)3);
-    __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_13);
+    __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (__e_acsl_eq_14 == 0) {
       mpz_t __e_acsl_y_5;
       mpz_t __e_acsl_14;
       int __e_acsl_eq_15;
       __gmpz_init_set_si(__e_acsl_y_5,(long)y);
       __gmpz_init_set_si(__e_acsl_14,(long)2);
-      __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_y_5,__e_acsl_14);
+      __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_5),
+                                  (__mpz_struct const *)(__e_acsl_14));
       __e_acsl_and = __e_acsl_eq_15 == 0;
       __gmpz_clear(__e_acsl_y_5);
       __gmpz_clear(__e_acsl_14);
@@ -310,21 +327,24 @@ int main(void)
       int __e_acsl_eq_16;
       __gmpz_init_set_si(__e_acsl_x_9,(long)x);
       __gmpz_init_set_si(__e_acsl_15,(long)3);
-      __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_x_9,__e_acsl_15);
+      __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_9),
+                                  (__mpz_struct const *)(__e_acsl_15));
       __e_acsl_implies_2 = __e_acsl_eq_16 == 0;
       __gmpz_clear(__e_acsl_x_9);
       __gmpz_clear(__e_acsl_15);
     }
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",
                   (char *)"x == 3 && y == 2 ==>\nx == 3",38);
-    __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_13);
+    __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (__e_acsl_eq_17 == 0) {
       mpz_t __e_acsl_y_6;
       mpz_t __e_acsl_16;
       int __e_acsl_eq_18;
       __gmpz_init_set_si(__e_acsl_y_6,(long)y);
       __gmpz_init_set_si(__e_acsl_16,(long)2);
-      __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_y_6,__e_acsl_16);
+      __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_6),
+                                  (__mpz_struct const *)(__e_acsl_16));
       __e_acsl_and_2 = __e_acsl_eq_18 == 0;
       __gmpz_clear(__e_acsl_y_6);
       __gmpz_clear(__e_acsl_16);
@@ -340,9 +360,11 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_x_10,(long)x);
       __gmpz_init_set_si(__e_acsl_y_7,(long)y);
       __gmpz_init(__e_acsl_add_3);
-      __gmpz_add(__e_acsl_add_3,__e_acsl_x_10,__e_acsl_y_7);
+      __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_x_10),
+                 (__mpz_struct const *)(__e_acsl_y_7));
       __gmpz_init_set_si(__e_acsl_17,(long)5);
-      __e_acsl_eq_19 = __gmpz_cmp(__e_acsl_add_3,__e_acsl_17);
+      __e_acsl_eq_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_3),
+                                  (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_implies_3 = __e_acsl_eq_19 == 0;
       __gmpz_clear(__e_acsl_x_10);
       __gmpz_clear(__e_acsl_y_7);
@@ -364,7 +386,8 @@ int main(void)
     int __e_acsl_eq_20;
     __gmpz_init_set_si(__e_acsl_x_11,(long)x);
     __gmpz_init_set_si(__e_acsl_18,(long)5);
-    __e_acsl_eq_20 = __gmpz_cmp(__e_acsl_x_11,__e_acsl_18);
+    __e_acsl_eq_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_11),
+                                (__mpz_struct const *)(__e_acsl_18));
     e_acsl_assert(__e_acsl_eq_20 == 0,(char *)"Precondition",
                   (char *)"x == 5",42);
     __gmpz_clear(__e_acsl_x_11);
@@ -376,7 +399,8 @@ int main(void)
       int __e_acsl_eq_21;
       __gmpz_init_set_si(__e_acsl_y_8,(long)y);
       __gmpz_init_set_si(__e_acsl_19,(long)2);
-      __e_acsl_eq_21 = __gmpz_cmp(__e_acsl_y_8,__e_acsl_19);
+      __e_acsl_eq_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_8),
+                                  (__mpz_struct const *)(__e_acsl_19));
       e_acsl_assert(__e_acsl_eq_21 == 0,(char *)"Precondition",
                     (char *)"y == 2",43);
       __gmpz_clear(__e_acsl_y_8);
@@ -397,7 +421,8 @@ int main(void)
       int __e_acsl_eq_22;
       __gmpz_init_set_si(__e_acsl_x_12,(long)x);
       __gmpz_init_set_si(__e_acsl_20,(long)7);
-      __e_acsl_eq_22 = __gmpz_cmp(__e_acsl_x_12,__e_acsl_20);
+      __e_acsl_eq_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_12),
+                                  (__mpz_struct const *)(__e_acsl_20));
       e_acsl_assert(__e_acsl_eq_22 == 0,(char *)"Precondition",
                     (char *)"x == 7",46);
       __gmpz_clear(__e_acsl_x_12);
@@ -407,7 +432,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_13,(long)x);
     __gmpz_init_set_si(__e_acsl_21,(long)7);
-    __e_acsl_eq_23 = __gmpz_cmp(__e_acsl_x_13,__e_acsl_21);
+    __e_acsl_eq_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_13),
+                                (__mpz_struct const *)(__e_acsl_21));
     e_acsl_assert(__e_acsl_eq_23 == 0,(char *)"Postcondition",
                   (char *)"x == 7",47);
     __gmpz_clear(__e_acsl_x_13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
index 65da6653e8cb6d49358136f6d2cae725613aafda..eb01f870fd291a9adbccdbb14aff8c90bc23563d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
@@ -98,7 +98,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_ui(__e_acsl_x,(unsigned long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",11);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias.c
index f8b992a7ed280b0aeaadd98156b055d8eaae6eb6..3176ce21633bc66e94a95e57b4bfbfc58f7289a4 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias.c
@@ -98,6 +98,9 @@ extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
 /*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) int _valid(void *ptr, size_t size);
@@ -152,7 +155,7 @@ int main(void)
   
   _full_init((void *)(& a));
   a = (int *)_malloc(sizeof(int));
-  _full_init((void *)a);
+  _initialize((void *)a,sizeof(int));
   *a = n;
   _full_init((void *)(& b));
   b = a;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c
index 8f55f49085b874cbcaccdf39dfc3cd724907c6df..7f94c1e00392d7daff2ec13c3595388ee927e565 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c
@@ -118,6 +118,9 @@ extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
 /*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) int _valid(void *ptr, size_t size);
@@ -172,7 +175,7 @@ int main(void)
   
   _full_init((void *)(& a));
   a = (int *)_malloc(sizeof(int));
-  _full_init((void *)a);
+  _initialize((void *)a,sizeof(int));
   *a = n;
   _full_init((void *)(& b));
   b = a;
@@ -212,7 +215,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*b);
     __gmpz_init_set_si(__e_acsl_n,(long)n);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_n);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_n));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"*b == n",17);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_n);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/global_literal_string.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/global_literal_string.1.res.oracle
index 4ca027af7e5866eaa2704cf49a3d836a00509efe..0e2046b47203ae2401bb4d250bdb9c763c3a2a5f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/global_literal_string.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/global_literal_string.1.res.oracle
@@ -164,7 +164,8 @@ void f(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*(T + (long)G));
     __gmpz_init_set_si(__e_acsl_2,(long)'b');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"*(T+G) == \'b\'",15);
     __gmpz_clear(__e_acsl);
@@ -189,7 +190,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*(S + (long)G2));
     __gmpz_init_set_si(__e_acsl_2,(long)'o');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"*(S+G2) == \'o\'",25);
     __gmpz_clear(__e_acsl);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
index 761045be98ff9ba710284ce82571d4d2e1f08cb9..eccb9db91015147688e7127ae0efabc299d48dfb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
@@ -211,7 +211,8 @@ int main(void)
     mpz_t __e_acsl;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"0 == 0",8);
     __gmpz_clear(__e_acsl);
   }
@@ -225,7 +226,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_2,(long)0);
     __gmpz_init_set_si(__e_acsl_3,(long)1);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"0 != 1",10);
     __gmpz_clear(__e_acsl_2);
     __gmpz_clear(__e_acsl_3);
@@ -236,7 +238,8 @@ int main(void)
     mpz_t __e_acsl_4;
     int __e_acsl_eq_2;
     __gmpz_init_set_str(__e_acsl_4,"1152921504606846975",10);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_4,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"1152921504606846975 == 0xfffffffffffffff",11);
     __gmpz_clear(__e_acsl_4);
@@ -251,7 +254,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_str(__e_acsl_5,"340282366920938463463374607431768211455",
                         10);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_5);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",
                   (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
                   13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
index c6bb1b16cd28ae7b781ff29e071f0fff75f4c036..4a6883759b5d7c28e03ca1a4e738ac1fd7b6274a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle
@@ -176,7 +176,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_str(__e_acsl,"340282366920938463463374607431768211455",
                         10);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
                   13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
index f61f31d4d70ae3a1a571848a95a9971e4d7d02ef..177a3da6c0d08f231841d78b39353c20f800b502 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
@@ -996,14 +996,16 @@ int main(void)
         int __e_acsl_and;
         __gmpz_init_set_si(__e_acsl,(long)0);
         __gmpz_init_set_si(__e_acsl_i,(long)i);
-        __e_acsl_le = __gmpz_cmp(__e_acsl,__e_acsl_i);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                 (__mpz_struct const *)(__e_acsl_i));
         if (__e_acsl_le <= 0) {
           mpz_t __e_acsl_i_2;
           mpz_t __e_acsl_2;
           int __e_acsl_lt;
           __gmpz_init_set_si(__e_acsl_i_2,(long)i);
           __gmpz_init_set_si(__e_acsl_2,(long)10);
-          __e_acsl_lt = __gmpz_cmp(__e_acsl_i_2,__e_acsl_2);
+          __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_2),
+                                   (__mpz_struct const *)(__e_acsl_2));
           __e_acsl_and = __e_acsl_lt < 0;
           __gmpz_clear(__e_acsl_i_2);
           __gmpz_clear(__e_acsl_2);
@@ -1023,7 +1025,8 @@ int main(void)
         int __e_acsl_le_2;
         __gmpz_init_set_si(__e_acsl_i_3,(long)i);
         __gmpz_init_set_si(__e_acsl_x,(long)x);
-        __e_acsl_le_2 = __gmpz_cmp(__e_acsl_i_3,__e_acsl_x);
+        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_3),
+                                   (__mpz_struct const *)(__e_acsl_x));
         e_acsl_assert(__e_acsl_le_2 <= 0,(char *)"Invariant",
                       (char *)"i <= x",11);
         __gmpz_clear(__e_acsl_i_3);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
index 93813f0f417601ed2b66940b9bb11b0500da433a..1bc3de046fc9e004a2de7065ff65bcda226be785 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
@@ -216,7 +216,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_X,(long)X);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_X,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"X == 0",12);
     __gmpz_clear(__e_acsl_X);
     __gmpz_clear(__e_acsl);
@@ -237,7 +238,8 @@ int main(void)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_X_2,(long)X);
       __gmpz_init_set_si(__e_acsl_2,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_X_2,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_2),
+                                 (__mpz_struct const *)(__e_acsl_2));
       e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                     (char *)"X == 1",14);
       __gmpz_clear(__e_acsl_X_2);
@@ -247,7 +249,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_X_3,(long)X);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_X_3,__e_acsl_3);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                   (char *)"X == 2",14);
     __gmpz_clear(__e_acsl_X_3);
@@ -266,7 +269,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_X_4,(long)X);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_X_4,__e_acsl_4);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_X_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Postcondition",
                   (char *)"X == 3",9);
     __gmpz_clear(__e_acsl_X_4);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
index 4123fe7b75554d50fcf93239dd154cb491ef0d2d..f6633ac8802e3e39fc50e2069efb9732630762d1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
@@ -962,14 +962,16 @@ int main(void)
     int __e_acsl_and;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     if (__e_acsl_eq == 0) {
       mpz_t __e_acsl_y;
       mpz_t __e_acsl_2;
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_y,(long)y);
       __gmpz_init_set_si(__e_acsl_2,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_y,__e_acsl_2);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                                 (__mpz_struct const *)(__e_acsl_2));
       __e_acsl_and = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_y);
       __gmpz_clear(__e_acsl_2);
@@ -989,7 +991,8 @@ int main(void)
     int __e_acsl_and_2;
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_3,(long)0);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_x_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     if (__e_acsl_ne != 0) {
       mpz_t __e_acsl_y_2;
       mpz_t __e_acsl_4;
@@ -1000,13 +1003,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_2,(long)y);
       __gmpz_init_set_si(__e_acsl_4,(long)1);
       __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __e_acsl_div_guard = __gmpz_cmp(__e_acsl_5,__e_acsl_5);
+      __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                                      (__mpz_struct const *)(__e_acsl_5));
       __gmpz_init(__e_acsl_div);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                     (char *)"0 == 0",12);
-      __gmpz_tdiv_q(__e_acsl_div,__e_acsl_4,__e_acsl_5);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_div);
+      __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_4),
+                    (__mpz_struct const *)(__e_acsl_5));
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                                 (__mpz_struct const *)(__e_acsl_div));
       __e_acsl_and_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_y_2);
       __gmpz_clear(__e_acsl_4);
@@ -1028,7 +1034,8 @@ int main(void)
     int __e_acsl_or;
     __gmpz_init_set_si(__e_acsl_y_3,(long)y);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_y_3,__e_acsl_6);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                               (__mpz_struct const *)(__e_acsl_6));
     if (__e_acsl_eq_4 == 0) { __e_acsl_or = 1; }
     else {
       mpz_t __e_acsl_x_3;
@@ -1036,7 +1043,8 @@ int main(void)
       int __e_acsl_eq_5;
       __gmpz_init_set_si(__e_acsl_x_3,(long)x);
       __gmpz_init_set_si(__e_acsl_7,(long)1);
-      __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_7);
+      __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                 (__mpz_struct const *)(__e_acsl_7));
       __e_acsl_or = __e_acsl_eq_5 == 0;
       __gmpz_clear(__e_acsl_x_3);
       __gmpz_clear(__e_acsl_7);
@@ -1055,7 +1063,8 @@ int main(void)
     int __e_acsl_or_2;
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_8,(long)0);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_8);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                               (__mpz_struct const *)(__e_acsl_8));
     if (__e_acsl_eq_6 == 0) { __e_acsl_or_2 = 1; }
     else {
       mpz_t __e_acsl_y_4;
@@ -1067,13 +1076,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_4,(long)y);
       __gmpz_init_set_si(__e_acsl_9,(long)1);
       __gmpz_init_set_si(__e_acsl_10,(long)0);
-      __e_acsl_div_guard_2 = __gmpz_cmp(__e_acsl_10,__e_acsl_10);
+      __e_acsl_div_guard_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                                        (__mpz_struct const *)(__e_acsl_10));
       __gmpz_init(__e_acsl_div_2);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard_2 == 0),(char *)"Assertion",
                     (char *)"0 == 0",14);
-      __gmpz_tdiv_q(__e_acsl_div_2,__e_acsl_9,__e_acsl_10);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_y_4,__e_acsl_div_2);
+      __gmpz_tdiv_q(__e_acsl_div_2,(__mpz_struct const *)(__e_acsl_9),
+                    (__mpz_struct const *)(__e_acsl_10));
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_4),
+                                 (__mpz_struct const *)(__e_acsl_div_2));
       __e_acsl_or_2 = __e_acsl_eq_7 == 0;
       __gmpz_clear(__e_acsl_y_4);
       __gmpz_clear(__e_acsl_9);
@@ -1094,7 +1106,8 @@ int main(void)
     int __e_acsl_implies;
     __gmpz_init_set_si(__e_acsl_x_5,(long)x);
     __gmpz_init_set_si(__e_acsl_11,(long)0);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_11);
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                               (__mpz_struct const *)(__e_acsl_11));
     if (! (__e_acsl_eq_8 == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_y_5;
@@ -1102,7 +1115,8 @@ int main(void)
       int __e_acsl_eq_9;
       __gmpz_init_set_si(__e_acsl_y_5,(long)y);
       __gmpz_init_set_si(__e_acsl_12,(long)1);
-      __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_y_5,__e_acsl_12);
+      __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_5),
+                                 (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_9 == 0;
       __gmpz_clear(__e_acsl_y_5);
       __gmpz_clear(__e_acsl_12);
@@ -1121,7 +1135,8 @@ int main(void)
     int __e_acsl_implies_2;
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_13,(long)1);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_13);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (! (__e_acsl_eq_10 == 0)) { __e_acsl_implies_2 = 1; }
     else {
       mpz_t __e_acsl_y_6;
@@ -1133,13 +1148,16 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_y_6,(long)y);
       __gmpz_init_set_si(__e_acsl_14,(long)1);
       __gmpz_init_set_si(__e_acsl_15,(long)0);
-      __e_acsl_div_guard_3 = __gmpz_cmp(__e_acsl_15,__e_acsl_15);
+      __e_acsl_div_guard_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15),
+                                        (__mpz_struct const *)(__e_acsl_15));
       __gmpz_init(__e_acsl_div_3);
       /*@ assert E_ACSL: 0 ≢ 0; */
       e_acsl_assert(! (__e_acsl_div_guard_3 == 0),(char *)"Assertion",
                     (char *)"0 == 0",16);
-      __gmpz_tdiv_q(__e_acsl_div_3,__e_acsl_14,__e_acsl_15);
-      __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_y_6,__e_acsl_div_3);
+      __gmpz_tdiv_q(__e_acsl_div_3,(__mpz_struct const *)(__e_acsl_14),
+                    (__mpz_struct const *)(__e_acsl_15));
+      __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_6),
+                                  (__mpz_struct const *)(__e_acsl_div_3));
       __e_acsl_implies_2 = __e_acsl_eq_11 == 0;
       __gmpz_clear(__e_acsl_y_6);
       __gmpz_clear(__e_acsl_14);
@@ -1160,14 +1178,16 @@ int main(void)
     int __e_acsl_if;
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_16,0L);
-    __e_acsl_ne_2 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_16);
+    __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                               (__mpz_struct const *)(__e_acsl_16));
     if (__e_acsl_ne_2 != 0) {
       mpz_t __e_acsl_x_8;
       mpz_t __e_acsl_17;
       int __e_acsl_ne_3;
       __gmpz_init_set_si(__e_acsl_x_8,(long)x);
       __gmpz_init_set_si(__e_acsl_17,0L);
-      __e_acsl_ne_3 = __gmpz_cmp(__e_acsl_x_8,__e_acsl_17);
+      __e_acsl_ne_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_8),
+                                 (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_if = __e_acsl_ne_3 != 0;
       __gmpz_clear(__e_acsl_x_8);
       __gmpz_clear(__e_acsl_17);
@@ -1178,7 +1198,8 @@ int main(void)
       int __e_acsl_ne_4;
       __gmpz_init_set_si(__e_acsl_y_7,(long)y);
       __gmpz_init_set_si(__e_acsl_18,0L);
-      __e_acsl_ne_4 = __gmpz_cmp(__e_acsl_y_7,__e_acsl_18);
+      __e_acsl_ne_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_7),
+                                 (__mpz_struct const *)(__e_acsl_18));
       __e_acsl_if = __e_acsl_ne_4 != 0;
       __gmpz_clear(__e_acsl_y_7);
       __gmpz_clear(__e_acsl_18);
@@ -1197,14 +1218,16 @@ int main(void)
     int __e_acsl_if_2;
     __gmpz_init_set_si(__e_acsl_y_8,(long)y);
     __gmpz_init_set_si(__e_acsl_19,0L);
-    __e_acsl_ne_5 = __gmpz_cmp(__e_acsl_y_8,__e_acsl_19);
+    __e_acsl_ne_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_8),
+                               (__mpz_struct const *)(__e_acsl_19));
     if (__e_acsl_ne_5 != 0) {
       mpz_t __e_acsl_y_9;
       mpz_t __e_acsl_20;
       int __e_acsl_ne_6;
       __gmpz_init_set_si(__e_acsl_y_9,(long)y);
       __gmpz_init_set_si(__e_acsl_20,0L);
-      __e_acsl_ne_6 = __gmpz_cmp(__e_acsl_y_9,__e_acsl_20);
+      __e_acsl_ne_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_9),
+                                 (__mpz_struct const *)(__e_acsl_20));
       __e_acsl_if_2 = __e_acsl_ne_6 != 0;
       __gmpz_clear(__e_acsl_y_9);
       __gmpz_clear(__e_acsl_20);
@@ -1215,7 +1238,8 @@ int main(void)
       int __e_acsl_ne_7;
       __gmpz_init_set_si(__e_acsl_x_9,(long)x);
       __gmpz_init_set_si(__e_acsl_21,0L);
-      __e_acsl_ne_7 = __gmpz_cmp(__e_acsl_x_9,__e_acsl_21);
+      __e_acsl_ne_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_9),
+                                 (__mpz_struct const *)(__e_acsl_21));
       __e_acsl_if_2 = __e_acsl_ne_7 != 0;
       __gmpz_clear(__e_acsl_x_9);
       __gmpz_clear(__e_acsl_21);
@@ -1234,14 +1258,16 @@ int main(void)
     int __e_acsl_if_3;
     __gmpz_init_set_si(__e_acsl_x_10,(long)x);
     __gmpz_init_set_si(__e_acsl_22,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_x_10,__e_acsl_22);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_10),
+                                (__mpz_struct const *)(__e_acsl_22));
     if (__e_acsl_eq_12 == 0) {
       mpz_t __e_acsl_x_11;
       mpz_t __e_acsl_23;
       int __e_acsl_eq_13;
       __gmpz_init_set_si(__e_acsl_x_11,(long)x);
       __gmpz_init_set_si(__e_acsl_23,(long)18);
-      __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_x_11,__e_acsl_23);
+      __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_11),
+                                  (__mpz_struct const *)(__e_acsl_23));
       __e_acsl_if_3 = __e_acsl_eq_13 == 0;
       __gmpz_clear(__e_acsl_x_11);
       __gmpz_clear(__e_acsl_23);
@@ -1252,7 +1278,8 @@ int main(void)
       int __e_acsl_eq_14;
       __gmpz_init_set_si(__e_acsl_x_12,(long)x);
       __gmpz_init_set_si(__e_acsl_24,(long)0);
-      __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_x_12,__e_acsl_24);
+      __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_12),
+                                  (__mpz_struct const *)(__e_acsl_24));
       __e_acsl_if_3 = __e_acsl_eq_14 == 0;
       __gmpz_clear(__e_acsl_x_12);
       __gmpz_clear(__e_acsl_24);
@@ -1272,7 +1299,8 @@ int main(void)
     int __e_acsl_equiv;
     __gmpz_init_set_si(__e_acsl_x_13,(long)x);
     __gmpz_init_set_si(__e_acsl_25,(long)2);
-    __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_x_13,__e_acsl_25);
+    __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_13),
+                                (__mpz_struct const *)(__e_acsl_25));
     if (! (__e_acsl_eq_15 == 0)) { __e_acsl_implies_3 = 1; }
     else {
       mpz_t __e_acsl_y_10;
@@ -1280,7 +1308,8 @@ int main(void)
       int __e_acsl_eq_16;
       __gmpz_init_set_si(__e_acsl_y_10,(long)y);
       __gmpz_init_set_si(__e_acsl_26,(long)3);
-      __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_y_10,__e_acsl_26);
+      __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_10),
+                                  (__mpz_struct const *)(__e_acsl_26));
       __e_acsl_implies_3 = __e_acsl_eq_16 == 0;
       __gmpz_clear(__e_acsl_y_10);
       __gmpz_clear(__e_acsl_26);
@@ -1292,7 +1321,8 @@ int main(void)
       int __e_acsl_implies_4;
       __gmpz_init_set_si(__e_acsl_y_11,(long)y);
       __gmpz_init_set_si(__e_acsl_27,(long)3);
-      __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_y_11,__e_acsl_27);
+      __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_11),
+                                  (__mpz_struct const *)(__e_acsl_27));
       if (! (__e_acsl_eq_17 == 0)) { __e_acsl_implies_4 = 1; }
       else {
         mpz_t __e_acsl_x_14;
@@ -1300,7 +1330,8 @@ int main(void)
         int __e_acsl_eq_18;
         __gmpz_init_set_si(__e_acsl_x_14,(long)x);
         __gmpz_init_set_si(__e_acsl_28,(long)2);
-        __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_x_14,__e_acsl_28);
+        __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_14),
+                                    (__mpz_struct const *)(__e_acsl_28));
         __e_acsl_implies_4 = __e_acsl_eq_18 == 0;
         __gmpz_clear(__e_acsl_x_14);
         __gmpz_clear(__e_acsl_28);
@@ -1325,7 +1356,8 @@ int main(void)
     int __e_acsl_equiv_2;
     __gmpz_init_set_si(__e_acsl_x_15,(long)x);
     __gmpz_init_set_si(__e_acsl_29,(long)0);
-    __e_acsl_eq_19 = __gmpz_cmp(__e_acsl_x_15,__e_acsl_29);
+    __e_acsl_eq_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_15),
+                                (__mpz_struct const *)(__e_acsl_29));
     if (! (__e_acsl_eq_19 == 0)) { __e_acsl_implies_5 = 1; }
     else {
       mpz_t __e_acsl_y_12;
@@ -1333,7 +1365,8 @@ int main(void)
       int __e_acsl_eq_20;
       __gmpz_init_set_si(__e_acsl_y_12,(long)y);
       __gmpz_init_set_si(__e_acsl_30,(long)1);
-      __e_acsl_eq_20 = __gmpz_cmp(__e_acsl_y_12,__e_acsl_30);
+      __e_acsl_eq_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_12),
+                                  (__mpz_struct const *)(__e_acsl_30));
       __e_acsl_implies_5 = __e_acsl_eq_20 == 0;
       __gmpz_clear(__e_acsl_y_12);
       __gmpz_clear(__e_acsl_30);
@@ -1345,7 +1378,8 @@ int main(void)
       int __e_acsl_implies_6;
       __gmpz_init_set_si(__e_acsl_y_13,(long)y);
       __gmpz_init_set_si(__e_acsl_31,(long)1);
-      __e_acsl_eq_21 = __gmpz_cmp(__e_acsl_y_13,__e_acsl_31);
+      __e_acsl_eq_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_13),
+                                  (__mpz_struct const *)(__e_acsl_31));
       if (! (__e_acsl_eq_21 == 0)) { __e_acsl_implies_6 = 1; }
       else {
         mpz_t __e_acsl_x_16;
@@ -1353,7 +1387,8 @@ int main(void)
         int __e_acsl_eq_22;
         __gmpz_init_set_si(__e_acsl_x_16,(long)x);
         __gmpz_init_set_si(__e_acsl_32,(long)0);
-        __e_acsl_eq_22 = __gmpz_cmp(__e_acsl_x_16,__e_acsl_32);
+        __e_acsl_eq_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_16),
+                                    (__mpz_struct const *)(__e_acsl_32));
         __e_acsl_implies_6 = __e_acsl_eq_22 == 0;
         __gmpz_clear(__e_acsl_x_16);
         __gmpz_clear(__e_acsl_32);
@@ -1382,24 +1417,28 @@ int main(void)
     int __e_acsl_eq_24;
     __gmpz_init_set_si(__e_acsl_x_17,(long)x);
     __gmpz_init_set_si(__e_acsl_33,0L);
-    __e_acsl_ne_8 = __gmpz_cmp(__e_acsl_x_17,__e_acsl_33);
+    __e_acsl_ne_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_17),
+                               (__mpz_struct const *)(__e_acsl_33));
     if (__e_acsl_ne_8 != 0) {
       mpz_t __e_acsl_x_18;
       __gmpz_init_set_si(__e_acsl_x_18,(long)x);
-      __gmpz_init_set(__e_acsl_if_4,__e_acsl_x_18);
+      __gmpz_init_set(__e_acsl_if_4,(__mpz_struct const *)(__e_acsl_x_18));
       __gmpz_clear(__e_acsl_x_18);
     }
     else {
       mpz_t __e_acsl_y_14;
       __gmpz_init_set_si(__e_acsl_y_14,(long)y);
-      __gmpz_init_set(__e_acsl_if_4,__e_acsl_y_14);
+      __gmpz_init_set(__e_acsl_if_4,(__mpz_struct const *)(__e_acsl_y_14));
       __gmpz_clear(__e_acsl_y_14);
     }
-    __e_acsl_ne_9 = __gmpz_cmp(__e_acsl_if_4,__e_acsl_33);
+    __e_acsl_ne_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_if_4),
+                               (__mpz_struct const *)(__e_acsl_33));
     __gmpz_init_set_si(__e_acsl_34,(long)(__e_acsl_ne_9 != 0));
-    __e_acsl_eq_23 = __gmpz_cmp(__e_acsl_x_17,__e_acsl_33);
+    __e_acsl_eq_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_17),
+                                (__mpz_struct const *)(__e_acsl_33));
     __gmpz_init_set_si(__e_acsl_35,(long)(__e_acsl_eq_23 == 0));
-    __e_acsl_eq_24 = __gmpz_cmp(__e_acsl_34,__e_acsl_35);
+    __e_acsl_eq_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34),
+                                (__mpz_struct const *)(__e_acsl_35));
     e_acsl_assert(__e_acsl_eq_24 == 0,(char *)"Assertion",
                   (char *)"((x!=0? x: y)!=0) == (x==0)",26);
     __gmpz_clear(__e_acsl_x_17);
@@ -1418,14 +1457,16 @@ int main(void)
     int __e_acsl_or_3;
     __gmpz_init_set_si(__e_acsl_x_19,(long)x);
     __gmpz_init_set_si(__e_acsl_36,0L);
-    __e_acsl_ne_10 = __gmpz_cmp(__e_acsl_x_19,__e_acsl_36);
+    __e_acsl_ne_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_19),
+                                (__mpz_struct const *)(__e_acsl_36));
     if (__e_acsl_ne_10 != 0) {
       mpz_t __e_acsl_y_15;
       mpz_t __e_acsl_37;
       int __e_acsl_ne_11;
       __gmpz_init_set_si(__e_acsl_y_15,(long)y);
       __gmpz_init_set_si(__e_acsl_37,0L);
-      __e_acsl_ne_11 = __gmpz_cmp(__e_acsl_y_15,__e_acsl_37);
+      __e_acsl_ne_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_15),
+                                  (__mpz_struct const *)(__e_acsl_37));
       __e_acsl_and_3 = __e_acsl_ne_11 != 0;
       __gmpz_clear(__e_acsl_y_15);
       __gmpz_clear(__e_acsl_37);
@@ -1438,7 +1479,8 @@ int main(void)
       int __e_acsl_ne_12;
       __gmpz_init_set_si(__e_acsl_y_16,(long)y);
       __gmpz_init_set_si(__e_acsl_38,0L);
-      __e_acsl_ne_12 = __gmpz_cmp(__e_acsl_y_16,__e_acsl_38);
+      __e_acsl_ne_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_16),
+                                  (__mpz_struct const *)(__e_acsl_38));
       __e_acsl_or_3 = __e_acsl_ne_12 != 0;
       __gmpz_clear(__e_acsl_y_16);
       __gmpz_clear(__e_acsl_38);
@@ -1458,7 +1500,8 @@ int main(void)
     int __e_acsl_and_4;
     __gmpz_init_set_si(__e_acsl_x_20,(long)x);
     __gmpz_init_set_si(__e_acsl_39,0L);
-    __e_acsl_ne_13 = __gmpz_cmp(__e_acsl_x_20,__e_acsl_39);
+    __e_acsl_ne_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_20),
+                                (__mpz_struct const *)(__e_acsl_39));
     if (__e_acsl_ne_13 != 0) { __e_acsl_or_4 = 1; }
     else {
       mpz_t __e_acsl_y_17;
@@ -1466,7 +1509,8 @@ int main(void)
       int __e_acsl_ne_14;
       __gmpz_init_set_si(__e_acsl_y_17,(long)y);
       __gmpz_init_set_si(__e_acsl_40,0L);
-      __e_acsl_ne_14 = __gmpz_cmp(__e_acsl_y_17,__e_acsl_40);
+      __e_acsl_ne_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_17),
+                                  (__mpz_struct const *)(__e_acsl_40));
       __e_acsl_or_4 = __e_acsl_ne_14 != 0;
       __gmpz_clear(__e_acsl_y_17);
       __gmpz_clear(__e_acsl_40);
@@ -1477,7 +1521,8 @@ int main(void)
       int __e_acsl_eq_25;
       __gmpz_init_set_si(__e_acsl_y_18,(long)y);
       __gmpz_init_set_si(__e_acsl_41,(long)1);
-      __e_acsl_eq_25 = __gmpz_cmp(__e_acsl_y_18,__e_acsl_41);
+      __e_acsl_eq_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_18),
+                                  (__mpz_struct const *)(__e_acsl_41));
       __e_acsl_and_4 = __e_acsl_eq_25 == 0;
       __gmpz_clear(__e_acsl_y_18);
       __gmpz_clear(__e_acsl_41);
@@ -1501,7 +1546,8 @@ int main(void)
     int __e_acsl_eq_26;
     __gmpz_init_set_si(__e_acsl_x_21,(long)x);
     __gmpz_init_set_si(__e_acsl_42,0L);
-    __e_acsl_ne_15 = __gmpz_cmp(__e_acsl_x_21,__e_acsl_42);
+    __e_acsl_ne_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_21),
+                                (__mpz_struct const *)(__e_acsl_42));
     if (__e_acsl_ne_15 != 0) { __gmpz_init_set_si(__e_acsl_or_5,1L); }
     else {
       mpz_t __e_acsl_y_19;
@@ -1510,17 +1556,20 @@ int main(void)
       mpz_t __e_acsl_44;
       __gmpz_init_set_si(__e_acsl_y_19,(long)y);
       __gmpz_init_set_si(__e_acsl_43,0L);
-      __e_acsl_ne_16 = __gmpz_cmp(__e_acsl_y_19,__e_acsl_43);
+      __e_acsl_ne_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_19),
+                                  (__mpz_struct const *)(__e_acsl_43));
       __gmpz_init_set_si(__e_acsl_44,(long)(__e_acsl_ne_16 != 0));
-      __gmpz_init_set(__e_acsl_or_5,__e_acsl_44);
+      __gmpz_init_set(__e_acsl_or_5,(__mpz_struct const *)(__e_acsl_44));
       __gmpz_clear(__e_acsl_y_19);
       __gmpz_clear(__e_acsl_43);
       __gmpz_clear(__e_acsl_44);
     }
     __gmpz_init_set_si(__e_acsl_y_20,(long)y);
-    __e_acsl_ne_17 = __gmpz_cmp(__e_acsl_y_20,__e_acsl_42);
+    __e_acsl_ne_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_20),
+                                (__mpz_struct const *)(__e_acsl_42));
     __gmpz_init_set_si(__e_acsl_45,(long)(__e_acsl_ne_17 != 0));
-    __e_acsl_eq_26 = __gmpz_cmp(__e_acsl_or_5,__e_acsl_45);
+    __e_acsl_eq_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_or_5),
+                                (__mpz_struct const *)(__e_acsl_45));
     e_acsl_assert(__e_acsl_eq_26 == 0,(char *)"Assertion",
                   (char *)"(x!=0||y!=0) == (y!=0)",29);
     __gmpz_clear(__e_acsl_x_21);
@@ -1541,7 +1590,8 @@ int main(void)
     int __e_acsl_eq_27;
     __gmpz_init_set_si(__e_acsl_x_22,(long)x);
     __gmpz_init_set_si(__e_acsl_46,0L);
-    __e_acsl_ne_18 = __gmpz_cmp(__e_acsl_x_22,__e_acsl_46);
+    __e_acsl_ne_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_22),
+                                (__mpz_struct const *)(__e_acsl_46));
     if (__e_acsl_ne_18 != 0) {
       mpz_t __e_acsl_y_21;
       mpz_t __e_acsl_47;
@@ -1549,17 +1599,20 @@ int main(void)
       mpz_t __e_acsl_48;
       __gmpz_init_set_si(__e_acsl_y_21,(long)y);
       __gmpz_init_set_si(__e_acsl_47,0L);
-      __e_acsl_ne_19 = __gmpz_cmp(__e_acsl_y_21,__e_acsl_47);
+      __e_acsl_ne_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_21),
+                                  (__mpz_struct const *)(__e_acsl_47));
       __gmpz_init_set_si(__e_acsl_48,(long)(__e_acsl_ne_19 != 0));
-      __gmpz_init_set(__e_acsl_and_5,__e_acsl_48);
+      __gmpz_init_set(__e_acsl_and_5,(__mpz_struct const *)(__e_acsl_48));
       __gmpz_clear(__e_acsl_y_21);
       __gmpz_clear(__e_acsl_47);
       __gmpz_clear(__e_acsl_48);
     }
     else { __gmpz_init_set_si(__e_acsl_and_5,0L); }
-    __e_acsl_ne_20 = __gmpz_cmp(__e_acsl_x_22,__e_acsl_46);
+    __e_acsl_ne_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_22),
+                                (__mpz_struct const *)(__e_acsl_46));
     __gmpz_init_set_si(__e_acsl_49,(long)(__e_acsl_ne_20 != 0));
-    __e_acsl_eq_27 = __gmpz_cmp(__e_acsl_and_5,__e_acsl_49);
+    __e_acsl_eq_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_and_5),
+                                (__mpz_struct const *)(__e_acsl_49));
     e_acsl_assert(__e_acsl_eq_27 == 0,(char *)"Assertion",
                   (char *)"(x!=0&&y!=0) == (x!=0)",30);
     __gmpz_clear(__e_acsl_x_22);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
index 3bae560f91ac8100252f44bb195e11ebedd13fd1..a429245d9d8fd27748a2ce949b43958c6bd45339 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
@@ -752,7 +752,7 @@ int search(int elt)
     {
       mpz_t __e_acsl_5;
       __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __gmpz_set(__e_acsl_i,__e_acsl_5);
+      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_5));
       __gmpz_clear(__e_acsl_5);
     }
     
@@ -761,7 +761,8 @@ int search(int elt)
         mpz_t __e_acsl_6;
         int __e_acsl_lt;
         __gmpz_init_set_si(__e_acsl_6,(long)9);
-        __e_acsl_lt = __gmpz_cmp(__e_acsl_i,__e_acsl_6);
+        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i),
+                                 (__mpz_struct const *)(__e_acsl_6));
         if (__e_acsl_lt < 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_6);
       }
@@ -774,16 +775,18 @@ int search(int elt)
         unsigned long __e_acsl_3;
         mpz_t __e_acsl_4;
         int __e_acsl_le;
-        __e_acsl_i_2 = __gmpz_get_ui(__e_acsl_i);
+        __e_acsl_i_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i));
         /*@ assert Value: index_bound: __e_acsl_i_2 < 10; */
         __gmpz_init_set_si(__e_acsl,(long)A[__e_acsl_i_2]);
         __gmpz_init_set_si(__e_acsl_2,(long)1);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_i,__e_acsl_2);
-        __e_acsl_3 = __gmpz_get_ui(__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_2));
+        __e_acsl_3 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_add));
         /*@ assert Value: index_bound: __e_acsl_3 < 10; */
         __gmpz_init_set_si(__e_acsl_4,(long)A[__e_acsl_3]);
-        __e_acsl_le = __gmpz_cmp(__e_acsl,__e_acsl_4);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                 (__mpz_struct const *)(__e_acsl_4));
         __gmpz_clear(__e_acsl);
         __gmpz_clear(__e_acsl_2);
         __gmpz_clear(__e_acsl_add);
@@ -799,8 +802,9 @@ int search(int elt)
         mpz_t __e_acsl_add_2;
         __gmpz_init_set_si(__e_acsl_7,1L);
         __gmpz_init(__e_acsl_add_2);
-        __gmpz_add(__e_acsl_add_2,__e_acsl_i,__e_acsl_7);
-        __gmpz_set(__e_acsl_i,__e_acsl_add_2);
+        __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_7));
+        __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_add_2));
         __gmpz_clear(__e_acsl_7);
         __gmpz_clear(__e_acsl_add_2);
       }
@@ -819,7 +823,7 @@ int search(int elt)
       {
         mpz_t __e_acsl_14;
         __gmpz_init_set_si(__e_acsl_14,(long)0);
-        __gmpz_set(__e_acsl_j_3,__e_acsl_14);
+        __gmpz_set(__e_acsl_j_3,(__mpz_struct const *)(__e_acsl_14));
         __gmpz_clear(__e_acsl_14);
       }
       
@@ -828,7 +832,8 @@ int search(int elt)
           mpz_t __e_acsl_15;
           int __e_acsl_lt_3;
           __gmpz_init_set_si(__e_acsl_15,(long)10);
-          __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_j_3,__e_acsl_15);
+          __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_3),
+                                     (__mpz_struct const *)(__e_acsl_15));
           if (__e_acsl_lt_3 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_15);
@@ -839,11 +844,12 @@ int search(int elt)
           mpz_t __e_acsl_13;
           mpz_t __e_acsl_elt_2;
           int __e_acsl_ne;
-          __e_acsl_j_4 = __gmpz_get_ui(__e_acsl_j_3);
+          __e_acsl_j_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j_3));
           /*@ assert Value: index_bound: __e_acsl_j_4 < 10; */
           __gmpz_init_set_si(__e_acsl_13,(long)A[__e_acsl_j_4]);
           __gmpz_init_set_si(__e_acsl_elt_2,(long)elt);
-          __e_acsl_ne = __gmpz_cmp(__e_acsl_13,__e_acsl_elt_2);
+          __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13),
+                                   (__mpz_struct const *)(__e_acsl_elt_2));
           __gmpz_clear(__e_acsl_13);
           __gmpz_clear(__e_acsl_elt_2);
           if (__e_acsl_ne != 0) { ; }
@@ -857,8 +863,9 @@ int search(int elt)
           mpz_t __e_acsl_add_4;
           __gmpz_init_set_si(__e_acsl_16,1L);
           __gmpz_init(__e_acsl_add_4);
-          __gmpz_add(__e_acsl_add_4,__e_acsl_j_3,__e_acsl_16);
-          __gmpz_set(__e_acsl_j_3,__e_acsl_add_4);
+          __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_j_3),
+                     (__mpz_struct const *)(__e_acsl_16));
+          __gmpz_set(__e_acsl_j_3,(__mpz_struct const *)(__e_acsl_add_4));
           __gmpz_clear(__e_acsl_16);
           __gmpz_clear(__e_acsl_add_4);
         }
@@ -877,7 +884,7 @@ int search(int elt)
       {
         mpz_t __e_acsl_9;
         __gmpz_init_set_si(__e_acsl_9,(long)0);
-        __gmpz_set(__e_acsl_j,__e_acsl_9);
+        __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_9));
         __gmpz_clear(__e_acsl_9);
       }
       
@@ -886,7 +893,8 @@ int search(int elt)
           mpz_t __e_acsl_10;
           int __e_acsl_lt_2;
           __gmpz_init_set_si(__e_acsl_10,(long)10);
-          __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_j,__e_acsl_10);
+          __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j),
+                                     (__mpz_struct const *)(__e_acsl_10));
           if (__e_acsl_lt_2 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_10);
@@ -897,11 +905,12 @@ int search(int elt)
           mpz_t __e_acsl_8;
           mpz_t __e_acsl_elt;
           int __e_acsl_eq;
-          __e_acsl_j_2 = __gmpz_get_ui(__e_acsl_j);
+          __e_acsl_j_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j));
           /*@ assert Value: index_bound: __e_acsl_j_2 < 10; */
           __gmpz_init_set_si(__e_acsl_8,(long)A[__e_acsl_j_2]);
           __gmpz_init_set_si(__e_acsl_elt,(long)elt);
-          __e_acsl_eq = __gmpz_cmp(__e_acsl_8,__e_acsl_elt);
+          __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8),
+                                   (__mpz_struct const *)(__e_acsl_elt));
           __gmpz_clear(__e_acsl_8);
           __gmpz_clear(__e_acsl_elt);
           if (! (__e_acsl_eq == 0)) { ; }
@@ -915,8 +924,9 @@ int search(int elt)
           mpz_t __e_acsl_add_3;
           __gmpz_init_set_si(__e_acsl_11,1L);
           __gmpz_init(__e_acsl_add_3);
-          __gmpz_add(__e_acsl_add_3,__e_acsl_j,__e_acsl_11);
-          __gmpz_set(__e_acsl_j,__e_acsl_add_3);
+          __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_j),
+                     (__mpz_struct const *)(__e_acsl_11));
+          __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_add_3));
           __gmpz_clear(__e_acsl_11);
           __gmpz_clear(__e_acsl_add_3);
         }
@@ -955,7 +965,8 @@ int search(int elt)
       int __e_acsl_eq_2;
       __gmpz_init_set_si(__e_acsl_result,(long)__retres);
       __gmpz_init_set_si(__e_acsl_12,(long)1);
-      __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_result,__e_acsl_12);
+      __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                                 (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_2 == 0;
       __gmpz_clear(__e_acsl_result);
       __gmpz_clear(__e_acsl_12);
@@ -970,7 +981,8 @@ int search(int elt)
       int __e_acsl_eq_3;
       __gmpz_init_set_si(__e_acsl_result_2,(long)__retres);
       __gmpz_init_set_si(__e_acsl_17,(long)0);
-      __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_result_2,__e_acsl_17);
+      __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result_2),
+                                 (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_implies_2 = __e_acsl_eq_3 == 0;
       __gmpz_clear(__e_acsl_result_2);
       __gmpz_clear(__e_acsl_17);
@@ -1001,7 +1013,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_found,(long)found);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_found,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_found),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"found == 1",
                   33);
     __gmpz_clear(__e_acsl_found);
@@ -1016,7 +1029,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_found_2,(long)found);
     __gmpz_init_set_si(__e_acsl_2,(long)0);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_found_2,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_found_2),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",
                   (char *)"found == 0",36);
     __gmpz_clear(__e_acsl_found_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
index 43767462384cbd8af32c22ebc3fa89e10e11fc88..910301a560fd60a3bac8595c0d38de49e303d5b4 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
@@ -272,7 +272,8 @@ int main(void)
     int __e_acsl_lt;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_lt = __gmpz_cmp(__e_acsl_x,__e_acsl_y);
+    __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl_y));
     e_acsl_assert(__e_acsl_lt < 0,(char *)"Assertion",(char *)"x < y",9);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl_y);
@@ -290,7 +291,8 @@ int main(void)
       int __e_acsl_eq;
       __gmpz_init_set_si(__e_acsl_x_2,(long)x);
       __gmpz_init_set_si(__e_acsl,(long)0);
-      __e_acsl_eq = __gmpz_cmp(__e_acsl_x_2,__e_acsl);
+      __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl));
       e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"x == 0",
                     10);
       __gmpz_clear(__e_acsl_x_2);
@@ -312,7 +314,8 @@ int main(void)
             int __e_acsl_eq_2;
             __gmpz_init_set_si(__e_acsl_x_3,(long)x);
             __gmpz_init_set_si(__e_acsl_2,(long)0);
-            __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_2);
+            __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                       (__mpz_struct const *)(__e_acsl_2));
             e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
                           (char *)"x == 0",15);
             __gmpz_clear(__e_acsl_x_3);
@@ -322,7 +325,8 @@ int main(void)
           
           __gmpz_init_set_si(__e_acsl_x_4,(long)x);
           __gmpz_init_set_si(__e_acsl_3,(long)1);
-          __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_3);
+          __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                     (__mpz_struct const *)(__e_acsl_3));
           e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                         (char *)"x == 1",16);
           __gmpz_clear(__e_acsl_x_4);
@@ -342,7 +346,8 @@ int main(void)
               int __e_acsl_eq_4;
               __gmpz_init_set_si(__e_acsl_x_5,(long)x);
               __gmpz_init_set_si(__e_acsl_4,(long)1);
-              __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_4);
+              __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                         (__mpz_struct const *)(__e_acsl_4));
               e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",
                             (char *)"x == 1",19);
               __gmpz_clear(__e_acsl_x_5);
@@ -352,7 +357,8 @@ int main(void)
             
             __gmpz_init_set_si(__e_acsl_x_6,(long)x);
             __gmpz_init_set_si(__e_acsl_5,(long)2);
-            __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_5);
+            __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                       (__mpz_struct const *)(__e_acsl_5));
             e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
                           (char *)"x == 2",20);
             __gmpz_clear(__e_acsl_x_6);
@@ -369,7 +375,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_6,(long)1);
-    __e_acsl_ge = __gmpz_cmp(__e_acsl_x_7,__e_acsl_6);
+    __e_acsl_ge = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                             (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_ge >= 0,(char *)"Postcondition",(char *)"x >= 1",
                   11);
     __gmpz_clear(__e_acsl_x_7);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
index 76b3ae5fcf95e5dbd35fd4b3510dc182e931b37d..8d2acc3669bc94d94347acbb09774419c581cdfe 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
@@ -155,7 +155,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,0L);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",8);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
@@ -169,7 +170,8 @@ int main(void)
       int __e_acsl_ne;
       __gmpz_init_set_si(__e_acsl_x_2,(long)x);
       __gmpz_init_set_si(__e_acsl_2,0L);
-      __e_acsl_ne = __gmpz_cmp(__e_acsl_x_2,__e_acsl_2);
+      __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_2));
       e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"x != 0",9);
       __gmpz_clear(__e_acsl_x_2);
       __gmpz_clear(__e_acsl_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
index bcfa243c4a76555cb63eb1dc45bc27c1e7018a5d..0f5d9819a7499320568028276f29371a399dff9d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
@@ -168,7 +168,8 @@ int main(void)
     mpz_t __e_acsl;
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)'c');
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"\'c\' == \'c\'",12);
     __gmpz_clear(__e_acsl);
@@ -181,7 +182,8 @@ int main(void)
     int __e_acsl_ne;
     __gmpz_init_set_si(__e_acsl_2,(long)false);
     __gmpz_init_set_si(__e_acsl_3,(long)true);
-    __e_acsl_ne = __gmpz_cmp(__e_acsl_2,__e_acsl_3);
+    __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
+                             (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",
                   (char *)"false != true",13);
     __gmpz_clear(__e_acsl_2);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
index 091165c66009101afd75608954c3974af4d8f9ec..6cc1d6730c354e7a1cb4a8b6e98686530c21a292 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
@@ -633,7 +633,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*p);
     __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"*p == 1",13);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_2);
@@ -646,7 +647,8 @@ int main(void)
     int __e_acsl_eq_2;
     __gmpz_init_set_si(__e_acsl_3,(long)t[0]);
     __gmpz_init_set_si(__e_acsl_4,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_3,__e_acsl_4);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"t[0] == 2",
                   14);
     __gmpz_clear(__e_acsl_3);
@@ -660,7 +662,8 @@ int main(void)
     int __e_acsl_eq_3;
     __gmpz_init_set_si(__e_acsl_5,(long)t[2]);
     __gmpz_init_set_si(__e_acsl_6,(long)4);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_5,__e_acsl_6);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5),
+                               (__mpz_struct const *)(__e_acsl_6));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"t[2] == 4",
                   15);
     __gmpz_clear(__e_acsl_5);
@@ -683,20 +686,24 @@ int main(void)
     __gmpz_init_set_si(__e_acsl_7,(long)2);
     __gmpz_init_set_si(__e_acsl_sizeof,4L);
     __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,__e_acsl_7,__e_acsl_sizeof);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_7),
+               (__mpz_struct const *)(__e_acsl_sizeof));
     __gmpz_init_set_si(__e_acsl_sizeof_2,4L);
     __gmpz_init_set_si(__e_acsl_8,0L);
-    __e_acsl_div_guard = __gmpz_cmp(__e_acsl_sizeof_2,__e_acsl_8);
+    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sizeof_2),
+                                    (__mpz_struct const *)(__e_acsl_8));
     __gmpz_init(__e_acsl_div);
     /*@ assert E_ACSL: sizeof((int)0x0) ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                   (char *)"sizeof((int)0x0) == 0",16);
-    __gmpz_tdiv_q(__e_acsl_div,__e_acsl_mul,__e_acsl_sizeof_2);
-    __e_acsl_9 = __gmpz_get_ui(__e_acsl_div);
+    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_mul),
+                  (__mpz_struct const *)(__e_acsl_sizeof_2));
+    __e_acsl_9 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_div));
     /*@ assert Value: index_bound: __e_acsl_9 < 3; */
     __gmpz_init_set_si(__e_acsl_10,(long)t[__e_acsl_9]);
     __gmpz_init_set_si(__e_acsl_11,(long)4);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_10,__e_acsl_11);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
+                               (__mpz_struct const *)(__e_acsl_11));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",
                   (char *)"t[(2*sizeof(int))/sizeof((int)0x0)] == 4",16);
     __gmpz_clear(__e_acsl_7);
@@ -724,8 +731,10 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_i,(long)i);
         __gmpz_init_set_si(__e_acsl_13,(long)2);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_i,__e_acsl_13);
-        __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_12,__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
+                   (__mpz_struct const *)(__e_acsl_13));
+        __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12),
+                                   (__mpz_struct const *)(__e_acsl_add));
         e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Assertion",
                       (char *)"t[i] == i+2",19);
         __gmpz_clear(__e_acsl_12);
@@ -747,14 +756,17 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_14,(long)2);
         __gmpz_init_set_si(__e_acsl_i_2,(long)i);
         __gmpz_init(__e_acsl_sub);
-        __gmpz_sub(__e_acsl_sub,__e_acsl_14,__e_acsl_i_2);
-        __e_acsl_15 = __gmpz_get_ui(__e_acsl_sub);
+        __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl_14),
+                   (__mpz_struct const *)(__e_acsl_i_2));
+        __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_sub));
         /*@ assert Value: index_bound: __e_acsl_15 < 3; */
         __gmpz_init_set_si(__e_acsl_16,(long)t[__e_acsl_15]);
         __gmpz_init_set_si(__e_acsl_17,(long)4);
         __gmpz_init(__e_acsl_sub_2);
-        __gmpz_sub(__e_acsl_sub_2,__e_acsl_17,__e_acsl_i_2);
-        __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_16,__e_acsl_sub_2);
+        __gmpz_sub(__e_acsl_sub_2,(__mpz_struct const *)(__e_acsl_17),
+                   (__mpz_struct const *)(__e_acsl_i_2));
+        __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16),
+                                   (__mpz_struct const *)(__e_acsl_sub_2));
         e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Assertion",
                       (char *)"t[2-i] == 4-i",20);
         __gmpz_clear(__e_acsl_14);
@@ -776,8 +788,10 @@ int main(void)
         __gmpz_init_set_si(__e_acsl_19,(long)4);
         __gmpz_init_set_si(__e_acsl_i_3,(long)i);
         __gmpz_init(__e_acsl_sub_3);
-        __gmpz_sub(__e_acsl_sub_3,__e_acsl_19,__e_acsl_i_3);
-        __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_18,__e_acsl_sub_3);
+        __gmpz_sub(__e_acsl_sub_3,(__mpz_struct const *)(__e_acsl_19),
+                   (__mpz_struct const *)(__e_acsl_i_3));
+        __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18),
+                                   (__mpz_struct const *)(__e_acsl_sub_3));
         e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",
                       (char *)"*(&t[2]-i) == 4-i",21);
         __gmpz_clear(__e_acsl_18);
@@ -799,7 +813,8 @@ int main(void)
     int __e_acsl_eq_8;
     __gmpz_init_set_si(__e_acsl_20,(long)*p);
     __gmpz_init_set_si(__e_acsl_21,(long)5);
-    __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_20,__e_acsl_21);
+    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20),
+                               (__mpz_struct const *)(__e_acsl_21));
     e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"*p == 5",
                   27);
     __gmpz_clear(__e_acsl_20);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
index e83af0b7e710ac717383219e8c802223061b6f2e..4698d9c32128a9744102c3afdd337c8fe262e5bc 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
@@ -842,7 +842,7 @@ int main(void)
     {
       mpz_t __e_acsl_3;
       __gmpz_init_set_si(__e_acsl_3,(long)0);
-      __gmpz_set(__e_acsl_x,__e_acsl_3);
+      __gmpz_set(__e_acsl_x,(__mpz_struct const *)(__e_acsl_3));
       __gmpz_clear(__e_acsl_3);
     }
     
@@ -851,7 +851,8 @@ int main(void)
         mpz_t __e_acsl_4;
         int __e_acsl_le;
         __gmpz_init_set_si(__e_acsl_4,(long)1);
-        __e_acsl_le = __gmpz_cmp(__e_acsl_x,__e_acsl_4);
+        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                 (__mpz_struct const *)(__e_acsl_4));
         if (__e_acsl_le <= 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_4);
       }
@@ -861,13 +862,15 @@ int main(void)
         int __e_acsl_eq;
         int __e_acsl_or;
         __gmpz_init_set_si(__e_acsl,(long)0);
-        __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+        __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                 (__mpz_struct const *)(__e_acsl));
         if (__e_acsl_eq == 0) { __e_acsl_or = 1; }
         else {
           mpz_t __e_acsl_2;
           int __e_acsl_eq_2;
           __gmpz_init_set_si(__e_acsl_2,(long)1);
-          __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x,__e_acsl_2);
+          __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                                     (__mpz_struct const *)(__e_acsl_2));
           __e_acsl_or = __e_acsl_eq_2 == 0;
           __gmpz_clear(__e_acsl_2);
         }
@@ -883,8 +886,9 @@ int main(void)
         mpz_t __e_acsl_add;
         __gmpz_init_set_si(__e_acsl_5,1L);
         __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,__e_acsl_x,__e_acsl_5);
-        __gmpz_set(__e_acsl_x,__e_acsl_add);
+        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_x),
+                   (__mpz_struct const *)(__e_acsl_5));
+        __gmpz_set(__e_acsl_x,(__mpz_struct const *)(__e_acsl_add));
         __gmpz_clear(__e_acsl_5);
         __gmpz_clear(__e_acsl_add);
       }
@@ -910,8 +914,9 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_7,(long)0);
       __gmpz_init_set_si(__e_acsl_8,1L);
       __gmpz_init(__e_acsl_add_2);
-      __gmpz_add(__e_acsl_add_2,__e_acsl_7,__e_acsl_8);
-      __gmpz_set(__e_acsl_x_2,__e_acsl_add_2);
+      __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_7),
+                 (__mpz_struct const *)(__e_acsl_8));
+      __gmpz_set(__e_acsl_x_2,(__mpz_struct const *)(__e_acsl_add_2));
       __gmpz_clear(__e_acsl_7);
       __gmpz_clear(__e_acsl_8);
       __gmpz_clear(__e_acsl_add_2);
@@ -922,7 +927,8 @@ int main(void)
         mpz_t __e_acsl_9;
         int __e_acsl_le_2;
         __gmpz_init_set_si(__e_acsl_9,(long)1);
-        __e_acsl_le_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_9);
+        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                                   (__mpz_struct const *)(__e_acsl_9));
         if (__e_acsl_le_2 <= 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_9);
@@ -932,7 +938,8 @@ int main(void)
         mpz_t __e_acsl_6;
         int __e_acsl_eq_3;
         __gmpz_init_set_si(__e_acsl_6,(long)1);
-        __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_6);
+        __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                                   (__mpz_struct const *)(__e_acsl_6));
         __gmpz_clear(__e_acsl_6);
         if (__e_acsl_eq_3 == 0) { ; }
         else {
@@ -945,8 +952,9 @@ int main(void)
         mpz_t __e_acsl_add_3;
         __gmpz_init_set_si(__e_acsl_10,1L);
         __gmpz_init(__e_acsl_add_3);
-        __gmpz_add(__e_acsl_add_3,__e_acsl_x_2,__e_acsl_10);
-        __gmpz_set(__e_acsl_x_2,__e_acsl_add_3);
+        __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_x_2),
+                   (__mpz_struct const *)(__e_acsl_10));
+        __gmpz_set(__e_acsl_x_2,(__mpz_struct const *)(__e_acsl_add_3));
         __gmpz_clear(__e_acsl_10);
         __gmpz_clear(__e_acsl_add_3);
       }
@@ -972,8 +980,9 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_11,(long)0);
       __gmpz_init_set_si(__e_acsl_12,1L);
       __gmpz_init(__e_acsl_add_4);
-      __gmpz_add(__e_acsl_add_4,__e_acsl_11,__e_acsl_12);
-      __gmpz_set(__e_acsl_x_3,__e_acsl_add_4);
+      __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_11),
+                 (__mpz_struct const *)(__e_acsl_12));
+      __gmpz_set(__e_acsl_x_3,(__mpz_struct const *)(__e_acsl_add_4));
       __gmpz_clear(__e_acsl_11);
       __gmpz_clear(__e_acsl_12);
       __gmpz_clear(__e_acsl_add_4);
@@ -984,7 +993,8 @@ int main(void)
         mpz_t __e_acsl_13;
         int __e_acsl_lt;
         __gmpz_init_set_si(__e_acsl_13,(long)1);
-        __e_acsl_lt = __gmpz_cmp(__e_acsl_x_3,__e_acsl_13);
+        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                                 (__mpz_struct const *)(__e_acsl_13));
         if (__e_acsl_lt < 0) { ; } else { break; }
         __gmpz_clear(__e_acsl_13);
       }
@@ -998,8 +1008,9 @@ int main(void)
         mpz_t __e_acsl_add_5;
         __gmpz_init_set_si(__e_acsl_14,1L);
         __gmpz_init(__e_acsl_add_5);
-        __gmpz_add(__e_acsl_add_5,__e_acsl_x_3,__e_acsl_14);
-        __gmpz_set(__e_acsl_x_3,__e_acsl_add_5);
+        __gmpz_add(__e_acsl_add_5,(__mpz_struct const *)(__e_acsl_x_3),
+                   (__mpz_struct const *)(__e_acsl_14));
+        __gmpz_set(__e_acsl_x_3,(__mpz_struct const *)(__e_acsl_add_5));
         __gmpz_clear(__e_acsl_14);
         __gmpz_clear(__e_acsl_add_5);
       }
@@ -1021,7 +1032,7 @@ int main(void)
     {
       mpz_t __e_acsl_16;
       __gmpz_init_set_si(__e_acsl_16,(long)0);
-      __gmpz_set(__e_acsl_x_4,__e_acsl_16);
+      __gmpz_set(__e_acsl_x_4,(__mpz_struct const *)(__e_acsl_16));
       __gmpz_clear(__e_acsl_16);
     }
     
@@ -1030,7 +1041,8 @@ int main(void)
         mpz_t __e_acsl_17;
         int __e_acsl_lt_2;
         __gmpz_init_set_si(__e_acsl_17,(long)1);
-        __e_acsl_lt_2 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_17);
+        __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                   (__mpz_struct const *)(__e_acsl_17));
         if (__e_acsl_lt_2 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_17);
@@ -1040,7 +1052,8 @@ int main(void)
         mpz_t __e_acsl_15;
         int __e_acsl_eq_4;
         __gmpz_init_set_si(__e_acsl_15,(long)0);
-        __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_15);
+        __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                                   (__mpz_struct const *)(__e_acsl_15));
         __gmpz_clear(__e_acsl_15);
         if (__e_acsl_eq_4 == 0) { ; }
         else {
@@ -1053,8 +1066,9 @@ int main(void)
         mpz_t __e_acsl_add_6;
         __gmpz_init_set_si(__e_acsl_18,1L);
         __gmpz_init(__e_acsl_add_6);
-        __gmpz_add(__e_acsl_add_6,__e_acsl_x_4,__e_acsl_18);
-        __gmpz_set(__e_acsl_x_4,__e_acsl_add_6);
+        __gmpz_add(__e_acsl_add_6,(__mpz_struct const *)(__e_acsl_x_4),
+                   (__mpz_struct const *)(__e_acsl_18));
+        __gmpz_set(__e_acsl_x_4,(__mpz_struct const *)(__e_acsl_add_6));
         __gmpz_clear(__e_acsl_18);
         __gmpz_clear(__e_acsl_add_6);
       }
@@ -1083,7 +1097,7 @@ int main(void)
     {
       mpz_t __e_acsl_25;
       __gmpz_init_set_si(__e_acsl_25,(long)0);
-      __gmpz_set(__e_acsl_x_5,__e_acsl_25);
+      __gmpz_set(__e_acsl_x_5,(__mpz_struct const *)(__e_acsl_25));
       __gmpz_clear(__e_acsl_25);
     }
     
@@ -1092,7 +1106,8 @@ int main(void)
         mpz_t __e_acsl_26;
         int __e_acsl_lt_4;
         __gmpz_init_set_si(__e_acsl_26,(long)2);
-        __e_acsl_lt_4 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_26);
+        __e_acsl_lt_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                   (__mpz_struct const *)(__e_acsl_26));
         if (__e_acsl_lt_4 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_26);
@@ -1101,7 +1116,7 @@ int main(void)
       {
         mpz_t __e_acsl_22;
         __gmpz_init_set_si(__e_acsl_22,(long)0);
-        __gmpz_set(__e_acsl_y,__e_acsl_22);
+        __gmpz_set(__e_acsl_y,(__mpz_struct const *)(__e_acsl_22));
         __gmpz_clear(__e_acsl_22);
       }
       
@@ -1110,7 +1125,8 @@ int main(void)
           mpz_t __e_acsl_23;
           int __e_acsl_lt_3;
           __gmpz_init_set_si(__e_acsl_23,(long)5);
-          __e_acsl_lt_3 = __gmpz_cmp(__e_acsl_y,__e_acsl_23);
+          __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                                     (__mpz_struct const *)(__e_acsl_23));
           if (__e_acsl_lt_3 < 0) { ; }
           else { break; }
           __gmpz_clear(__e_acsl_23);
@@ -1119,14 +1135,15 @@ int main(void)
         {
           mpz_t __e_acsl_20;
           __gmpz_init_set_si(__e_acsl_20,(long)0);
-          __gmpz_set(__e_acsl_z,__e_acsl_20);
+          __gmpz_set(__e_acsl_z,(__mpz_struct const *)(__e_acsl_20));
           __gmpz_clear(__e_acsl_20);
         }
         
         while (1) {
           {
             int __e_acsl_le_4;
-            __e_acsl_le_4 = __gmpz_cmp(__e_acsl_z,__e_acsl_y);
+            __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_z),
+                                       (__mpz_struct const *)(__e_acsl_y));
             if (__e_acsl_le_4 <= 0) { ; } else { break; }
           }
           
@@ -1136,11 +1153,14 @@ int main(void)
             mpz_t __e_acsl_add_8;
             int __e_acsl_le_3;
             __gmpz_init(__e_acsl_add_7);
-            __gmpz_add(__e_acsl_add_7,__e_acsl_x_5,__e_acsl_z);
+            __gmpz_add(__e_acsl_add_7,(__mpz_struct const *)(__e_acsl_x_5),
+                       (__mpz_struct const *)(__e_acsl_z));
             __gmpz_init_set_si(__e_acsl_19,(long)1);
             __gmpz_init(__e_acsl_add_8);
-            __gmpz_add(__e_acsl_add_8,__e_acsl_y,__e_acsl_19);
-            __e_acsl_le_3 = __gmpz_cmp(__e_acsl_add_7,__e_acsl_add_8);
+            __gmpz_add(__e_acsl_add_8,(__mpz_struct const *)(__e_acsl_y),
+                       (__mpz_struct const *)(__e_acsl_19));
+            __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_7),
+                                       (__mpz_struct const *)(__e_acsl_add_8));
             __gmpz_clear(__e_acsl_add_7);
             __gmpz_clear(__e_acsl_19);
             __gmpz_clear(__e_acsl_add_8);
@@ -1155,8 +1175,9 @@ int main(void)
             mpz_t __e_acsl_add_9;
             __gmpz_init_set_si(__e_acsl_21,1L);
             __gmpz_init(__e_acsl_add_9);
-            __gmpz_add(__e_acsl_add_9,__e_acsl_z,__e_acsl_21);
-            __gmpz_set(__e_acsl_z,__e_acsl_add_9);
+            __gmpz_add(__e_acsl_add_9,(__mpz_struct const *)(__e_acsl_z),
+                       (__mpz_struct const *)(__e_acsl_21));
+            __gmpz_set(__e_acsl_z,(__mpz_struct const *)(__e_acsl_add_9));
             __gmpz_clear(__e_acsl_21);
             __gmpz_clear(__e_acsl_add_9);
           }
@@ -1167,8 +1188,9 @@ int main(void)
           mpz_t __e_acsl_add_10;
           __gmpz_init_set_si(__e_acsl_24,1L);
           __gmpz_init(__e_acsl_add_10);
-          __gmpz_add(__e_acsl_add_10,__e_acsl_y,__e_acsl_24);
-          __gmpz_set(__e_acsl_y,__e_acsl_add_10);
+          __gmpz_add(__e_acsl_add_10,(__mpz_struct const *)(__e_acsl_y),
+                     (__mpz_struct const *)(__e_acsl_24));
+          __gmpz_set(__e_acsl_y,(__mpz_struct const *)(__e_acsl_add_10));
           __gmpz_clear(__e_acsl_24);
           __gmpz_clear(__e_acsl_add_10);
         }
@@ -1179,8 +1201,9 @@ int main(void)
         mpz_t __e_acsl_add_11;
         __gmpz_init_set_si(__e_acsl_27,1L);
         __gmpz_init(__e_acsl_add_11);
-        __gmpz_add(__e_acsl_add_11,__e_acsl_x_5,__e_acsl_27);
-        __gmpz_set(__e_acsl_x_5,__e_acsl_add_11);
+        __gmpz_add(__e_acsl_add_11,(__mpz_struct const *)(__e_acsl_x_5),
+                   (__mpz_struct const *)(__e_acsl_27));
+        __gmpz_set(__e_acsl_x_5,(__mpz_struct const *)(__e_acsl_add_11));
         __gmpz_clear(__e_acsl_27);
         __gmpz_clear(__e_acsl_add_11);
       }
@@ -1204,7 +1227,7 @@ int main(void)
     {
       mpz_t __e_acsl_29;
       __gmpz_init_set_si(__e_acsl_29,(long)0);
-      __gmpz_set(__e_acsl_x_6,__e_acsl_29);
+      __gmpz_set(__e_acsl_x_6,(__mpz_struct const *)(__e_acsl_29));
       __gmpz_clear(__e_acsl_29);
     }
     
@@ -1213,7 +1236,8 @@ int main(void)
         mpz_t __e_acsl_30;
         int __e_acsl_lt_5;
         __gmpz_init_set_si(__e_acsl_30,(long)10);
-        __e_acsl_lt_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_30);
+        __e_acsl_lt_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                   (__mpz_struct const *)(__e_acsl_30));
         if (__e_acsl_lt_5 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_30);
@@ -1223,7 +1247,8 @@ int main(void)
         mpz_t __e_acsl_28;
         int __e_acsl_eq_5;
         __gmpz_init_set_si(__e_acsl_28,(long)5);
-        __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_28);
+        __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                   (__mpz_struct const *)(__e_acsl_28));
         __gmpz_clear(__e_acsl_28);
         if (! (__e_acsl_eq_5 == 0)) { ; }
         else {
@@ -1236,8 +1261,9 @@ int main(void)
         mpz_t __e_acsl_add_12;
         __gmpz_init_set_si(__e_acsl_31,1L);
         __gmpz_init(__e_acsl_add_12);
-        __gmpz_add(__e_acsl_add_12,__e_acsl_x_6,__e_acsl_31);
-        __gmpz_set(__e_acsl_x_6,__e_acsl_add_12);
+        __gmpz_add(__e_acsl_add_12,(__mpz_struct const *)(__e_acsl_x_6),
+                   (__mpz_struct const *)(__e_acsl_31));
+        __gmpz_set(__e_acsl_x_6,(__mpz_struct const *)(__e_acsl_add_12));
         __gmpz_clear(__e_acsl_31);
         __gmpz_clear(__e_acsl_add_12);
       }
@@ -1261,7 +1287,7 @@ int main(void)
     {
       mpz_t __e_acsl_39;
       __gmpz_init_set_si(__e_acsl_39,(long)0);
-      __gmpz_set(__e_acsl_x_7,__e_acsl_39);
+      __gmpz_set(__e_acsl_x_7,(__mpz_struct const *)(__e_acsl_39));
       __gmpz_clear(__e_acsl_39);
     }
     
@@ -1270,7 +1296,8 @@ int main(void)
         mpz_t __e_acsl_40;
         int __e_acsl_lt_6;
         __gmpz_init_set_si(__e_acsl_40,(long)10);
-        __e_acsl_lt_6 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_40);
+        __e_acsl_lt_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                   (__mpz_struct const *)(__e_acsl_40));
         if (__e_acsl_lt_6 < 0) { ; }
         else { break; }
         __gmpz_clear(__e_acsl_40);
@@ -1285,13 +1312,16 @@ int main(void)
         int __e_acsl_implies;
         __gmpz_init_set_si(__e_acsl_32,(long)2);
         __gmpz_init_set_si(__e_acsl_33,0L);
-        __e_acsl_mod_guard = __gmpz_cmp(__e_acsl_32,__e_acsl_33);
+        __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_32),
+                                        (__mpz_struct const *)(__e_acsl_33));
         __gmpz_init(__e_acsl_mod);
         /*@ assert E_ACSL: 2 ≢ 0; */
         e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
                       (char *)"2 == 0",28);
-        __gmpz_tdiv_r(__e_acsl_mod,__e_acsl_x_7,__e_acsl_32);
-        __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_mod,__e_acsl_33);
+        __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_x_7),
+                      (__mpz_struct const *)(__e_acsl_32));
+        __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
+                                   (__mpz_struct const *)(__e_acsl_33));
         if (! (__e_acsl_eq_6 == 0)) { __e_acsl_implies = 1; }
         else {
           int __e_acsl_exists_2;
@@ -1301,7 +1331,7 @@ int main(void)
           {
             mpz_t __e_acsl_35;
             __gmpz_init_set_si(__e_acsl_35,(long)0);
-            __gmpz_set(__e_acsl_y_2,__e_acsl_35);
+            __gmpz_set(__e_acsl_y_2,(__mpz_struct const *)(__e_acsl_35));
             __gmpz_clear(__e_acsl_35);
           }
           
@@ -1314,13 +1344,17 @@ int main(void)
               int __e_acsl_le_5;
               __gmpz_init_set_si(__e_acsl_36,(long)2);
               __gmpz_init_set_si(__e_acsl_37,0L);
-              __e_acsl_div_guard = __gmpz_cmp(__e_acsl_36,__e_acsl_37);
+              __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_36),
+                                              (__mpz_struct const *)(__e_acsl_37));
               __gmpz_init(__e_acsl_div);
               /*@ assert E_ACSL: 2 ≢ 0; */
               e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
                             (char *)"2 == 0",28);
-              __gmpz_tdiv_q(__e_acsl_div,__e_acsl_x_7,__e_acsl_36);
-              __e_acsl_le_5 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_div);
+              __gmpz_tdiv_q(__e_acsl_div,
+                            (__mpz_struct const *)(__e_acsl_x_7),
+                            (__mpz_struct const *)(__e_acsl_36));
+              __e_acsl_le_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                                         (__mpz_struct const *)(__e_acsl_div));
               if (__e_acsl_le_5 <= 0) { ; }
               else { break; }
               __gmpz_clear(__e_acsl_36);
@@ -1334,8 +1368,10 @@ int main(void)
               int __e_acsl_eq_7;
               __gmpz_init_set_si(__e_acsl_34,(long)2);
               __gmpz_init(__e_acsl_mul);
-              __gmpz_mul(__e_acsl_mul,__e_acsl_34,__e_acsl_y_2);
-              __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_mul);
+              __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_34),
+                         (__mpz_struct const *)(__e_acsl_y_2));
+              __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                         (__mpz_struct const *)(__e_acsl_mul));
               __gmpz_clear(__e_acsl_34);
               __gmpz_clear(__e_acsl_mul);
               if (! (__e_acsl_eq_7 == 0)) { ; }
@@ -1349,8 +1385,11 @@ int main(void)
               mpz_t __e_acsl_add_13;
               __gmpz_init_set_si(__e_acsl_38,1L);
               __gmpz_init(__e_acsl_add_13);
-              __gmpz_add(__e_acsl_add_13,__e_acsl_y_2,__e_acsl_38);
-              __gmpz_set(__e_acsl_y_2,__e_acsl_add_13);
+              __gmpz_add(__e_acsl_add_13,
+                         (__mpz_struct const *)(__e_acsl_y_2),
+                         (__mpz_struct const *)(__e_acsl_38));
+              __gmpz_set(__e_acsl_y_2,
+                         (__mpz_struct const *)(__e_acsl_add_13));
               __gmpz_clear(__e_acsl_38);
               __gmpz_clear(__e_acsl_add_13);
             }
@@ -1374,8 +1413,9 @@ int main(void)
         mpz_t __e_acsl_add_14;
         __gmpz_init_set_si(__e_acsl_41,1L);
         __gmpz_init(__e_acsl_add_14);
-        __gmpz_add(__e_acsl_add_14,__e_acsl_x_7,__e_acsl_41);
-        __gmpz_set(__e_acsl_x_7,__e_acsl_add_14);
+        __gmpz_add(__e_acsl_add_14,(__mpz_struct const *)(__e_acsl_x_7),
+                   (__mpz_struct const *)(__e_acsl_41));
+        __gmpz_set(__e_acsl_x_7,(__mpz_struct const *)(__e_acsl_add_14));
         __gmpz_clear(__e_acsl_41);
         __gmpz_clear(__e_acsl_add_14);
       }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
index 3ab727481d4f406eba72ae2ed36e2ab87ccb163a..d9c901feca5dcf90fcee4f2a5283716a59367905 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
@@ -267,10 +267,12 @@ int f(int x)
     __gmpz_init_set_si(__e_acsl_result,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at);
     __gmpz_init(__e_acsl_sub);
-    __gmpz_sub(__e_acsl_sub,__e_acsl,__e_acsl);
-    __e_acsl_2 = __gmpz_get_ui(__e_acsl_sub);
+    __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl),
+               (__mpz_struct const *)(__e_acsl));
+    __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_sub));
     __gmpz_init_set_si(__e_acsl_cast,(long)((int)__e_acsl_2));
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl_cast);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl_cast));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == (int)(\\old(x)-\\old(x))",7);
     __gmpz_clear(__e_acsl_result);
@@ -292,7 +294,8 @@ int g(int x)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_result,(long)x);
     __gmpz_init_set_si(__e_acsl_Y,(long)Y);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl_Y);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl_Y));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == Y",18);
     __gmpz_clear(__e_acsl_result);
@@ -313,7 +316,8 @@ int h(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_result,(long)__retres);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_result,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
                   (char *)"\\result == 0",23);
     __gmpz_clear(__e_acsl_result);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
index 6babd090f3ec13c37b0dfbf6b9e13346745ecb0e..5eb1f0882c324b6319510cd8b66931002b2b8cde 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
@@ -156,7 +156,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl_sizeof,4L);
     __gmpz_init_set_si(__e_acsl_sizeof_2,4L);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_sizeof,__e_acsl_sizeof_2);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_sizeof),
+                             (__mpz_struct const *)(__e_acsl_sizeof_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",
                   (char *)"sizeof(int) == sizeof(x)",10);
     __gmpz_clear(__e_acsl_sizeof);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
index 18a679d4a588e9f4ed36ab561a9682c811e400e6..52099342862324494f5fa0095c17eb89b05bd67e 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
@@ -585,7 +585,8 @@ int main(void)
     x = 1;
     __gmpz_init_set_si(__e_acsl_x,(long)x);
     __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"x == 1",
                   9);
     __gmpz_clear(__e_acsl_x);
@@ -603,11 +604,13 @@ int main(void)
     x = 2;
     __gmpz_init_set_si(__e_acsl_x_2,(long)x);
     __gmpz_init_set_si(__e_acsl_2,(long)2);
-    __e_acsl_eq_2 = __gmpz_cmp(__e_acsl_x_2,__e_acsl_2);
+    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",
                   (char *)"x == 2",12);
     __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __e_acsl_eq_3 = __gmpz_cmp(__e_acsl_y,__e_acsl_2);
+    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y),
+                               (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
                   (char *)"y == 2",13);
     __gmpz_clear(__e_acsl_x_2);
@@ -622,7 +625,8 @@ int main(void)
     int __e_acsl_eq_4;
     __gmpz_init_set_si(__e_acsl_x_3,(long)x);
     __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __e_acsl_eq_4 = __gmpz_cmp(__e_acsl_x_3,__e_acsl_3);
+    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3),
+                               (__mpz_struct const *)(__e_acsl_3));
     e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",(char *)"x == 2",
                   16);
     __gmpz_clear(__e_acsl_x_3);
@@ -641,12 +645,14 @@ int main(void)
     int __e_acsl_eq_6;
     __gmpz_init_set_si(__e_acsl_x_4,(long)x);
     __gmpz_init_set_si(__e_acsl_4,(long)3);
-    __e_acsl_eq_5 = __gmpz_cmp(__e_acsl_x_4,__e_acsl_4);
+    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4),
+                               (__mpz_struct const *)(__e_acsl_4));
     e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Precondition",(char *)"x == 3",
                   19);
     __gmpz_init_set_si(__e_acsl_y_2,(long)y);
     __gmpz_init_set_si(__e_acsl_5,(long)2);
-    __e_acsl_eq_6 = __gmpz_cmp(__e_acsl_y_2,__e_acsl_5);
+    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2),
+                               (__mpz_struct const *)(__e_acsl_5));
     e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Precondition",(char *)"y == 2",
                   20);
     __gmpz_clear(__e_acsl_x_4);
@@ -686,18 +692,22 @@ int main(void)
       int __e_acsl_eq_9;
       __gmpz_init_set_si(__e_acsl_x_5,(long)x);
       __gmpz_init_set_si(__e_acsl_6,(long)5);
-      __e_acsl_eq_7 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_6);
+      __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                 (__mpz_struct const *)(__e_acsl_6));
       e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Precondition",
                     (char *)"x == 5",24);
       __gmpz_init_set_si(__e_acsl_7,(long)3);
       __gmpz_init_set_si(__e_acsl_y_3,(long)y);
       __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,__e_acsl_7,__e_acsl_y_3);
-      __e_acsl_eq_8 = __gmpz_cmp(__e_acsl_x_5,__e_acsl_add);
+      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_7),
+                 (__mpz_struct const *)(__e_acsl_y_3));
+      __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5),
+                                 (__mpz_struct const *)(__e_acsl_add));
       e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Precondition",
                     (char *)"x == 3+y",27);
       __gmpz_init_set_si(__e_acsl_8,(long)2);
-      __e_acsl_eq_9 = __gmpz_cmp(__e_acsl_y_3,__e_acsl_8);
+      __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_3),
+                                 (__mpz_struct const *)(__e_acsl_8));
       e_acsl_assert(__e_acsl_eq_9 == 0,(char *)"Precondition",
                     (char *)"y == 2",28);
       __gmpz_clear(__e_acsl_x_5);
@@ -711,14 +721,17 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_6,(long)x);
     __gmpz_init_set_si(__e_acsl_9,(long)3);
-    __e_acsl_eq_10 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_9);
+    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_9));
     e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Postcondition",
                   (char *)"x == 3",25);
     __gmpz_init_set_si(__e_acsl_y_4,(long)y);
     __gmpz_init_set_si(__e_acsl_10,(long)1);
     __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,__e_acsl_y_4,__e_acsl_10);
-    __e_acsl_eq_11 = __gmpz_cmp(__e_acsl_x_6,__e_acsl_add_2);
+    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_y_4),
+               (__mpz_struct const *)(__e_acsl_10));
+    __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6),
+                                (__mpz_struct const *)(__e_acsl_add_2));
     e_acsl_assert(__e_acsl_eq_11 == 0,(char *)"Postcondition",
                   (char *)"x == y+1",29);
     __gmpz_clear(__e_acsl_x_6);
@@ -753,7 +766,8 @@ int main(void)
     int __e_acsl_implies_3;
     __gmpz_init_set_si(__e_acsl_x_7,(long)x);
     __gmpz_init_set_si(__e_acsl_11,(long)1);
-    __e_acsl_eq_12 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_11);
+    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_11));
     if (! (__e_acsl_eq_12 == 0)) { __e_acsl_implies = 1; }
     else {
       mpz_t __e_acsl_x_8;
@@ -761,7 +775,8 @@ int main(void)
       int __e_acsl_eq_13;
       __gmpz_init_set_si(__e_acsl_x_8,(long)x);
       __gmpz_init_set_si(__e_acsl_12,(long)0);
-      __e_acsl_eq_13 = __gmpz_cmp(__e_acsl_x_8,__e_acsl_12);
+      __e_acsl_eq_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_8),
+                                  (__mpz_struct const *)(__e_acsl_12));
       __e_acsl_implies = __e_acsl_eq_13 == 0;
       __gmpz_clear(__e_acsl_x_8);
       __gmpz_clear(__e_acsl_12);
@@ -769,14 +784,16 @@ int main(void)
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",
                   (char *)"x == 1 ==>\nx == 0",34);
     __gmpz_init_set_si(__e_acsl_13,(long)3);
-    __e_acsl_eq_14 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_13);
+    __e_acsl_eq_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (__e_acsl_eq_14 == 0) {
       mpz_t __e_acsl_y_5;
       mpz_t __e_acsl_14;
       int __e_acsl_eq_15;
       __gmpz_init_set_si(__e_acsl_y_5,(long)y);
       __gmpz_init_set_si(__e_acsl_14,(long)2);
-      __e_acsl_eq_15 = __gmpz_cmp(__e_acsl_y_5,__e_acsl_14);
+      __e_acsl_eq_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_5),
+                                  (__mpz_struct const *)(__e_acsl_14));
       __e_acsl_and = __e_acsl_eq_15 == 0;
       __gmpz_clear(__e_acsl_y_5);
       __gmpz_clear(__e_acsl_14);
@@ -789,21 +806,24 @@ int main(void)
       int __e_acsl_eq_16;
       __gmpz_init_set_si(__e_acsl_x_9,(long)x);
       __gmpz_init_set_si(__e_acsl_15,(long)3);
-      __e_acsl_eq_16 = __gmpz_cmp(__e_acsl_x_9,__e_acsl_15);
+      __e_acsl_eq_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_9),
+                                  (__mpz_struct const *)(__e_acsl_15));
       __e_acsl_implies_2 = __e_acsl_eq_16 == 0;
       __gmpz_clear(__e_acsl_x_9);
       __gmpz_clear(__e_acsl_15);
     }
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",
                   (char *)"x == 3 && y == 2 ==>\nx == 3",38);
-    __e_acsl_eq_17 = __gmpz_cmp(__e_acsl_x_7,__e_acsl_13);
+    __e_acsl_eq_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7),
+                                (__mpz_struct const *)(__e_acsl_13));
     if (__e_acsl_eq_17 == 0) {
       mpz_t __e_acsl_y_6;
       mpz_t __e_acsl_16;
       int __e_acsl_eq_18;
       __gmpz_init_set_si(__e_acsl_y_6,(long)y);
       __gmpz_init_set_si(__e_acsl_16,(long)2);
-      __e_acsl_eq_18 = __gmpz_cmp(__e_acsl_y_6,__e_acsl_16);
+      __e_acsl_eq_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_6),
+                                  (__mpz_struct const *)(__e_acsl_16));
       __e_acsl_and_2 = __e_acsl_eq_18 == 0;
       __gmpz_clear(__e_acsl_y_6);
       __gmpz_clear(__e_acsl_16);
@@ -819,9 +839,11 @@ int main(void)
       __gmpz_init_set_si(__e_acsl_x_10,(long)x);
       __gmpz_init_set_si(__e_acsl_y_7,(long)y);
       __gmpz_init(__e_acsl_add_3);
-      __gmpz_add(__e_acsl_add_3,__e_acsl_x_10,__e_acsl_y_7);
+      __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_x_10),
+                 (__mpz_struct const *)(__e_acsl_y_7));
       __gmpz_init_set_si(__e_acsl_17,(long)5);
-      __e_acsl_eq_19 = __gmpz_cmp(__e_acsl_add_3,__e_acsl_17);
+      __e_acsl_eq_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_add_3),
+                                  (__mpz_struct const *)(__e_acsl_17));
       __e_acsl_implies_3 = __e_acsl_eq_19 == 0;
       __gmpz_clear(__e_acsl_x_10);
       __gmpz_clear(__e_acsl_y_7);
@@ -843,7 +865,8 @@ int main(void)
     int __e_acsl_eq_20;
     __gmpz_init_set_si(__e_acsl_x_11,(long)x);
     __gmpz_init_set_si(__e_acsl_18,(long)5);
-    __e_acsl_eq_20 = __gmpz_cmp(__e_acsl_x_11,__e_acsl_18);
+    __e_acsl_eq_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_11),
+                                (__mpz_struct const *)(__e_acsl_18));
     e_acsl_assert(__e_acsl_eq_20 == 0,(char *)"Precondition",
                   (char *)"x == 5",42);
     __gmpz_clear(__e_acsl_x_11);
@@ -855,7 +878,8 @@ int main(void)
       int __e_acsl_eq_21;
       __gmpz_init_set_si(__e_acsl_y_8,(long)y);
       __gmpz_init_set_si(__e_acsl_19,(long)2);
-      __e_acsl_eq_21 = __gmpz_cmp(__e_acsl_y_8,__e_acsl_19);
+      __e_acsl_eq_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_8),
+                                  (__mpz_struct const *)(__e_acsl_19));
       e_acsl_assert(__e_acsl_eq_21 == 0,(char *)"Precondition",
                     (char *)"y == 2",43);
       __gmpz_clear(__e_acsl_y_8);
@@ -876,7 +900,8 @@ int main(void)
       int __e_acsl_eq_22;
       __gmpz_init_set_si(__e_acsl_x_12,(long)x);
       __gmpz_init_set_si(__e_acsl_20,(long)7);
-      __e_acsl_eq_22 = __gmpz_cmp(__e_acsl_x_12,__e_acsl_20);
+      __e_acsl_eq_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_12),
+                                  (__mpz_struct const *)(__e_acsl_20));
       e_acsl_assert(__e_acsl_eq_22 == 0,(char *)"Precondition",
                     (char *)"x == 7",46);
       __gmpz_clear(__e_acsl_x_12);
@@ -886,7 +911,8 @@ int main(void)
     
     __gmpz_init_set_si(__e_acsl_x_13,(long)x);
     __gmpz_init_set_si(__e_acsl_21,(long)7);
-    __e_acsl_eq_23 = __gmpz_cmp(__e_acsl_x_13,__e_acsl_21);
+    __e_acsl_eq_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_13),
+                                (__mpz_struct const *)(__e_acsl_21));
     e_acsl_assert(__e_acsl_eq_23 == 0,(char *)"Postcondition",
                   (char *)"x == 7",47);
     __gmpz_clear(__e_acsl_x_13);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
index 0c99357c450576d4cc36896c262fb44e4507e33e..66f27e479e67ae172b1d030acae2454cf1382f53 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
@@ -172,7 +172,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_ui(__e_acsl_x,(unsigned long)x);
     __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl_x,__e_acsl);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"x == 0",11);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.res.oracle
index 324ea70577aee6d41398efbe74459cf3a82b884b..385a205d0e62a9b5d7c6d2c40926da37a10aec7a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.res.oracle
@@ -67,9 +67,10 @@ tests/e-acsl-runtime/valid_alias.c:12:[value] Non-termination in evaluation of f
 [value] computing for function _full_init <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:13.
 [value] Done for function _full_init
-[value] computing for function _full_init <- main.
+[value] computing for function _initialize <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:14.
-[value] Done for function _full_init
+[value] using specification for function _initialize
+[value] Done for function _initialize
 [value] computing for function _full_init <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:15.
 [value] Done for function _full_init
@@ -282,6 +283,9 @@ extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
 /*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) int _valid(void *ptr, size_t size);
@@ -339,7 +343,7 @@ int main(void)
   
   _full_init((void *)(& a));
   a = (int *)_malloc(sizeof(int));
-  _full_init((void *)a);
+  _initialize((void *)a,sizeof(int));
   *a = n;
   _full_init((void *)(& b));
   b = a;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
index f9000d942eefa5e18fbf6c3ad9dfe3468fe32cac..de38f7f5a09f14e7a66b0b4e920cdbd0d510de15 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
@@ -67,9 +67,10 @@ tests/e-acsl-runtime/valid_alias.c:12:[value] Non-termination in evaluation of f
 [value] computing for function _full_init <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:13.
 [value] Done for function _full_init
-[value] computing for function _full_init <- main.
+[value] computing for function _initialize <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:14.
-[value] Done for function _full_init
+[value] using specification for function _initialize
+[value] Done for function _initialize
 [value] computing for function _full_init <- main.
         Called from tests/e-acsl-runtime/valid_alias.c:15.
 [value] Done for function _full_init
@@ -326,6 +327,9 @@ extern  __attribute__((__FC_BUILTIN__)) void *_store_block(void *ptr,
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _delete_block(void *ptr);
 /*@ assigns \nothing;  */
+extern  __attribute__((__FC_BUILTIN__)) void _initialize(void *ptr,
+                                                         size_t size);
+/*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) void _full_init(void *ptr);
 /*@ assigns \nothing;  */
 extern  __attribute__((__FC_BUILTIN__)) int _valid(void *ptr, size_t size);
@@ -383,7 +387,7 @@ int main(void)
   
   _full_init((void *)(& a));
   a = (int *)_malloc(sizeof(int));
-  _full_init((void *)a);
+  _initialize((void *)a,sizeof(int));
   *a = n;
   _full_init((void *)(& b));
   b = a;
@@ -423,7 +427,8 @@ int main(void)
     int __e_acsl_eq;
     __gmpz_init_set_si(__e_acsl,(long)*b);
     __gmpz_init_set_si(__e_acsl_n,(long)n);
-    __e_acsl_eq = __gmpz_cmp(__e_acsl,__e_acsl_n);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_n));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"*b == n",17);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_n);