From 1565534fd9a0a25002022d686884d2b72f4e9a2f Mon Sep 17 00:00:00 2001
From: Julien Signoles <julien.signoles@cea.fr>
Date: Thu, 15 Nov 2012 12:52:04 +0000
Subject: [PATCH] [E-ACSL] fully fixed bug #1304 [E-ACSL] fixed bug with array
 as argument of functions

---
 src/plugins/e-acsl/misc.ml                    |  11 +-
 src/plugins/e-acsl/pre_analysis.ml            |  51 +++-
 .../e-acsl/tests/e-acsl-runtime/bts1304.i     |  27 ++
 .../e-acsl-runtime/oracle/arith.1.res.oracle  | 177 +++++++-----
 .../e-acsl-runtime/oracle/array.res.oracle    |   6 +-
 .../e-acsl-runtime/oracle/at.1.res.oracle     |  41 ++-
 .../oracle/bts1304.1.err.oracle               |   0
 .../oracle/bts1304.1.res.oracle               | 257 ++++++++++++++++++
 .../e-acsl-runtime/oracle/bts1304.err.oracle  |   0
 .../e-acsl-runtime/oracle/bts1304.res.oracle  | 257 ++++++++++++++++++
 .../e-acsl-runtime/oracle/cast.1.res.oracle   |  22 +-
 .../oracle/comparison.1.res.oracle            |  60 ++--
 .../oracle/function_contract.1.res.oracle     | 117 +++++---
 .../tests/e-acsl-runtime/oracle/gen_arith2.c  | 177 +++++++-----
 .../tests/e-acsl-runtime/oracle/gen_array2.c  |   6 +-
 .../tests/e-acsl-runtime/oracle/gen_at2.c     |  41 ++-
 .../tests/e-acsl-runtime/oracle/gen_bts1304.c | 125 +++++++++
 .../e-acsl-runtime/oracle/gen_bts13042.c      | 125 +++++++++
 .../tests/e-acsl-runtime/oracle/gen_cast2.c   |  22 +-
 .../e-acsl-runtime/oracle/gen_comparison2.c   |  60 ++--
 .../oracle/gen_function_contract2.c           | 117 +++++---
 .../oracle/gen_global_literal_string2.c       |   6 +-
 .../oracle/gen_integer_constant.c             |   3 +-
 .../oracle/gen_integer_constant2.c            |  12 +-
 .../e-acsl-runtime/oracle/gen_invariant2.c    |   9 +-
 .../e-acsl-runtime/oracle/gen_labeled_stmt2.c |  12 +-
 .../tests/e-acsl-runtime/oracle/gen_lazy2.c   | 167 ++++++++----
 .../oracle/gen_linear_search2.c               |  62 +++--
 .../oracle/gen_nested_code_annot2.c           |  21 +-
 .../tests/e-acsl-runtime/oracle/gen_not2.c    |   6 +-
 .../oracle/gen_other_constants2.c             |   6 +-
 .../tests/e-acsl-runtime/oracle/gen_ptr2.c    |  49 ++--
 .../e-acsl-runtime/oracle/gen_quantif2.c      | 154 +++++++----
 .../tests/e-acsl-runtime/oracle/gen_result2.c |  14 +-
 .../tests/e-acsl-runtime/oracle/gen_sizeof2.c |   3 +-
 .../oracle/gen_stmt_contract2.c               |  78 ++++--
 .../e-acsl-runtime/oracle/gen_typedef2.c      |   3 +-
 .../e-acsl-runtime/oracle/gen_valid_alias.c   |   5 +-
 .../e-acsl-runtime/oracle/gen_valid_alias2.c  |   8 +-
 .../oracle/global_literal_string.1.res.oracle |   6 +-
 .../oracle/integer_constant.1.res.oracle      |  12 +-
 .../oracle/integer_constant.res.oracle        |   3 +-
 .../oracle/invariant.1.res.oracle             |   9 +-
 .../oracle/labeled_stmt.1.res.oracle          |  12 +-
 .../e-acsl-runtime/oracle/lazy.1.res.oracle   | 167 ++++++++----
 .../oracle/linear_search.1.res.oracle         |  62 +++--
 .../oracle/nested_code_annot.1.res.oracle     |  21 +-
 .../e-acsl-runtime/oracle/not.1.res.oracle    |   6 +-
 .../oracle/other_constants.1.res.oracle       |   6 +-
 .../e-acsl-runtime/oracle/ptr.1.res.oracle    |  49 ++--
 .../oracle/quantif.1.res.oracle               | 154 +++++++----
 .../e-acsl-runtime/oracle/result.1.res.oracle |  14 +-
 .../e-acsl-runtime/oracle/sizeof.1.res.oracle |   3 +-
 .../oracle/stmt_contract.1.res.oracle         |  78 ++++--
 .../oracle/typedef.1.res.oracle               |   3 +-
 .../oracle/valid_alias.1.res.oracle           |  10 +-
 .../oracle/valid_alias.res.oracle             |  13 +-
 57 files changed, 2194 insertions(+), 751 deletions(-)
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/bts1304.i
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.err.oracle
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.1.res.oracle
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.err.oracle
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/bts1304.res.oracle
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts1304.c
 create mode 100644 src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13042.c

diff --git a/src/plugins/e-acsl/misc.ml b/src/plugins/e-acsl/misc.ml
index f42c4f16be3..3a75ca7e4dd 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 da66aa3e1db..64c294cd0b7 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 00000000000..65c785fa8e4
--- /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 98981d43996..435bd490cf6 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 d363bc7755d..ba75ff31ff5 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 81f8b6b3efc..53fdee5812e 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 00000000000..e69de29bb2d
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 00000000000..3d13dadda8f
--- /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 00000000000..e69de29bb2d
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 00000000000..3d13dadda8f
--- /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 149cbab6a6b..3c089328bf1 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 a59ff7f4485..954e89c6684 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 b5a897cdf35..8d0ae64a3a1 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 8c89b74fb9a..e8f8bfeaf34 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 de887ade135..8d4f7c19246 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 a1e5a5e0455..28cceb3167e 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 00000000000..2316b0599a1
--- /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 00000000000..2316b0599a1
--- /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 8a05b7717bf..dda2e24c153 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 1ee36f66dc6..1e742098141 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 945a7747ca7..d7c7a14f371 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 7ff4ce83855..51e1e65ffdc 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 c5557fdfe07..63ec734eab0 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 8800993ab12..903c77ad57c 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 6c9bef40cc2..a202ee37bf0 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 d37605c889b..56d97c82954 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 2d6d32019f9..edf976ab916 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 ac650e60210..74938e7d3a2 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 842587fb24d..134fda2f5c1 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 09658c327d8..7cc57dc3d79 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 33a98374a01..8a1f66a2269 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 c755973a957..9e7f3753489 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 c57650a349f..75dd28c2944 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 725886d384b..e0559483cf1 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 303c5d0a76a..ee470d936bb 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 6cdb8305793..cd84872b88a 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 65da6653e8c..eb01f870fd2 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 f8b992a7ed2..3176ce21633 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 8f55f49085b..7f94c1e0039 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 4ca027af7e5..0e2046b4720 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 761045be98f..eccb9db9101 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 c6bb1b16cd2..4a6883759b5 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 f61f31d4d70..177a3da6c0d 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 93813f0f417..1bc3de046fc 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 4123fe7b755..f6633ac8802 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 3bae560f91a..a429245d9d8 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 43767462384..910301a560f 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 76b3ae5fcf9..8d2acc3669b 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 bcfa243c4a7..0f5d9819a74 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 091165c6600..6cc1d6730c3 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 e83af0b7e71..4698d9c3212 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 3ab727481d4..d9c901feca5 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 6babd090f3e..5eb1f0882c3 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 18a679d4a58..52099342862 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 0c99357c450..66f27e479e6 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 324ea70577a..385a205d0e6 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 f9000d942ee..de38f7f5a09 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);
-- 
GitLab