diff --git a/src/plugins/e-acsl/.gitignore b/src/plugins/e-acsl/.gitignore
index a809723544cb217f2bc4fd052dbbed7cedbcc3f0..bad643ee748bf785913cab05f7d3d15c39f12fb5 100644
--- a/src/plugins/e-acsl/.gitignore
+++ b/src/plugins/e-acsl/.gitignore
@@ -58,7 +58,10 @@
 /tests/e-acsl-runtime/result/gen_*.c
 /tests/e-acsl-runtime/result/gen_*.out
 /tests/e-acsl-reject/result/*.log
+/tests/no-main/result/*.log
 /tests/bts/result/*
+/tests/gmp/result/*.log
+/tests/gmp/result/gen*.c
 /tests/check/obj/*
 .frama-c
 tests/ptests_config
diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in
index caaa38f54dbeb723e69a75ba35159a8ad3cf6f9e..5ceeea83915d8b76b3d461735653e145aa471fc6 100644
--- a/src/plugins/e-acsl/Makefile.in
+++ b/src/plugins/e-acsl/Makefile.in
@@ -113,11 +113,23 @@ $(PLUGIN_DIR)/local_config.ml: $(PLUGIN_DIR)/Makefile.in VERSION
 
 ifeq (@MAY_RUN_TESTS@,yes)
 
-PLUGIN_TESTS_DIRS:=e-acsl-reject e-acsl-runtime bts
-E_ACSL_TESTS: $(PLUGIN_DIR)/tests/test_config
+$(PLUGIN_DIR)/tests/print.cmxs: OFLAGS=-I $(FRAMAC_LIBDIR)
+$(PLUGIN_DIR)/tests/print.cmo: BFLAGS=-I $(FRAMAC_LIBDIR)
 
+PLUGIN_TESTS_DIRS:=e-acsl-reject e-acsl-runtime bts gmp no-main
+E_ACSL_TESTS: $(PLUGIN_DIR)/tests/test_config \
+	$(PLUGIN_DIR)/tests/print.cmxs \
+	$(PLUGIN_DIR)/tests/print.cmo
 endif
 
+############
+# Cleaning #
+############
+
+clean::
+	$(PRINT_RM) generated test files
+	$(RM) $(PLUGIN_DIR)/tests/*.cm*
+
 ###########
 # Install #
 ###########
diff --git a/src/plugins/e-acsl/main.ml b/src/plugins/e-acsl/main.ml
index 848421307c988652f711023786679a8134e6c570..487144fd7715ea21aa62715904d3799a4eacd8de 100644
--- a/src/plugins/e-acsl/main.ml
+++ b/src/plugins/e-acsl/main.ml
@@ -152,7 +152,7 @@ let generate_code =
 	    Project.on
 	      dup_prj
 	      (fun () ->
-               Mpz.init_t ();
+                Mpz.init_t ();
                 Mmodel_analysis.reset ();
 		let visit prj = Visit.do_visit ~prj true in
 		let prj = File.create_project_from_visitor name visit in
@@ -165,6 +165,9 @@ let generate_code =
 		  ~project:prj
 		  ();
 		Resulting_projects.mark_as_computed ();
+                Project.copy
+                  ~selection:(State_selection.singleton Kernel.Files.self)
+                  prj;
 		prj)
 	      ()
 	  in
diff --git a/src/plugins/e-acsl/scripts/testrun.sh b/src/plugins/e-acsl/scripts/testrun.sh
index e1c90d1c22ee87153b9bab1ed28120960857b66c..62d9166d30682d7906b352acd170021ad7c4ee00 100755
--- a/src/plugins/e-acsl/scripts/testrun.sh
+++ b/src/plugins/e-acsl/scripts/testrun.sh
@@ -38,14 +38,16 @@
 #     $ROOT/test/e-acsl-runtime/addrOf.c
 #   $3 - if specified this script re-runs test sequence generating using
 #       -e-acsl-gmp-only option
-#   $4 - debug flag
+#   $4 - extra flags for e-acsl-gcc.sh
+#   $5 - debug flag
 
 set -e
 
 TEST="$1" # Based name of the test file with extension stripped
 PREFIX="$2" # Prefix (test suite) directory, e.g., bts, e-acsl-runtime
 GMP="$3" # Whether to use a subsequent run with -e-acsl-gmp-only
-DEBUG="$4" # Debug flag
+EXTRA="$4" # Extra flags for e-acsl-gcc.sh
+DEBUG="$5" # Debug flag
 
 ROOTDIR="`readlink -f $(dirname $0)/../`" # Root directory of the repository
 TESTDIR="$ROOTDIR/tests/$PREFIX"
@@ -57,10 +59,16 @@ LOG="$RESDIR/$TEST.testrun" # Base name for log files
 OUT="$RESDIR/gen_$TEST"     # Base name for output
 RUNS=1
 
+debug() {
+  if [ -n "$DEBUG" ]; then
+    echo "$1" 1>&2
+  fi
+}
+
 # Error reporting
 error() {
   echo "Error: $1" 1>&2
-  echo "See $2 for details" 1>&2
+  debug "See $2 for details"
   exit 1
 }
 
@@ -85,15 +93,18 @@ run_test() {
 
   # Command for instrumenting the source file and compiling the original
   # and the instrumented code
-  EACSL_GCC="e-acsl-gcc.sh
+  EACSL_GCC="./scripts/e-acsl-gcc.sh
     --compile $TESTFILE --ocode=$ocode --logfile=$logfile
     --memory-model=$MODEL --oexec=$oexec $extra"
 
+  debug "Run $EACSL_GCC"
   $EACSL_GCC || error "Command $EACSL_GCC failed" "$logfile"
 
   # Log outputs of the generated executables
-  $oexec         2>&1 > $oexeclog.native
-  $oexec.e-acsl  2>&1 > $oexeclog.e-acsl
+  debug "Run and log native execution to $oexeclog.native"
+  $oexec        2>&1 > $oexeclog.native || true
+  debug "Run and log E-ACSL execution to $oexeclog.e-acsl"
+  $oexec.e-acsl 2>&1 > $oexeclog.e-acsl || true
 
   ## Make sure that instrumented and uninstrumented programs have same outputs
   diff $oexeclog.native $oexeclog.e-acsl ||
@@ -103,8 +114,8 @@ run_test() {
   RUNS=$((RUNS+1))
 }
 
-run_test
+run_test "$EXTRA"
 if test -n "$GMP"; then
-  run_test "--gmp"
+  run_test "--gmp $EXTRA"
 fi
 exit 0
diff --git a/src/plugins/e-acsl/tests/bts/bts1304.i b/src/plugins/e-acsl/tests/bts/bts1304.i
index a32a26d4b84c6348d0f3edcfb9eb2926e96ba97e..d133368666af220af85ad3152209a9ace9aa2470 100644
--- a/src/plugins/e-acsl/tests/bts/bts1304.i
+++ b/src/plugins/e-acsl/tests/bts/bts1304.i
@@ -1,7 +1,5 @@
 /* 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/bts/bts1304.i -constfold -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1304.c > /dev/null && ./gcc_bts.sh bts1304
-   EXECNOW: LOG gen_bts13042.c BIN gen_bts13042.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1304.i -constfold -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13042.c > /dev/null && ./gcc_bts.sh bts13042
 */
 
 struct msgA { int type; int a[2]; };
diff --git a/src/plugins/e-acsl/tests/bts/bts1307.i b/src/plugins/e-acsl/tests/bts/bts1307.i
index 2e3cabdd70b0874b3c368204b85ea05edd0694ae..e4d5b2dfb356fbea042a35a0a924cac50cc72f71 100644
--- a/src/plugins/e-acsl/tests/bts/bts1307.i
+++ b/src/plugins/e-acsl/tests/bts/bts1307.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: spec with floats and reals
-   EXECNOW: LOG gen_bts1307.c BIN gen_bts1307.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1307.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1307.c > /dev/null && ./gcc_bts.sh bts1307
-   EXECNOW: LOG gen_bts13072.c BIN gen_bts13072.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1307.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13072.c > /dev/null && ./gcc_bts.sh bts13072
 */
 
 /*@ requires \valid(Mtmax_in);
diff --git a/src/plugins/e-acsl/tests/bts/bts1324.i b/src/plugins/e-acsl/tests/bts/bts1324.i
index 9b444f126b0cd79eb5b48ff5ab60e82b8b220dcb..690b29043baca4b8e32f5c69afd63f00caa10df0 100644
--- a/src/plugins/e-acsl/tests/bts/bts1324.i
+++ b/src/plugins/e-acsl/tests/bts/bts1324.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: fixed bug with typing of universal quantification
-   EXECNOW: LOG gen_bts1324.c BIN gen_bts1324.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1324.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1324.c > /dev/null && ./gcc_bts.sh bts1324
-   EXECNOW: LOG gen_bts13242.c BIN gen_bts13242.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1324.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13242.c > /dev/null && ./gcc_bts.sh bts13242
 */
 
 /*@ behavior yes:
diff --git a/src/plugins/e-acsl/tests/bts/bts1326.i b/src/plugins/e-acsl/tests/bts/bts1326.i
index b18101c3d1017c34fda38cdc5abb67bdfa4d3b36..c8e7429eefcca32ce60658c4a83bbd0223216dcb 100644
--- a/src/plugins/e-acsl/tests/bts/bts1326.i
+++ b/src/plugins/e-acsl/tests/bts/bts1326.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: complex term left-values
-   EXECNOW: LOG gen_bts1326.c BIN gen_bts1326.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1326.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1326.c > /dev/null && ./gcc_bts.sh bts1326
-   EXECNOW: LOG gen_bts13262.c BIN gen_bts13262.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1326.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13262.c > /dev/null && ./gcc_bts.sh bts13262
 */
 
 typedef int ArrayInt[5];
diff --git a/src/plugins/e-acsl/tests/bts/bts1390.c b/src/plugins/e-acsl/tests/bts/bts1390.c
index 5ff6dc147983e8f9ad5de360a38460fb786a3325..fd280a0af1d1e1ce3670d44c1ade6e0a67f0f968 100644
--- a/src/plugins/e-acsl/tests/bts/bts1390.c
+++ b/src/plugins/e-acsl/tests/bts/bts1390.c
@@ -1,8 +1,5 @@
 /* run.config
    COMMENT: bts #1390, issue with typing of quantified variables
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\""
-   EXECNOW: LOG gen_bts1390.c BIN gen_bts1390.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1390.c -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1390.c > /dev/null && ./gcc_bts.sh bts1390
-   EXECNOW: LOG gen_bts13902.c BIN gen_bts13902.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1390.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13902.c > /dev/null && ./gcc_bts.sh bts13902
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/bts/bts1398.c b/src/plugins/e-acsl/tests/bts/bts1398.c
index d02bb8faa91f9272d7cb386afdb6c6b63a8b8de3..9d299958c7e22790f9e6d218fc4343816a2bcebe 100644
--- a/src/plugins/e-acsl/tests/bts/bts1398.c
+++ b/src/plugins/e-acsl/tests/bts/bts1398.c
@@ -1,8 +1,5 @@
 /* run.config
    COMMENT: variadic function call
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\""
-   EXECNOW: LOG gen_bts1398.c BIN gen_bts1398.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1398.c -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1398.c > /dev/null && ./gcc_bts.sh bts1398 > /dev/null
-   EXECNOW: LOG gen_bts13982.c BIN gen_bts13982.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1398.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13982.c > /dev/null && ./gcc_bts.sh bts13982 > /dev/null
 */
 
 #include "stdio.h"
diff --git a/src/plugins/e-acsl/tests/bts/bts1399.c b/src/plugins/e-acsl/tests/bts/bts1399.c
index 43300c93834cf06f063649d63505a1b7356941d8..cc5d1e812f5481c8ea82d24bc52e741d52144e43 100644
--- a/src/plugins/e-acsl/tests/bts/bts1399.c
+++ b/src/plugins/e-acsl/tests/bts/bts1399.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: complex fields and indexes + potential RTE in \initialized
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_bts1399.c BIN gen_bts1399.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1399.c -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1399.c > /dev/null && ./gcc_bts.sh bts1399
-   EXECNOW: LOG gen_bts13992.c BIN gen_bts13992.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1399.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts13992.c > /dev/null && ./gcc_bts.sh bts13992
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/bts/bts1478.c b/src/plugins/e-acsl/tests/bts/bts1478.c
index 9b1bcd88bda4e4194f19b1c80af61dc9597eb1df..b949470b2d922eef32802141472f23a9c8bc42ab 100644
--- a/src/plugins/e-acsl/tests/bts/bts1478.c
+++ b/src/plugins/e-acsl/tests/bts/bts1478.c
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: bts #1478 about wrong detection of initializers in pre-analysis
-   EXECNOW: LOG gen_bts1478.c BIN gen_bts1478.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1478.c -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1478.c > /dev/null && ./gcc_bts.sh bts1478
-   EXECNOW: LOG gen_bts14782.c BIN gen_bts14782.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1478.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts14782.c > /dev/null && ./gcc_bts.sh bts14782
 */
 
 int global_i;
diff --git a/src/plugins/e-acsl/tests/bts/bts1700.i b/src/plugins/e-acsl/tests/bts/bts1700.i
index 2534d1f1be441af6e5db9bcf7421015577fcb7f6..efd10126c2c6b7b7ca9b9c8a4d80659fee75d2fe 100644
--- a/src/plugins/e-acsl/tests/bts/bts1700.i
+++ b/src/plugins/e-acsl/tests/bts/bts1700.i
@@ -1,6 +1,5 @@
 /* run.config
    COMMENT: pointer to an empty struct
-   EXECNOW: LOG gen_bts1700.c BIN gen_bts1700.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1700.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1700.c > /dev/null && ./gcc_bts.sh bts1700
 */
 
 struct toto {};
diff --git a/src/plugins/e-acsl/tests/bts/bts1717.i b/src/plugins/e-acsl/tests/bts/bts1717.i
index 99925f479ec5671173faae23491e201bd96db244..71ce1f22484e46ae5c111ff9ba9692ed1a647d31 100644
--- a/src/plugins/e-acsl/tests/bts/bts1717.i
+++ b/src/plugins/e-acsl/tests/bts/bts1717.i
@@ -1,8 +1,5 @@
 /* run.config
    COMMENT: bts #1717, issue with labels on memory-related statements
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\""
-   EXECNOW: LOG gen_bts1717.c BIN gen_bts1717.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1717.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1717.c > /dev/null && ./gcc_bts.sh bts1717
-   EXECNOW: LOG gen_bts17172.c BIN gen_bts17172.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1717.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts17172.c > /dev/null && ./gcc_bts.sh bts17172
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/bts/bts1718.i b/src/plugins/e-acsl/tests/bts/bts1718.i
index 0b13703f0a8a510aac910fe717bd0d90f897f230..2434f530b8607ff42c7032f45f1ed70bd1029cd9 100644
--- a/src/plugins/e-acsl/tests/bts/bts1718.i
+++ b/src/plugins/e-acsl/tests/bts/bts1718.i
@@ -1,8 +1,8 @@
 /* run.config
    COMMENT: bts #1718, issue regarding incorrect initialization of literal strings in global arrays with compound initializers
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\""
-   EXECNOW: LOG gen_bts1718.c BIN gen_bts1718.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1718.i -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts1718.c > /dev/null && ./gcc_bts.sh bts1718
-   EXECNOW: LOG gen_bts17182.c BIN gen_bts17182.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/bts/bts1718.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/bts/result/gen_bts17182.c > /dev/null && ./gcc_bts.sh bts17182
+   COMMENT: no diff
+   COMMENT: no diff
+   COMMENT: no diff
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/bts/bts1837.i b/src/plugins/e-acsl/tests/bts/bts1837.i
index cb01fddd8fdbc7d16af21cbe03ac23bcab203473..dc481afd0ee374231db5d9429b0f29316cbebdee 100644
--- a/src/plugins/e-acsl/tests/bts/bts1837.i
+++ b/src/plugins/e-acsl/tests/bts/bts1837.i
@@ -1,6 +1,5 @@
 /* run.config
    COMMENT: bts #1837, about initialization of literal strings
-   EXECNOW: LOG gen_bts1837.c BIN gen_bts1837.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/bts/bts1837.i -e-acsl -then-last -print -ocode ./tests/bts/result/gen_bts1837.c > /dev/null && ./gcc_bts.sh bts1837
 */
 
 char *S = "foo";
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1304.0.res.oracle
deleted file mode 100644
index c9fe27e8b98a7c222f15b81a2d62ba8922e56cac..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1304.0.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/bts/bts1304.i:23:[value] entering loop for the first time
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-tests/bts/bts1304.i:25:[value] warning: assertion got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1304.1.res.oracle
deleted file mode 100644
index c9fe27e8b98a7c222f15b81a2d62ba8922e56cac..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1304.1.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/bts/bts1304.i:23:[value] entering loop for the first time
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-tests/bts/bts1304.i:25:[value] warning: assertion got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle
index 85cef0bc32432b6b63f4c57406e4a5e035b9c5dc..360cf3baba62a193287d4e0ede2d35bbbaca3941 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle
@@ -1,31 +1,4 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/bts1304.i (no preprocessing)
 [e-acsl] beginning translation.
 [e-acsl] translation done in project "e-acsl".
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  random_counter ∈ {0}
-  rand_max ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/e-acsl-runtime/bts1304.i:23:[value] entering loop for the first time
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-tests/e-acsl-runtime/bts1304.i:25:[value] Assertion got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
+tests/bts/bts1304.i:23:[value] warning: assertion got status unknown.
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1307.0.res.oracle
deleted file mode 100644
index c7d6f581b9c68ae6cb484e6d6026f243808731a3..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1307.0.res.oracle
+++ /dev/null
@@ -1,27 +0,0 @@
-tests/bts/bts1307.i:16:[kernel] warning: Floating-point constant 0.4 is not represented exactly. Will use 0x1.999999999999ap-2. See documentation for option -warn-decimal-float
-[e-acsl] beginning translation.
-tests/bts/bts1307.i:13:[e-acsl] warning: approximating a real number by a float
-tests/bts/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
-tests/bts/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __valid_read
-[value] user error: type long double not implemented. Using double instead
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status invalid.
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1307.1.res.oracle
deleted file mode 100644
index 3f9e8609612695c9f97ee3f4649c80771c98ff81..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1307.1.res.oracle
+++ /dev/null
@@ -1,35 +0,0 @@
-tests/bts/bts1307.i:16:[kernel] warning: Floating-point constant 0.4 is not represented exactly. Will use 0x1.999999999999ap-2. See documentation for option -warn-decimal-float
-[e-acsl] beginning translation.
-tests/bts/bts1307.i:13:[e-acsl] warning: approximating a real number by a float
-tests/bts/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
-tests/bts/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_tdiv_q
-[value] using specification for function __gmpz_get_ui
-[value] using specification for function __valid_read
-[value] user error: type long double not implemented. Using double instead
-[value] using specification for function __gmpz_clear
-tests/bts/bts1307.i:25:[value] warning: function bar, behavior UnderEstimate_Motoring: postcondition got status unknown.
-tests/bts/bts1307.i:25:[value] warning: function __e_acsl_bar, behavior UnderEstimate_Motoring: postcondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle
index e383dfcf607563d8df0128d208184cf33abfcc3d..26e9e78a8a8dae4a54894ee2a03c17e26d11a19c 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle
@@ -1,44 +1,9 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/bts1307.i (no preprocessing)
-tests/e-acsl-runtime/bts1307.i:16:[kernel] warning: Floating-point constant 0.4 is not represented exactly. Will use 0x1.999999999999ap-2. See documentation for option -warn-decimal-float
+tests/bts/bts1307.i:14:[kernel] warning: Floating-point constant 0.4 is not represented exactly. Will use 0x1.999999999999ap-2. See documentation for option -warn-decimal-float
 [e-acsl] beginning translation.
-tests/e-acsl-runtime/bts1307.i:13:[e-acsl] warning: approximating a real number by a float
-tests/e-acsl-runtime/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
-tests/e-acsl-runtime/bts1307.i:25:[e-acsl] warning: approximating a real number by a float
+tests/bts/bts1307.i:11:[e-acsl] warning: approximating a real number by a float
+tests/bts/bts1307.i:23:[e-acsl] warning: approximating a real number by a float
+tests/bts/bts1307.i:23:[e-acsl] warning: approximating a real number by a float
 [e-acsl] translation done in project "e-acsl".
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  random_counter ∈ {0}
-  rand_max ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-tests/e-acsl-runtime/bts1307.i:7:[value] Function __e_acsl_foo: precondition got status valid.
-tests/e-acsl-runtime/bts1307.i:8:[value] Function __e_acsl_foo: precondition got status valid.
-tests/e-acsl-runtime/bts1307.i:9:[value] Function __e_acsl_foo: precondition got status valid.
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/bts1307.i:7:[value] Function foo: precondition got status valid.
-tests/e-acsl-runtime/bts1307.i:8:[value] Function foo: precondition got status valid.
-tests/e-acsl-runtime/bts1307.i:9:[value] Function foo: precondition got status valid.
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-tests/e-acsl-runtime/bts1307.i:13:[value] Function foo, behavior OverEstimate_Motoring: postcondition got status valid.
-[value] using specification for function __valid_read
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] user error: type long double not implemented. Using double instead
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status invalid.
-tests/e-acsl-runtime/bts1307.i:13:[value] Function __e_acsl_foo, behavior OverEstimate_Motoring: no state left in which to evaluate postcondition, status not computed.
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status invalid.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1324.0.res.oracle
deleted file mode 100644
index aab4aebb68a166f0d5653a87a6cffcc5db1e3781..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1324.0.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-tests/bts/bts1324.i:8:[value] entering loop for the first time
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/bts/bts1324.i:15:[value] entering loop for the first time
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1324.1.res.oracle
deleted file mode 100644
index 1b06bc092ff68a5c3c237049c724b31c6f648fbe..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1324.1.res.oracle
+++ /dev/null
@@ -1,31 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_add
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_clear
-tests/bts/bts1324.i:8:[value] entering loop for the first time
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_sub
-[value] using specification for function __gmpz_get_ui
-tests/bts/bts1324.i:8:[kernel] warning: out of bounds read. assert \valid_read(t+__e_acsl_2);
-tests/bts/bts1324.i:8:[kernel] warning: out of bounds read. assert \valid_read(t+__e_acsl_i_2);
-tests/bts/bts1324.i:15:[value] entering loop for the first time
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.0.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1324.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1304.0.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1324.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1324.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1324.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1326.0.res.oracle
deleted file mode 100644
index dd5cc416639f4522e7a52ad7566bc86188debba2..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1326.0.res.oracle
+++ /dev/null
@@ -1,20 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1326.1.res.oracle
deleted file mode 100644
index 3920964dc2c217df243cf3f0df2727c81c72409c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1326.1.res.oracle
+++ /dev/null
@@ -1,25 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_add
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_tdiv_q
-[value] using specification for function __gmpz_clear
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.1.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1326.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1304.1.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1326.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1390.0.res.oracle
deleted file mode 100644
index 07aa4ab20e4edd8fba195c589237e0ce9c53a6b4..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1390.0.res.oracle
+++ /dev/null
@@ -1,31 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-tests/bts/bts1390.c:15:[value] entering loop for the first time
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/bts/bts1390.c:11:[value] entering loop for the first time
-tests/bts/bts1390.c:20:[value] entering loop for the first time
-[value] using specification for function __delete_block
-tests/bts/bts1390.c:16:[value] warning: function memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/bts/bts1390.c:13:[value] entering loop for the first time
-[value] using specification for function __offset
-tests/bts/bts1390.c:16:[value] warning: function __e_acsl_memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/bts/bts1390.c:21:[kernel] warning: out of bounds read. assert \valid_read(s);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1390.1.res.oracle
deleted file mode 100644
index 4167be2b1419df4c68742b3372e83f7be7c67621..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1390.1.res.oracle
+++ /dev/null
@@ -1,41 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_clear
-tests/bts/bts1390.c:15:[value] entering loop for the first time
-[value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_get_ui
-tests/bts/bts1390.c:15:[kernel] warning: out of bounds read. assert \valid_read((char *)buf+__e_acsl_k_2);
-[value] using specification for function __gmpz_add
-tests/bts/bts1390.c:11:[value] entering loop for the first time
-tests/bts/bts1390.c:11:[kernel] warning: out of bounds read. assert \valid_read((char *)buf+__e_acsl_i_2);
-tests/bts/bts1390.c:20:[value] entering loop for the first time
-[value] using specification for function __delete_block
-tests/bts/bts1390.c:16:[value] warning: function memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/bts/bts1390.c:13:[value] entering loop for the first time
-[value] using specification for function __offset
-tests/bts/bts1390.c:13:[kernel] warning: out of bounds read. assert \valid_read((char *)__e_acsl_at_2+__e_acsl_j_2);
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/bts/bts1390.c:16:[value] warning: function __e_acsl_memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/bts/bts1390.c:21:[kernel] warning: out of bounds read. assert \valid_read(s);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle
index 1e2f316c2132a5e764075c5c3cf1ec2b4c203626..baff7910c0878f8af2e839f0e15a4e563e47b7e8 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle
@@ -1,67 +1,6 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/bts1390.c (with preprocessing)
 [e-acsl] beginning translation.
 [e-acsl] translation done in project "e-acsl".
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  random_counter ∈ {0}
-  rand_max ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __gmpz_init
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:39:[value] Function __gmpz_init: precondition got status valid.
-[value] using specification for function __gmpz_init_set_si
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:64:[value] Function __gmpz_init_set_si: precondition got status valid.
-[value] using specification for function __gmpz_set
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:94:[value] Function __gmpz_set: precondition got status valid.
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:95:[value] Function __gmpz_set: precondition got status valid.
-[value] using specification for function __gmpz_clear
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:117:[value] Function __gmpz_clear: precondition got status valid.
-tests/e-acsl-runtime/bts1390.c:15:[value] entering loop for the first time
-[value] using specification for function __gmpz_init_set_ui
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:55:[value] Function __gmpz_init_set_ui: precondition got status valid.
-[value] using specification for function __gmpz_cmp
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:127:[value] Function __gmpz_cmp: precondition got status valid.
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:128:[value] Function __gmpz_cmp: precondition got status valid.
-[value] using specification for function __gmpz_get_ui
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:198:[value] Function __gmpz_get_ui: precondition got status valid.
-tests/e-acsl-runtime/bts1390.c:15:[kernel] warning: out of bounds read. assert \valid_read((char *)buf+__e_acsl_k_2);
-[value] using specification for function __gmpz_add
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:143:[value] Function __gmpz_add: precondition got status valid.
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:144:[value] Function __gmpz_add: precondition got status valid.
-FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:145:[value] Function __gmpz_add: precondition got status valid.
-tests/e-acsl-runtime/bts1390.c:11:[value] entering loop for the first time
-tests/e-acsl-runtime/bts1390.c:11:[kernel] warning: out of bounds read. assert \valid_read((char *)buf+__e_acsl_i_2);
-tests/e-acsl-runtime/bts1390.c:20:[value] entering loop for the first time
-[value] using specification for function __delete_block
-tests/e-acsl-runtime/bts1390.c:13:[value] Function memchr, behavior exists: postcondition got status valid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/bts1390.c:16:[value] Function memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/bts1390.c:13:[value] entering loop for the first time
-[value] using specification for function __offset
-tests/e-acsl-runtime/bts1390.c:13:[kernel] warning: out of bounds read. assert \valid_read((char *)__e_acsl_at_2+__e_acsl_j_2);
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/bts1390.c:13:[value] Function __e_acsl_memchr, behavior exists: postcondition got status valid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/bts1390.c:16:[value] Function __e_acsl_memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/bts1390.c:21:[kernel] warning: out of bounds read. assert \valid_read(s);
-tests/e-acsl-runtime/bts1390.c:16:[value] Function memchr, behavior not_exists: postcondition got status valid. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status valid.
-tests/e-acsl-runtime/bts1390.c:16:[value] Function __e_acsl_memchr, behavior not_exists: postcondition got status valid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/bts/bts1390.c:13:[value] warning: function memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
+tests/bts/bts1390.c:13:[value] warning: function __e_acsl_memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
+tests/bts/bts1390.c:18:[kernel] warning: out of bounds read. assert \valid_read(s);
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1398.0.res.oracle
deleted file mode 100644
index 99d1861463a6dcc225e00eb28b7435708ae8e927..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1398.0.res.oracle
+++ /dev/null
@@ -1,38 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  stdout ∈ {{ NULL ; &S___fc_stdout[0] }}
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-  S___fc_stdout[0]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof} ∈
-               [--..--]
-               [0].[bits 80 to 95] ∈ UNINITIALIZED
-               [0].__fc_flags ∈ [--..--]
-               [0].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_0_S___fc_stdout[0] }}
-               [0].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_0_S___fc_stdout[0] }}
-               {[0].__fc_real_data_max_size; [1]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof}} ∈
-               [--..--]
-               [1].[bits 80 to 95] ∈ UNINITIALIZED
-               [1].__fc_flags ∈ [--..--]
-               [1].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_1_S___fc_stdout[0] }}
-               [1].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_1_S___fc_stdout[0] }}
-               [1].__fc_real_data_max_size ∈ [--..--]
-  S___fc_inode_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_inode_1_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_1_S___fc_stdout[0..1] ∈ [--..--]
-[value] using specification for function printf
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1398.1.res.oracle
deleted file mode 100644
index 99d1861463a6dcc225e00eb28b7435708ae8e927..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1398.1.res.oracle
+++ /dev/null
@@ -1,38 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  stdout ∈ {{ NULL ; &S___fc_stdout[0] }}
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-  S___fc_stdout[0]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof} ∈
-               [--..--]
-               [0].[bits 80 to 95] ∈ UNINITIALIZED
-               [0].__fc_flags ∈ [--..--]
-               [0].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_0_S___fc_stdout[0] }}
-               [0].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_0_S___fc_stdout[0] }}
-               {[0].__fc_real_data_max_size; [1]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof}} ∈
-               [--..--]
-               [1].[bits 80 to 95] ∈ UNINITIALIZED
-               [1].__fc_flags ∈ [--..--]
-               [1].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_1_S___fc_stdout[0] }}
-               [1].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_1_S___fc_stdout[0] }}
-               [1].__fc_real_data_max_size ∈ [--..--]
-  S___fc_inode_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_inode_1_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_1_S___fc_stdout[0..1] ∈ [--..--]
-[value] using specification for function printf
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.0.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1398.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1307.0.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1398.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1398.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1398.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1399.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1399.1.res.oracle
deleted file mode 100644
index 0e90a522d2cdd7d222c3cbc010fa94ba0406f388..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1399.1.res.oracle
+++ /dev/null
@@ -1,52 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialize
-[value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_init
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_tdiv_q
-[value] using specification for function __gmpz_get_ui
-[value] using specification for function __initialized
-[value] using specification for function __gmpz_clear
-FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
-FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.1.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1399.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1307.1.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1399.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1399.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1399.res.oracle
similarity index 60%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1399.0.res.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1399.res.oracle
index 815257536b6869d15a0cc23c434ff298b61f6333..248043ea3d50bb0b7d7be2b1f433d9823085ffc4 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1399.0.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1399.res.oracle
@@ -1,11 +1,11 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/bts/bts1399.c:17:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/bts/bts1399.c:17:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/bts/bts1399.c:19:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/bts/bts1399.c:17:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -21,34 +21,8 @@ FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns claus
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialize
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialized
 FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
 FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1478.0.res.oracle
deleted file mode 100644
index 45f26ef331a318f4a22e30b839db366f298becf4..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1478.0.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  global_i ∈ {0}
-  global_i_ptr ∈ {{ &global_i }}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function e_acsl_assert
-[value] using specification for function __valid
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1478.1.res.oracle
deleted file mode 100644
index 3be1a2aeb0d5f81cf38e0978f683f15f28c3b0eb..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1478.1.res.oracle
+++ /dev/null
@@ -1,25 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  global_i ∈ {0}
-  global_i_ptr ∈ {{ &global_i }}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid
-[value] using specification for function __gmpz_clear
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.0.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1478.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1324.0.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1478.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1478.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1478.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1700.0.res.oracle
deleted file mode 100644
index b323b8576182f6f3b8d636b5e8dcf035d262943d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1700.0.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1700.1.res.oracle
deleted file mode 100644
index b323b8576182f6f3b8d636b5e8dcf035d262943d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1700.1.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle
index ec85865ef4537e0356b51932740b1ea052ff0d72..d38262de6812ddcc3976738685340153a7a48ad6 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle
@@ -1,32 +1,3 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/bts1700.i (no preprocessing)
 [e-acsl] beginning translation.
 [e-acsl] translation done in project "e-acsl".
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  random_counter ∈ {0}
-  rand_max ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/e-acsl-runtime/bts1700.i:10:[value] Assertion got status unknown.
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __full_init
-tests/e-acsl-runtime/bts1700.i:13:[value] Assertion got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1717.0.res.oracle
deleted file mode 100644
index 2c04f4eb44ed2c35b7ae1ae22a95ca2ee8fc2e9b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1717.0.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1717.1.res.oracle
deleted file mode 100644
index 2c04f4eb44ed2c35b7ae1ae22a95ca2ee8fc2e9b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1717.1.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.1.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1717.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1324.1.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1717.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1717.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1717.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1718.0.res.oracle
deleted file mode 100644
index 2c04f4eb44ed2c35b7ae1ae22a95ca2ee8fc2e9b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1718.0.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1718.1.res.oracle
deleted file mode 100644
index 2c04f4eb44ed2c35b7ae1ae22a95ca2ee8fc2e9b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1718.1.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.0.err.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1718.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1326.0.err.oracle
rename to src/plugins/e-acsl/tests/bts/oracle/bts1718.err.oracle
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1718.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1718.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1837.0.res.oracle
deleted file mode 100644
index 82924e5df2db14afa891c2a10fecf511d9a179c1..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1837.0.res.oracle
+++ /dev/null
@@ -1,29 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  S ∈ {{ "foo" }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-tests/bts/bts1837.i:19:[value] entering loop for the first time
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid
-[value] using specification for function __delete_block
-tests/bts/bts1837.i:19:[kernel] warning: signed overflow. assert -2147483648 ≤ i-1;
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1837.1.res.oracle
deleted file mode 100644
index 82924e5df2db14afa891c2a10fecf511d9a179c1..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1837.1.res.oracle
+++ /dev/null
@@ -1,29 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  S ∈ {{ "foo" }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-tests/bts/bts1837.i:19:[value] entering loop for the first time
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid
-[value] using specification for function __delete_block
-tests/bts/bts1837.i:19:[kernel] warning: signed overflow. assert -2147483648 ≤ i-1;
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle
index efd924c556296cc37747d56a5a72f0bae13e0177..f546eed6f85844aeaf8234a8ec45e3323eb7281f 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle
+++ b/src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle
@@ -1,34 +1,4 @@
 [e-acsl] beginning translation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  S ∈ {0}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-tests/bts/bts1837.i:19:[value] entering loop for the first time
-tests/bts/bts1837.i:21:[value] Assertion got status valid.
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] Function e_acsl_assert: precondition got status unknown.
-tests/bts/bts1837.i:22:[value] Assertion got status valid.
-[value] using specification for function __valid
-[value] using specification for function __delete_block
-tests/bts/bts1837.i:19:[kernel] warning: signed overflow. assert -2147483648 ≤ i-1;
-tests/bts/bts1837.i:11:[value] Assertion got status valid.
-tests/bts/bts1837.i:12:[value] Assertion got status valid.
-tests/bts/bts1837.i:13:[value] Assertion got status valid.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/bts/bts1837.i:18:[kernel] warning: signed overflow. assert -2147483648 ≤ i-1;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c
index b2f7f38d1805dfa9a01003c60bec70fd9a9259f5..d408cdb6cd1e3eced0a2bb948052f85bc9ad10bf 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c
@@ -1,12 +1,4 @@
 /* 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 msgA {
    int type ;
    int a[2] ;
@@ -23,69 +15,11 @@ union msg {
    struct msgA A ;
    struct msgB B ;
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = 32767UL;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 void read_sensor_4(unsigned int *m)
 {
-  __store_block((void *)(& m),4U);
+  __store_block((void *)(& m),8UL);
   __initialize((void *)m,sizeof(unsigned int));
-  *m = 0U;
+  *m = (unsigned int)0;
   __delete_block((void *)(& m));
   return;
 }
@@ -93,11 +27,11 @@ void read_sensor_4(unsigned int *m)
 int main(void)
 {
   int __retres;
-  unsigned char buf[12U];
+  unsigned char buf[sizeof(union msg)];
   int i;
-  __store_block((void *)(buf),12U);
+  __store_block((void *)(buf),16UL);
   i = 0;
-  while ((unsigned int)i < 3U) {
+  while ((unsigned long)i < sizeof(buf) / (unsigned long)4) {
     read_sensor_4((unsigned int *)(buf) + i);
     i ++;
   }
@@ -107,7 +41,7 @@ int main(void)
     __e_acsl_initialized = __initialized((void *)(buf),sizeof(union msg));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
                   (char *)"\\initialized((union msg *)((unsigned char *)buf))",
-                  25);
+                  23);
   }
   __retres = 0;
   __delete_block((void *)(buf));
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13042.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13042.c
deleted file mode 100644
index b2f7f38d1805dfa9a01003c60bec70fd9a9259f5..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13042.c
+++ /dev/null
@@ -1,118 +0,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 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 ;
-};
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = 32767UL;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-void read_sensor_4(unsigned int *m)
-{
-  __store_block((void *)(& m),4U);
-  __initialize((void *)m,sizeof(unsigned int));
-  *m = 0U;
-  __delete_block((void *)(& m));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  unsigned char buf[12U];
-  int i;
-  __store_block((void *)(buf),12U);
-  i = 0;
-  while ((unsigned int)i < 3U) {
-    read_sensor_4((unsigned int *)(buf) + i);
-    i ++;
-  }
-  /*@ assert \initialized((union msg *)((unsigned char *)buf)); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)(buf),sizeof(union msg));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized((union msg *)((unsigned char *)buf))",
-                  25);
-  }
-  __retres = 0;
-  __delete_block((void *)(buf));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
index bf2eb65234bd4cf6a74e74b410097516d5ddcc27..a44795ffb3b48bf8ab8db27c62a58726032ad72c 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c
@@ -1,80 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ requires \valid(Mtmax_in);
     requires \valid(Mwmax);
     requires \valid(Mtmax_out);
@@ -86,9 +10,9 @@ predicate diffSize{L1, L2}(ℤ i) =
  */
 void foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
 {
-  __store_block((void *)(& Mtmax_in),4U);
-  __store_block((void *)(& Mwmax),4U);
-  __store_block((void *)(& Mtmax_out),4U);
+  __store_block((void *)(& Mtmax_in),8UL);
+  __store_block((void *)(& Mwmax),8UL);
+  __store_block((void *)(& Mtmax_out),8UL);
   __initialize((void *)Mtmax_out,sizeof(float));
   *Mtmax_out = (float)((double)*Mtmax_in + ((double)5 - (double)((float)(
                                                                  5 / 80) * *Mwmax) * 0.4));
@@ -116,23 +40,23 @@ void __e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
     int __e_acsl_valid;
     int __e_acsl_valid_2;
     int __e_acsl_valid_3;
-    __store_block((void *)(& Mtmax_in),4U);
-    __store_block((void *)(& Mwmax),4U);
-    __store_block((void *)(& Mtmax_out),4U);
+    __store_block((void *)(& Mtmax_in),8UL);
+    __store_block((void *)(& Mwmax),8UL);
+    __store_block((void *)(& Mtmax_out),8UL);
     __e_acsl_valid = __valid((void *)Mtmax_in,sizeof(float));
     e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mtmax_in)",7);
+                  (char *)"\\valid(Mtmax_in)",5);
     __e_acsl_valid_2 = __valid((void *)Mwmax,sizeof(float));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mwmax)",8);
+                  (char *)"\\valid(Mwmax)",6);
     __e_acsl_valid_3 = __valid((void *)Mtmax_out,sizeof(float));
     e_acsl_assert(__e_acsl_valid_3,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mtmax_out)",9);
-    __store_block((void *)(& __e_acsl_at_3),4U);
+                  (char *)"\\valid(Mtmax_out)",7);
+    __store_block((void *)(& __e_acsl_at_3),8UL);
     __e_acsl_at_3 = Mwmax;
-    __store_block((void *)(& __e_acsl_at_2),4U);
+    __store_block((void *)(& __e_acsl_at_2),8UL);
     __e_acsl_at_2 = Mtmax_in;
-    __store_block((void *)(& __e_acsl_at),4U);
+    __store_block((void *)(& __e_acsl_at),8UL);
     __e_acsl_at = Mtmax_out;
     foo(Mtmax_in,Mwmax,Mtmax_out);
   }
@@ -142,19 +66,19 @@ void __e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
     int __e_acsl_valid_read_3;
     __e_acsl_valid_read = __valid_read((void *)__e_acsl_at_3,sizeof(float));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_3)",13);
+                  (char *)"mem_access: \\valid_read(__e_acsl_at_3)",11);
     __e_acsl_valid_read_2 = __valid_read((void *)__e_acsl_at_2,sizeof(float));
     e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",13);
+                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",11);
     __e_acsl_valid_read_3 = __valid_read((void *)__e_acsl_at,sizeof(float));
     e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at)",13);
+                  (char *)"mem_access: \\valid_read(__e_acsl_at)",11);
     e_acsl_assert(*__e_acsl_at == *__e_acsl_at_2 + (long double)((long double)5 - 
                                                                  ((long double)(
                                                                   5 / 80) * *__e_acsl_at_3) * 0.4),
                   (char *)"Postcondition",(char *)"foo",
                   (char *)"*\\old(Mtmax_out) == *\\old(Mtmax_in)+(5-((5/80)**\\old(Mwmax))*0.4)",
-                  13);
+                  11);
     __delete_block((void *)(& Mtmax_in));
     __delete_block((void *)(& Mwmax));
     __delete_block((void *)(& Mtmax_out));
@@ -175,9 +99,9 @@ void __e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
  */
 void bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
 {
-  __store_block((void *)(& Mtmin_in),4U);
-  __store_block((void *)(& Mwmin),4U);
-  __store_block((void *)(& Mtmin_out),4U);
+  __store_block((void *)(& Mtmin_in),8UL);
+  __store_block((void *)(& Mwmin),8UL);
+  __store_block((void *)(& Mtmin_out),8UL);
   __initialize((void *)Mtmin_out,sizeof(float));
   *Mtmin_out = (float)(0.85 * (double)*Mwmin);
   __delete_block((void *)(& Mtmin_in));
@@ -209,29 +133,29 @@ void __e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
     int __e_acsl_valid;
     int __e_acsl_valid_2;
     int __e_acsl_valid_3;
-    __store_block((void *)(& Mtmin_in),4U);
-    __store_block((void *)(& Mwmin),4U);
-    __store_block((void *)(& Mtmin_out),4U);
+    __store_block((void *)(& Mtmin_in),8UL);
+    __store_block((void *)(& Mwmin),8UL);
+    __store_block((void *)(& Mtmin_out),8UL);
     __e_acsl_valid = __valid((void *)Mtmin_in,sizeof(float));
     e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mtmin_in)",19);
+                  (char *)"\\valid(Mtmin_in)",17);
     __e_acsl_valid_2 = __valid((void *)Mwmin,sizeof(float));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mwmin)",20);
+                  (char *)"\\valid(Mwmin)",18);
     __e_acsl_valid_3 = __valid((void *)Mtmin_out,sizeof(float));
     e_acsl_assert(__e_acsl_valid_3,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mtmin_out)",21);
-    __store_block((void *)(& __e_acsl_at_6),4U);
+                  (char *)"\\valid(Mtmin_out)",19);
+    __store_block((void *)(& __e_acsl_at_6),8UL);
     __e_acsl_at_6 = Mwmin;
-    __store_block((void *)(& __e_acsl_at_5),4U);
+    __store_block((void *)(& __e_acsl_at_5),8UL);
     __e_acsl_at_5 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at_4),4U);
+    __store_block((void *)(& __e_acsl_at_4),8UL);
     __e_acsl_at_4 = Mwmin;
-    __store_block((void *)(& __e_acsl_at_3),4U);
+    __store_block((void *)(& __e_acsl_at_3),8UL);
     __e_acsl_at_3 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at_2),4U);
+    __store_block((void *)(& __e_acsl_at_2),8UL);
     __e_acsl_at_2 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at),4U);
+    __store_block((void *)(& __e_acsl_at),8UL);
     __e_acsl_at = Mtmin_out;
     bar(Mtmin_in,Mwmin,Mtmin_out);
   }
@@ -242,21 +166,21 @@ void __e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
     int __e_acsl_if;
     __e_acsl_valid_read = __valid_read((void *)__e_acsl_at_2,sizeof(float));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"bar",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",25);
+                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",23);
     __e_acsl_valid_read_2 = __valid_read((void *)__e_acsl_at,sizeof(float));
     e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"bar",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at)",25);
+                  (char *)"mem_access: \\valid_read(__e_acsl_at)",23);
     if (*__e_acsl_at == *__e_acsl_at_2) {
       int __e_acsl_valid_read_3;
       int __e_acsl_valid_read_4;
       __e_acsl_valid_read_3 = __valid_read((void *)__e_acsl_at_4,
                                            sizeof(float));
       e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_4)",25);
+                    (char *)"mem_access: \\valid_read(__e_acsl_at_4)",23);
       __e_acsl_valid_read_4 = __valid_read((void *)__e_acsl_at_3,
                                            sizeof(float));
       e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_3)",25);
+                    (char *)"mem_access: \\valid_read(__e_acsl_at_3)",23);
       __e_acsl_and = *__e_acsl_at_3 < 0.85 * *__e_acsl_at_4;
     }
     else __e_acsl_and = 0;
@@ -265,7 +189,7 @@ void __e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
       __e_acsl_valid_read_5 = __valid_read((void *)__e_acsl_at_5,
                                            sizeof(float));
       e_acsl_assert(__e_acsl_valid_read_5,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_5)",25);
+                    (char *)"mem_access: \\valid_read(__e_acsl_at_5)",23);
       __e_acsl_if = *__e_acsl_at_5 != 0.;
     }
     else {
@@ -273,12 +197,12 @@ void __e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
       __e_acsl_valid_read_6 = __valid_read((void *)__e_acsl_at_6,
                                            sizeof(float));
       e_acsl_assert(__e_acsl_valid_read_6,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_6)",25);
+                    (char *)"mem_access: \\valid_read(__e_acsl_at_6)",23);
       __e_acsl_if = 0.85 * *__e_acsl_at_6 != 0.;
     }
     e_acsl_assert(__e_acsl_if,(char *)"Postcondition",(char *)"bar",
                   (char *)"*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85**\\old(Mwmin)?\n  *\\old(Mtmin_in) != 0.:\n  0.85**\\old(Mwmin) != 0.",
-                  25);
+                  23);
     __delete_block((void *)(& Mtmin_in));
     __delete_block((void *)(& Mwmin));
     __delete_block((void *)(& Mtmin_out));
@@ -292,9 +216,9 @@ int main(void)
   float f;
   float g;
   float h;
-  __store_block((void *)(& h),4U);
-  __store_block((void *)(& g),4U);
-  __store_block((void *)(& f),4U);
+  __store_block((void *)(& h),4UL);
+  __store_block((void *)(& g),4UL);
+  __store_block((void *)(& f),4UL);
   __full_init((void *)(& f));
   f = (float)1.0;
   __full_init((void *)(& g));
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13072.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13072.c
deleted file mode 100644
index b0fc85c485edb633748505648101eecec9c3b163..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13072.c
+++ /dev/null
@@ -1,396 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires \valid_read(z_orig);
-    requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from *z_orig;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set(__mpz_struct * /*[1]*/ z,
-                                                             __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ requires \valid(Mtmax_in);
-    requires \valid(Mwmax);
-    requires \valid(Mtmax_out);
-    
-    behavior OverEstimate_Motoring:
-      assumes \true;
-      ensures
-        *\old(Mtmax_out) ≡ *\old(Mtmax_in)+(5-((5/80)**\old(Mwmax))*0.4);
- */
-void foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
-{
-  __store_block((void *)(& Mtmax_in),4U);
-  __store_block((void *)(& Mwmax),4U);
-  __store_block((void *)(& Mtmax_out),4U);
-  __initialize((void *)Mtmax_out,sizeof(float));
-  *Mtmax_out = (float)((double)*Mtmax_in + ((double)5 - (double)((float)(
-                                                                 5 / 80) * *Mwmax) * 0.4));
-  __delete_block((void *)(& Mtmax_in));
-  __delete_block((void *)(& Mwmax));
-  __delete_block((void *)(& Mtmax_out));
-  return;
-}
-
-/*@ requires \valid(Mtmax_in);
-    requires \valid(Mwmax);
-    requires \valid(Mtmax_out);
-    
-    behavior OverEstimate_Motoring:
-      assumes \true;
-      ensures
-        *\old(Mtmax_out) ≡ *\old(Mtmax_in)+(5-((5/80)**\old(Mwmax))*0.4);
- */
-void __e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
-{
-  float *__e_acsl_at_3;
-  float *__e_acsl_at_2;
-  float *__e_acsl_at;
-  {
-    int __e_acsl_valid;
-    int __e_acsl_valid_2;
-    int __e_acsl_valid_3;
-    __store_block((void *)(& Mtmax_in),4U);
-    __store_block((void *)(& Mwmax),4U);
-    __store_block((void *)(& Mtmax_out),4U);
-    __e_acsl_valid = __valid((void *)Mtmax_in,sizeof(float));
-    e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mtmax_in)",7);
-    __e_acsl_valid_2 = __valid((void *)Mwmax,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mwmax)",8);
-    __e_acsl_valid_3 = __valid((void *)Mtmax_out,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_3,(char *)"Precondition",(char *)"foo",
-                  (char *)"\\valid(Mtmax_out)",9);
-    __store_block((void *)(& __e_acsl_at_3),4U);
-    __e_acsl_at_3 = Mwmax;
-    __store_block((void *)(& __e_acsl_at_2),4U);
-    __e_acsl_at_2 = Mtmax_in;
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = Mtmax_out;
-    foo(Mtmax_in,Mwmax,Mtmax_out);
-  }
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    int __e_acsl_div_guard;
-    mpz_t __e_acsl_div;
-    unsigned long __e_acsl_4;
-    int __e_acsl_valid_read;
-    int __e_acsl_valid_read_2;
-    int __e_acsl_valid_read_3;
-    __gmpz_init_set_si(__e_acsl,(long)5);
-    __gmpz_init_set_si(__e_acsl_2,(long)80);
-    __gmpz_init_set_si(__e_acsl_3,0L);
-    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
-                                    (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init(__e_acsl_div);
-    /*@ assert E_ACSL: 80 ≢ 0; */
-    e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Postcondition",
-                  (char *)"foo",(char *)"80 == 0",13);
-    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl),
-                  (__mpz_struct const *)(__e_acsl_2));
-    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_div));
-    __e_acsl_valid_read = __valid_read((void *)__e_acsl_at_3,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_3)",13);
-    __e_acsl_valid_read_2 = __valid_read((void *)__e_acsl_at_2,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",13);
-    __e_acsl_valid_read_3 = __valid_read((void *)__e_acsl_at,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"foo",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at)",13);
-    e_acsl_assert(*__e_acsl_at == *__e_acsl_at_2 + ((long double)5 - 
-                                                    ((long double)__e_acsl_4 * *__e_acsl_at_3) * 0.4),
-                  (char *)"Postcondition",(char *)"foo",
-                  (char *)"*\\old(Mtmax_out) == *\\old(Mtmax_in)+(5-((5/80)**\\old(Mwmax))*0.4)",
-                  13);
-    __delete_block((void *)(& Mtmax_in));
-    __delete_block((void *)(& Mwmax));
-    __delete_block((void *)(& Mtmax_out));
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_div);
-    return;
-  }
-}
-
-/*@ requires \valid(Mtmin_in);
-    requires \valid(Mwmin);
-    requires \valid(Mtmin_out);
-    
-    behavior UnderEstimate_Motoring:
-      assumes \true;
-      ensures
-        *\old(Mtmin_out) ≡ *\old(Mtmin_in) < 0.85**\old(Mwmin)?
-          *\old(Mtmin_in) ≢ 0.:
-          0.85**\old(Mwmin) ≢ 0.;
- */
-void bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
-{
-  __store_block((void *)(& Mtmin_in),4U);
-  __store_block((void *)(& Mwmin),4U);
-  __store_block((void *)(& Mtmin_out),4U);
-  __initialize((void *)Mtmin_out,sizeof(float));
-  *Mtmin_out = (float)(0.85 * (double)*Mwmin);
-  __delete_block((void *)(& Mtmin_in));
-  __delete_block((void *)(& Mwmin));
-  __delete_block((void *)(& Mtmin_out));
-  return;
-}
-
-/*@ requires \valid(Mtmin_in);
-    requires \valid(Mwmin);
-    requires \valid(Mtmin_out);
-    
-    behavior UnderEstimate_Motoring:
-      assumes \true;
-      ensures
-        *\old(Mtmin_out) ≡ *\old(Mtmin_in) < 0.85**\old(Mwmin)?
-          *\old(Mtmin_in) ≢ 0.:
-          0.85**\old(Mwmin) ≢ 0.;
- */
-void __e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
-{
-  float *__e_acsl_at_6;
-  float *__e_acsl_at_5;
-  float *__e_acsl_at_4;
-  float *__e_acsl_at_3;
-  float *__e_acsl_at_2;
-  float *__e_acsl_at;
-  {
-    int __e_acsl_valid;
-    int __e_acsl_valid_2;
-    int __e_acsl_valid_3;
-    __store_block((void *)(& Mtmin_in),4U);
-    __store_block((void *)(& Mwmin),4U);
-    __store_block((void *)(& Mtmin_out),4U);
-    __e_acsl_valid = __valid((void *)Mtmin_in,sizeof(float));
-    e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mtmin_in)",19);
-    __e_acsl_valid_2 = __valid((void *)Mwmin,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mwmin)",20);
-    __e_acsl_valid_3 = __valid((void *)Mtmin_out,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_3,(char *)"Precondition",(char *)"bar",
-                  (char *)"\\valid(Mtmin_out)",21);
-    __store_block((void *)(& __e_acsl_at_6),4U);
-    __e_acsl_at_6 = Mwmin;
-    __store_block((void *)(& __e_acsl_at_5),4U);
-    __e_acsl_at_5 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at_4),4U);
-    __e_acsl_at_4 = Mwmin;
-    __store_block((void *)(& __e_acsl_at_3),4U);
-    __e_acsl_at_3 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at_2),4U);
-    __e_acsl_at_2 = Mtmin_in;
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = Mtmin_out;
-    bar(Mtmin_in,Mwmin,Mtmin_out);
-  }
-  {
-    int __e_acsl_valid_read;
-    int __e_acsl_valid_read_2;
-    mpz_t __e_acsl_and;
-    unsigned long __e_acsl_2;
-    int __e_acsl_if;
-    __e_acsl_valid_read = __valid_read((void *)__e_acsl_at_2,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"bar",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at_2)",25);
-    __e_acsl_valid_read_2 = __valid_read((void *)__e_acsl_at,sizeof(float));
-    e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"bar",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at)",25);
-    if (*__e_acsl_at == *__e_acsl_at_2) {
-      int __e_acsl_valid_read_3;
-      int __e_acsl_valid_read_4;
-      mpz_t __e_acsl;
-      __e_acsl_valid_read_3 = __valid_read((void *)__e_acsl_at_4,
-                                           sizeof(float));
-      e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_4)",25);
-      __e_acsl_valid_read_4 = __valid_read((void *)__e_acsl_at_3,
-                                           sizeof(float));
-      e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_3)",25);
-      __gmpz_init_set_si(__e_acsl,
-                         (long)(*__e_acsl_at_3 < 0.85 * *__e_acsl_at_4));
-      __gmpz_init_set(__e_acsl_and,(__mpz_struct const *)(__e_acsl));
-      __gmpz_clear(__e_acsl);
-    }
-    else __gmpz_init_set_si(__e_acsl_and,0L);
-    __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_and));
-    if (__e_acsl_2) {
-      int __e_acsl_valid_read_5;
-      __e_acsl_valid_read_5 = __valid_read((void *)__e_acsl_at_5,
-                                           sizeof(float));
-      e_acsl_assert(__e_acsl_valid_read_5,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_5)",25);
-      __e_acsl_if = *__e_acsl_at_5 != 0.;
-    }
-    else {
-      int __e_acsl_valid_read_6;
-      __e_acsl_valid_read_6 = __valid_read((void *)__e_acsl_at_6,
-                                           sizeof(float));
-      e_acsl_assert(__e_acsl_valid_read_6,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__e_acsl_at_6)",25);
-      __e_acsl_if = 0.85 * *__e_acsl_at_6 != 0.;
-    }
-    e_acsl_assert(__e_acsl_if,(char *)"Postcondition",(char *)"bar",
-                  (char *)"*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85**\\old(Mwmin)?\n  *\\old(Mtmin_in) != 0.:\n  0.85**\\old(Mwmin) != 0.",
-                  25);
-    __delete_block((void *)(& Mtmin_in));
-    __delete_block((void *)(& Mwmin));
-    __delete_block((void *)(& Mtmin_out));
-    __gmpz_clear(__e_acsl_and);
-    return;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  float f;
-  float g;
-  float h;
-  __store_block((void *)(& h),4U);
-  __store_block((void *)(& g),4U);
-  __store_block((void *)(& f),4U);
-  __full_init((void *)(& f));
-  f = (float)1.0;
-  __full_init((void *)(& g));
-  g = (float)1.0;
-  __e_acsl_foo(& f,& g,& h);
-  __e_acsl_bar(& f,& g,& h);
-  __retres = 0;
-  __delete_block((void *)(& h));
-  __delete_block((void *)(& g));
-  __delete_block((void *)(& f));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c
index bad798ea364dc5f9a53442723b3734b4528e02c0..0fa1346490e6015cf0a6052c45a41e8acbd4df65 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c
@@ -1,70 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ behavior yes:
       assumes ∀ int i; 0 < i < n ⇒ *(t+(i-1)) ≤ *(t+i);
       ensures \result ≡ 1;
@@ -98,7 +32,7 @@ int __e_acsl_sorted(int *t, int n)
 {
   int __e_acsl_at;
   int __retres;
-  __store_block((void *)(& t),4U);
+  __store_block((void *)(& t),8UL);
   {
     int __e_acsl_forall;
     int __e_acsl_i;
@@ -112,13 +46,13 @@ int __e_acsl_sorted(int *t, int n)
         __e_acsl_valid_read = __valid_read((void *)(t + __e_acsl_i),
                                            sizeof(int));
         e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"sorted",
-                      (char *)"mem_access: \\valid_read(t+__e_acsl_i)",8);
-        __e_acsl_valid_read_2 = __valid_read((void *)(t + ((long long)__e_acsl_i - (long long)1)),
+                      (char *)"mem_access: \\valid_read(t+__e_acsl_i)",6);
+        __e_acsl_valid_read_2 = __valid_read((void *)(t + ((long)__e_acsl_i - (long)1)),
                                              sizeof(int));
         e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"sorted",
-                      (char *)"mem_access: \\valid_read(t+(long long)((long long)__e_acsl_i-1))",
-                      8);
-        if (*(t + ((long long)__e_acsl_i - (long long)1)) <= *(t + __e_acsl_i)) 
+                      (char *)"mem_access: \\valid_read(t+(long)((long)__e_acsl_i-1))",
+                      6);
+        if (*(t + ((long)__e_acsl_i - (long)1)) <= *(t + __e_acsl_i)) 
           ;
         else {
           __e_acsl_forall = 0;
@@ -137,7 +71,7 @@ int __e_acsl_sorted(int *t, int n)
     else __e_acsl_implies = __retres == 1;
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"sorted",
                   (char *)"\\old(\\forall int i; 0 < i < n ==> *(t+(i-1)) <= *(t+i)) ==> \\result == 1",
-                  9);
+                  7);
     __delete_block((void *)(& t));
     return __retres;
   }
@@ -148,7 +82,7 @@ int main(void)
   int __retres;
   int t[7];
   int n;
-  __store_block((void *)(t),28U);
+  __store_block((void *)(t),28UL);
   __initialize((void *)(t),sizeof(int));
   t[0] = 1;
   __initialize((void *)(& t[1]),sizeof(int));
@@ -166,7 +100,7 @@ int main(void)
   n = __e_acsl_sorted(t,7);
   /*@ assert n ≡ 1; */
   e_acsl_assert(n == 1,(char *)"Assertion",(char *)"main",(char *)"n == 1",
-                25);
+                23);
   __retres = 0;
   __delete_block((void *)(t));
   __e_acsl_memory_clean();
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13242.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13242.c
deleted file mode 100644
index aab5a6b122816b329918cab015120a46b869dc0f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13242.c
+++ /dev/null
@@ -1,295 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ behavior yes:
-      assumes ∀ int i; 0 < i < n ⇒ *(t+(i-1)) ≤ *(t+i);
-      ensures \result ≡ 1;
- */
-int sorted(int *t, int n)
-{
-  int __retres;
-  int b;
-  b = 1;
-  if (n <= 1) {
-    __retres = 1;
-    goto return_label;
-  }
-  b = 1;
-  while (b < n) {
-    if (*(t + (b - 1)) > *(t + b)) {
-      __retres = 0;
-      goto return_label;
-    }
-    b ++;
-  }
-  __retres = 1;
-  return_label: return __retres;
-}
-
-/*@ behavior yes:
-      assumes ∀ int i; 0 < i < n ⇒ *(t+(i-1)) ≤ *(t+i);
-      ensures \result ≡ 1;
- */
-int __e_acsl_sorted(int *t, int n)
-{
-  int __e_acsl_at;
-  int __retres;
-  __store_block((void *)(& t),4U);
-  {
-    int __e_acsl_forall;
-    mpz_t __e_acsl_i;
-    __e_acsl_forall = 1;
-    __gmpz_init(__e_acsl_i);
-    {
-      mpz_t __e_acsl_5;
-      mpz_t __e_acsl_6;
-      mpz_t __e_acsl_add;
-      __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __gmpz_init_set_si(__e_acsl_6,1L);
-      __gmpz_init(__e_acsl_add);
-      __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_5),
-                 (__mpz_struct const *)(__e_acsl_6));
-      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_add));
-      __gmpz_clear(__e_acsl_5);
-      __gmpz_clear(__e_acsl_6);
-      __gmpz_clear(__e_acsl_add);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_n;
-        int __e_acsl_lt;
-        __gmpz_init_set_si(__e_acsl_n,(long)n);
-        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i),
-                                 (__mpz_struct const *)(__e_acsl_n));
-        if (__e_acsl_lt < 0) ; else break;
-        __gmpz_clear(__e_acsl_n);
-      }
-      {
-        mpz_t __e_acsl;
-        mpz_t __e_acsl_sub;
-        unsigned long __e_acsl_2;
-        mpz_t __e_acsl_3;
-        unsigned long __e_acsl_i_2;
-        mpz_t __e_acsl_4;
-        int __e_acsl_le;
-        __gmpz_init_set_si(__e_acsl,(long)1);
-        __gmpz_init(__e_acsl_sub);
-        __gmpz_sub(__e_acsl_sub,(__mpz_struct const *)(__e_acsl_i),
-                   (__mpz_struct const *)(__e_acsl));
-        __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_sub));
-        __gmpz_init_set_si(__e_acsl_3,(long)*(t + __e_acsl_2));
-        __e_acsl_i_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i));
-        __gmpz_init_set_si(__e_acsl_4,(long)*(t + __e_acsl_i_2));
-        __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
-                                 (__mpz_struct const *)(__e_acsl_4));
-        __gmpz_clear(__e_acsl);
-        __gmpz_clear(__e_acsl_sub);
-        __gmpz_clear(__e_acsl_3);
-        __gmpz_clear(__e_acsl_4);
-        if (__e_acsl_le <= 0) ;
-        else {
-          __e_acsl_forall = 0;
-          goto e_acsl_end_loop1;
-        }
-      }
-      {
-        mpz_t __e_acsl_7;
-        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,(__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);
-      }
-    }
-    e_acsl_end_loop1: ;
-    __e_acsl_at = __e_acsl_forall;
-    __gmpz_clear(__e_acsl_i);
-  }
-  __retres = sorted(t,n);
-  {
-    int __e_acsl_implies;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else {
-      mpz_t __e_acsl_result;
-      mpz_t __e_acsl_8;
-      int __e_acsl_eq;
-      __gmpz_init_set_si(__e_acsl_result,(long)__retres);
-      __gmpz_init_set_si(__e_acsl_8,(long)1);
-      __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_result),
-                               (__mpz_struct const *)(__e_acsl_8));
-      __e_acsl_implies = __e_acsl_eq == 0;
-      __gmpz_clear(__e_acsl_result);
-      __gmpz_clear(__e_acsl_8);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"sorted",
-                  (char *)"\\old(\\forall int i; 0 < i < n ==> *(t+(i-1)) <= *(t+i)) ==> \\result == 1",
-                  9);
-    __delete_block((void *)(& t));
-    return __retres;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  int t[7];
-  int n;
-  __store_block((void *)(t),28U);
-  __initialize((void *)(t),sizeof(int));
-  t[0] = 1;
-  __initialize((void *)(& t[1]),sizeof(int));
-  t[1] = 4;
-  __initialize((void *)(& t[2]),sizeof(int));
-  t[2] = 4;
-  __initialize((void *)(& t[3]),sizeof(int));
-  t[3] = 5;
-  __initialize((void *)(& t[4]),sizeof(int));
-  t[4] = 5;
-  __initialize((void *)(& t[5]),sizeof(int));
-  t[5] = 5;
-  __initialize((void *)(& t[6]),sizeof(int));
-  t[6] = 7;
-  n = __e_acsl_sorted(t,7);
-  /*@ assert n ≡ 1; */
-  {
-    mpz_t __e_acsl_n;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_n,(long)n);
-    __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_n),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"n == 1",25);
-    __gmpz_clear(__e_acsl_n);
-    __gmpz_clear(__e_acsl);
-  }
-  __retres = 0;
-  __delete_block((void *)(t));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c
index a5bf59395c9f283c9de2e158dd06991205359b47..479e7abf3f5c0b1495d3e6b236509d101da85dad 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c
@@ -1,71 +1,5 @@
 /* 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;
 typedef int ArrayInt[5];
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ ensures
       *\old(AverageAccel) ≡
       (((((*\old(Accel))[4]+(*\old(Accel))[3])+(*\old(Accel))[2])+(*\old(
@@ -74,8 +8,8 @@ predicate diffSize{L1, L2}(ℤ i) =
  */
 void atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int *AverageAccel)
 {
-  __store_block((void *)(& Accel),4U);
-  __store_block((void *)(& AverageAccel),4U);
+  __store_block((void *)(& Accel),8UL);
+  __store_block((void *)(& AverageAccel),8UL);
   __initialize((void *)AverageAccel,sizeof(int));
   *AverageAccel = (((((*Accel)[4] + (*Accel)[3]) + (*Accel)[2]) + (*Accel)[1]) + (*Accel)[0]) / 5;
   __delete_block((void *)(& Accel));
@@ -98,19 +32,19 @@ void __e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
   ArrayInt *__e_acsl_at_3;
   ArrayInt *__e_acsl_at_2;
   int *__e_acsl_at;
-  __store_block((void *)(& Accel),4U);
-  __store_block((void *)(& AverageAccel),4U);
-  __store_block((void *)(& __e_acsl_at_6),4U);
+  __store_block((void *)(& Accel),8UL);
+  __store_block((void *)(& AverageAccel),8UL);
+  __store_block((void *)(& __e_acsl_at_6),8UL);
   __e_acsl_at_6 = Accel;
-  __store_block((void *)(& __e_acsl_at_5),4U);
+  __store_block((void *)(& __e_acsl_at_5),8UL);
   __e_acsl_at_5 = Accel;
-  __store_block((void *)(& __e_acsl_at_4),4U);
+  __store_block((void *)(& __e_acsl_at_4),8UL);
   __e_acsl_at_4 = Accel;
-  __store_block((void *)(& __e_acsl_at_3),4U);
+  __store_block((void *)(& __e_acsl_at_3),8UL);
   __e_acsl_at_3 = Accel;
-  __store_block((void *)(& __e_acsl_at_2),4U);
+  __store_block((void *)(& __e_acsl_at_2),8UL);
   __e_acsl_at_2 = Accel;
-  __store_block((void *)(& __e_acsl_at),4U);
+  __store_block((void *)(& __e_acsl_at),8UL);
   __e_acsl_at = AverageAccel;
   atp_NORMAL_computeAverageAccel(Accel,AverageAccel);
   {
@@ -124,40 +58,36 @@ void __e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
                   (char *)"mem_access: \\valid_read((int *)*__e_acsl_at_6)",
-                  10);
+                  8);
     __e_acsl_valid_read_2 = __valid_read((void *)(& (*__e_acsl_at_5)[1]),
                                          sizeof(int));
     e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_5)[1])",
-                  10);
+                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_5)[1])",8);
     __e_acsl_valid_read_3 = __valid_read((void *)(& (*__e_acsl_at_4)[2]),
                                          sizeof(int));
     e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_4)[2])",
-                  10);
+                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_4)[2])",8);
     __e_acsl_valid_read_4 = __valid_read((void *)(& (*__e_acsl_at_3)[3]),
                                          sizeof(int));
     e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_3)[3])",
-                  10);
+                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_3)[3])",8);
     __e_acsl_valid_read_5 = __valid_read((void *)(& (*__e_acsl_at_2)[4]),
                                          sizeof(int));
     e_acsl_assert(__e_acsl_valid_read_5,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_2)[4])",
-                  10);
+                  (char *)"mem_access: \\valid_read(&(*__e_acsl_at_2)[4])",8);
     __e_acsl_valid_read_6 = __valid_read((void *)__e_acsl_at,sizeof(int));
     e_acsl_assert(__e_acsl_valid_read_6,(char *)"RTE",
                   (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"mem_access: \\valid_read(__e_acsl_at)",10);
-    e_acsl_assert(*__e_acsl_at == (((((long long)(*__e_acsl_at_2)[4] + (long long)(*__e_acsl_at_3)[3]) + (long long)(*__e_acsl_at_4)[2]) + (long long)(*__e_acsl_at_5)[1]) + (long long)(*__e_acsl_at_6)[0]) / (long long)5,
+                  (char *)"mem_access: \\valid_read(__e_acsl_at)",8);
+    e_acsl_assert(*__e_acsl_at == (((((long)(*__e_acsl_at_2)[4] + (long)(*__e_acsl_at_3)[3]) + (long)(*__e_acsl_at_4)[2]) + (long)(*__e_acsl_at_5)[1]) + (long)(*__e_acsl_at_6)[0]) / (long)5,
                   (char *)"Postcondition",
                   (char *)"atp_NORMAL_computeAverageAccel",
                   (char *)"*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4]+(*\\old(Accel))[3])+(*\\old(Accel))[2])+(*\\old(Accel))[1])+(*\n  \\old(Accel))[0])/5",
-                  10);
+                  8);
     __delete_block((void *)(& Accel));
     __delete_block((void *)(& AverageAccel));
     return;
@@ -169,8 +99,8 @@ int main(void)
   int __retres;
   ArrayInt Accel;
   int av;
-  __store_block((void *)(& av),4U);
-  __store_block((void *)(Accel),20U);
+  __store_block((void *)(& av),4UL);
+  __store_block((void *)(Accel),20UL);
   __initialize((void *)(Accel),sizeof(int));
   Accel[0] = 1;
   __initialize((void *)(& Accel[1]),sizeof(int));
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13262.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13262.c
deleted file mode 100644
index c5e1dc20355e66da9357905a35084b5bab8597be..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13262.c
+++ /dev/null
@@ -1,253 +0,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;
-typedef int ArrayInt[5];
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ ensures
-      *\old(AverageAccel) ≡
-      (((((*\old(Accel))[4]+(*\old(Accel))[3])+(*\old(Accel))[2])+(*\old(
-                                                                    Accel))[1])+(*
-        \old(Accel))[0])/5;
- */
-void atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int *AverageAccel)
-{
-  __store_block((void *)(& Accel),4U);
-  __store_block((void *)(& AverageAccel),4U);
-  __initialize((void *)AverageAccel,sizeof(int));
-  *AverageAccel = (((((*Accel)[4] + (*Accel)[3]) + (*Accel)[2]) + (*Accel)[1]) + (*Accel)[0]) / 5;
-  __delete_block((void *)(& Accel));
-  __delete_block((void *)(& AverageAccel));
-  return;
-}
-
-/*@ ensures
-      *\old(AverageAccel) ≡
-      (((((*\old(Accel))[4]+(*\old(Accel))[3])+(*\old(Accel))[2])+(*\old(
-                                                                    Accel))[1])+(*
-        \old(Accel))[0])/5;
- */
-void __e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
-                                             int *AverageAccel)
-{
-  ArrayInt *__e_acsl_at_6;
-  ArrayInt *__e_acsl_at_5;
-  ArrayInt *__e_acsl_at_4;
-  ArrayInt *__e_acsl_at_3;
-  ArrayInt *__e_acsl_at_2;
-  int *__e_acsl_at;
-  __store_block((void *)(& Accel),4U);
-  __store_block((void *)(& AverageAccel),4U);
-  __store_block((void *)(& __e_acsl_at_6),4U);
-  __e_acsl_at_6 = Accel;
-  __store_block((void *)(& __e_acsl_at_5),4U);
-  __e_acsl_at_5 = Accel;
-  __store_block((void *)(& __e_acsl_at_4),4U);
-  __e_acsl_at_4 = Accel;
-  __store_block((void *)(& __e_acsl_at_3),4U);
-  __e_acsl_at_3 = Accel;
-  __store_block((void *)(& __e_acsl_at_2),4U);
-  __e_acsl_at_2 = Accel;
-  __store_block((void *)(& __e_acsl_at),4U);
-  __e_acsl_at = AverageAccel;
-  atp_NORMAL_computeAverageAccel(Accel,AverageAccel);
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    mpz_t __e_acsl_add;
-    mpz_t __e_acsl_4;
-    mpz_t __e_acsl_add_2;
-    mpz_t __e_acsl_5;
-    mpz_t __e_acsl_add_3;
-    mpz_t __e_acsl_6;
-    mpz_t __e_acsl_add_4;
-    mpz_t __e_acsl_7;
-    mpz_t __e_acsl_8;
-    int __e_acsl_div_guard;
-    mpz_t __e_acsl_div;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl,(long)*__e_acsl_at);
-    __gmpz_init_set_si(__e_acsl_2,(long)(*__e_acsl_at_2)[4]);
-    __gmpz_init_set_si(__e_acsl_3,(long)(*__e_acsl_at_3)[3]);
-    __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_2),
-               (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init_set_si(__e_acsl_4,(long)(*__e_acsl_at_4)[2]);
-    __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_add),
-               (__mpz_struct const *)(__e_acsl_4));
-    __gmpz_init_set_si(__e_acsl_5,(long)(*__e_acsl_at_5)[1]);
-    __gmpz_init(__e_acsl_add_3);
-    __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_add_2),
-               (__mpz_struct const *)(__e_acsl_5));
-    __gmpz_init_set_si(__e_acsl_6,(long)(*__e_acsl_at_6)[0]);
-    __gmpz_init(__e_acsl_add_4);
-    __gmpz_add(__e_acsl_add_4,(__mpz_struct const *)(__e_acsl_add_3),
-               (__mpz_struct const *)(__e_acsl_6));
-    __gmpz_init_set_si(__e_acsl_7,(long)5);
-    __gmpz_init_set_si(__e_acsl_8,0L);
-    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7),
-                                    (__mpz_struct const *)(__e_acsl_8));
-    __gmpz_init(__e_acsl_div);
-    /*@ assert E_ACSL: 5 ≢ 0; */
-    e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Postcondition",
-                  (char *)"atp_NORMAL_computeAverageAccel",(char *)"5 == 0",
-                  11);
-    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl_add_4),
-                  (__mpz_struct const *)(__e_acsl_7));
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_div));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",
-                  (char *)"atp_NORMAL_computeAverageAccel",
-                  (char *)"*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4]+(*\\old(Accel))[3])+(*\\old(Accel))[2])+(*\\old(Accel))[1])+(*\n  \\old(Accel))[0])/5",
-                  10);
-    __delete_block((void *)(& Accel));
-    __delete_block((void *)(& AverageAccel));
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_add);
-    __gmpz_clear(__e_acsl_4);
-    __gmpz_clear(__e_acsl_add_2);
-    __gmpz_clear(__e_acsl_5);
-    __gmpz_clear(__e_acsl_add_3);
-    __gmpz_clear(__e_acsl_6);
-    __gmpz_clear(__e_acsl_add_4);
-    __gmpz_clear(__e_acsl_7);
-    __gmpz_clear(__e_acsl_8);
-    __gmpz_clear(__e_acsl_div);
-    return;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  ArrayInt Accel;
-  int av;
-  __store_block((void *)(& av),4U);
-  __store_block((void *)(Accel),20U);
-  __initialize((void *)(Accel),sizeof(int));
-  Accel[0] = 1;
-  __initialize((void *)(& Accel[1]),sizeof(int));
-  Accel[1] = 2;
-  __initialize((void *)(& Accel[2]),sizeof(int));
-  Accel[2] = 3;
-  __initialize((void *)(& Accel[3]),sizeof(int));
-  Accel[3] = 4;
-  __initialize((void *)(& Accel[4]),sizeof(int));
-  Accel[4] = 5;
-  __e_acsl_atp_NORMAL_computeAverageAccel(& Accel,& av);
-  __retres = 0;
-  __delete_block((void *)(& av));
-  __delete_block((void *)(Accel));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
index 95439a4657d03a382f8b8dfff5999a0c41f6e6e2..c2fd12eba03a641cdc46388ced02709888b4e23c 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c
@@ -1,80 +1,6 @@
 /* Generated by Frama-C */
 char *__e_acsl_literal_string;
 char *__e_acsl_literal_string_2;
-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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ \offset(\old(ptr));
-    assigns \result;
-    assigns \result \from ptr;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __offset(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ behavior exists:
       assumes ∃ ℤ i; 0 ≤ i < n ∧ (int)*((char *)buf+i) ≡ c;
       ensures
@@ -91,13 +17,14 @@ void *memchr(void const *buf, int c, size_t n)
   void *__retres;
   int i;
   char *s;
-  __store_block((void *)(& s),4U);
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& buf),4U);
+  __store_block((void *)(& s),8UL);
+  __store_block((void *)(& __retres),8UL);
+  __store_block((void *)(& buf),8UL);
   __full_init((void *)(& s));
   s = (char *)buf;
   i = 0;
   while ((size_t)i < n) {
+    /*@ assert Value: mem_access: \valid_read(s); */
     if ((int)*s == c) {
       __full_init((void *)(& __retres));
       __retres = (void *)s;
@@ -134,13 +61,13 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
   void const *__e_acsl_at_2;
   int __e_acsl_at;
   void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& buf),4U);
+  __store_block((void *)(& __retres),8UL);
+  __store_block((void *)(& buf),8UL);
   {
     int __e_acsl_forall_2;
-    unsigned int __e_acsl_k;
+    unsigned long __e_acsl_k;
     __e_acsl_forall_2 = 1;
-    __e_acsl_k = (unsigned int)0;
+    __e_acsl_k = (unsigned long)0;
     while (1) {
       if (__e_acsl_k < n) ; else break;
       {
@@ -149,7 +76,7 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
                                              sizeof(char));
         e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"memchr",
                       (char *)"mem_access: \\valid_read((char *)buf+__e_acsl_k)",
-                      15);
+                      12);
         if ((int)*((char *)buf + __e_acsl_k) != c) ;
         else {
           __e_acsl_forall_2 = 0;
@@ -162,13 +89,13 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
     __e_acsl_at_4 = __e_acsl_forall_2;
   }
   __e_acsl_at_3 = c;
-  __store_block((void *)(& __e_acsl_at_2),4U);
+  __store_block((void *)(& __e_acsl_at_2),8UL);
   __e_acsl_at_2 = buf;
   {
     int __e_acsl_exists;
-    unsigned int __e_acsl_i;
+    unsigned long __e_acsl_i;
     __e_acsl_exists = 0;
-    __e_acsl_i = (unsigned int)0;
+    __e_acsl_i = (unsigned long)0;
     while (1) {
       if (__e_acsl_i < n) ; else break;
       {
@@ -177,7 +104,7 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
                                            sizeof(char));
         e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"memchr",
                       (char *)"mem_access: \\valid_read((char *)buf+__e_acsl_i)",
-                      11);
+                      8);
         if (! ((int)*((char *)buf + __e_acsl_i) == c)) ;
         else {
           __e_acsl_exists = 1;
@@ -196,14 +123,14 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
     if (! __e_acsl_at) __e_acsl_implies = 1;
     else {
       int __e_acsl_forall;
-      unsigned int __e_acsl_j;
+      unsigned long __e_acsl_j;
       __e_acsl_forall = 1;
-      __e_acsl_j = (unsigned int)0;
+      __e_acsl_j = (unsigned long)0;
       while (1) {
         {
           int __e_acsl_offset;
           __e_acsl_offset = __offset(__retres);
-          if (__e_acsl_j < (unsigned int)__e_acsl_offset) ; else break;
+          if (__e_acsl_j < (unsigned long)__e_acsl_offset) ; else break;
         }
         {
           int __e_acsl_valid_read_2;
@@ -211,7 +138,7 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
                                                sizeof(char));
           e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"memchr",
                         (char *)"mem_access: \\valid_read((char *)__e_acsl_at_2+__e_acsl_j)",
-                        13);
+                        10);
           if ((int)*((char *)__e_acsl_at_2 + __e_acsl_j) != __e_acsl_at_3) 
             ;
           else {
@@ -226,13 +153,13 @@ void *__e_acsl_memchr(void const *buf, int c, size_t n)
     }
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"memchr",
                   (char *)"\\old(\\exists integer i; 0 <= i < n && (int)*((char *)buf+i) == c) ==>\n(\\forall int j;\n   0 <= j < \\offset((char *)\\result) ==>\n   (int)*((char *)\\old(buf)+j) != \\old(c))",
-                  13);
+                  10);
     if (! __e_acsl_at_4) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = __retres == (void *)0;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",
                   (char *)"memchr",
                   (char *)"\\old(\\forall integer k; 0 <= k < n ==> (int)*((char *)buf+k) != c) ==>\n\\result == (void *)0",
-                  16);
+                  13);
     __delete_block((void *)(& buf));
     __delete_block((void *)(& __retres));
     return __retres;
@@ -256,9 +183,9 @@ int main(void)
 {
   int __retres;
   __e_acsl_memory_init();
-  __e_acsl_memchr((void const *)__e_acsl_literal_string,'o',(unsigned int)4);
+  __e_acsl_memchr((void const *)__e_acsl_literal_string,'o',(unsigned long)4);
   __e_acsl_memchr((void const *)__e_acsl_literal_string_2,'o',
-                  (unsigned int)4);
+                  (unsigned long)4);
   __retres = 0;
   __e_acsl_memory_clean();
   return __retres;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13902.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13902.c
deleted file mode 100644
index 4405fd55d8d2b5712208daeb6c6de7bf1dcd5f1c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13902.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/* Generated by Frama-C */
-char *__e_acsl_literal_string;
-char *__e_acsl_literal_string_2;
-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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ \offset(\old(ptr));
-    assigns \result;
-    assigns \result \from ptr;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __offset(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ behavior exists:
-      assumes ∃ ℤ i; 0 ≤ i < n ∧ (int)*((char *)buf+i) ≡ c;
-      ensures
-        ∀ int j;
-          0 ≤ j < \offset((char *)\result) ⇒
-          (int)*((char *)\old(buf)+j) ≢ \old(c);
-    
-    behavior not_exists:
-      assumes ∀ ℤ k; 0 ≤ k < n ⇒ (int)*((char *)buf+k) ≢ c;
-      ensures \result ≡ (void *)0;
- */
-void *memchr(void const *buf, int c, size_t n)
-{
-  void *__retres;
-  int i;
-  char *s;
-  __store_block((void *)(& s),4U);
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& buf),4U);
-  __full_init((void *)(& s));
-  s = (char *)buf;
-  i = 0;
-  while ((size_t)i < n) {
-    if ((int)*s == c) {
-      __full_init((void *)(& __retres));
-      __retres = (void *)s;
-      goto return_label;
-    }
-    __full_init((void *)(& s));
-    s ++;
-    i ++;
-  }
-  __full_init((void *)(& __retres));
-  __retres = (void *)0;
-  return_label:
-    __delete_block((void *)(& buf));
-    __delete_block((void *)(& s));
-    __delete_block((void *)(& __retres));
-    return __retres;
-}
-
-/*@ behavior exists:
-      assumes ∃ ℤ i; 0 ≤ i < n ∧ (int)*((char *)buf+i) ≡ c;
-      ensures
-        ∀ int j;
-          0 ≤ j < \offset((char *)\result) ⇒
-          (int)*((char *)\old(buf)+j) ≢ \old(c);
-    
-    behavior not_exists:
-      assumes ∀ ℤ k; 0 ≤ k < n ⇒ (int)*((char *)buf+k) ≢ c;
-      ensures \result ≡ (void *)0;
- */
-void *__e_acsl_memchr(void const *buf, int c, size_t n)
-{
-  int __e_acsl_at_4;
-  int __e_acsl_at_3;
-  void const *__e_acsl_at_2;
-  int __e_acsl_at;
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& buf),4U);
-  {
-    int __e_acsl_forall_2;
-    mpz_t __e_acsl_k;
-    __e_acsl_forall_2 = 1;
-    __gmpz_init(__e_acsl_k);
-    {
-      mpz_t __e_acsl_6;
-      __gmpz_init_set_si(__e_acsl_6,(long)0);
-      __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl_6));
-      __gmpz_clear(__e_acsl_6);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_n_2;
-        int __e_acsl_lt_3;
-        __gmpz_init_set_ui(__e_acsl_n_2,(unsigned long)n);
-        __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k),
-                                   (__mpz_struct const *)(__e_acsl_n_2));
-        if (__e_acsl_lt_3 < 0) ; else break;
-        __gmpz_clear(__e_acsl_n_2);
-      }
-      {
-        unsigned long __e_acsl_k_2;
-        mpz_t __e_acsl_cast_3;
-        mpz_t __e_acsl_c_2;
-        int __e_acsl_ne_2;
-        __e_acsl_k_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_k));
-        __gmpz_init_set_si(__e_acsl_cast_3,
-                           (long)((int)*((char *)buf + __e_acsl_k_2)));
-        __gmpz_init_set_si(__e_acsl_c_2,(long)c);
-        __e_acsl_ne_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_3),
-                                   (__mpz_struct const *)(__e_acsl_c_2));
-        __gmpz_clear(__e_acsl_cast_3);
-        __gmpz_clear(__e_acsl_c_2);
-        if (__e_acsl_ne_2 != 0) ;
-        else {
-          __e_acsl_forall_2 = 0;
-          goto e_acsl_end_loop3;
-        }
-      }
-      {
-        mpz_t __e_acsl_7;
-        mpz_t __e_acsl_add_3;
-        __gmpz_init_set_si(__e_acsl_7,1L);
-        __gmpz_init(__e_acsl_add_3);
-        __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_k),
-                   (__mpz_struct const *)(__e_acsl_7));
-        __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl_add_3));
-        __gmpz_clear(__e_acsl_7);
-        __gmpz_clear(__e_acsl_add_3);
-      }
-    }
-    e_acsl_end_loop3: ;
-    __e_acsl_at_4 = __e_acsl_forall_2;
-    __gmpz_clear(__e_acsl_k);
-  }
-  __e_acsl_at_3 = c;
-  __store_block((void *)(& __e_acsl_at_2),4U);
-  __e_acsl_at_2 = buf;
-  {
-    int __e_acsl_exists;
-    mpz_t __e_acsl_i;
-    __e_acsl_exists = 0;
-    __gmpz_init(__e_acsl_i);
-    {
-      mpz_t __e_acsl;
-      __gmpz_init_set_si(__e_acsl,(long)0);
-      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl));
-      __gmpz_clear(__e_acsl);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_n;
-        int __e_acsl_lt;
-        __gmpz_init_set_ui(__e_acsl_n,(unsigned long)n);
-        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i),
-                                 (__mpz_struct const *)(__e_acsl_n));
-        if (__e_acsl_lt < 0) ; else break;
-        __gmpz_clear(__e_acsl_n);
-      }
-      {
-        unsigned long __e_acsl_i_2;
-        mpz_t __e_acsl_cast;
-        mpz_t __e_acsl_c;
-        int __e_acsl_eq;
-        __e_acsl_i_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i));
-        __gmpz_init_set_si(__e_acsl_cast,
-                           (long)((int)*((char *)buf + __e_acsl_i_2)));
-        __gmpz_init_set_si(__e_acsl_c,(long)c);
-        __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast),
-                                 (__mpz_struct const *)(__e_acsl_c));
-        __gmpz_clear(__e_acsl_cast);
-        __gmpz_clear(__e_acsl_c);
-        if (! (__e_acsl_eq == 0)) ;
-        else {
-          __e_acsl_exists = 1;
-          goto e_acsl_end_loop1;
-        }
-      }
-      {
-        mpz_t __e_acsl_2;
-        mpz_t __e_acsl_add;
-        __gmpz_init_set_si(__e_acsl_2,1L);
-        __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
-                   (__mpz_struct const *)(__e_acsl_2));
-        __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_add));
-        __gmpz_clear(__e_acsl_2);
-        __gmpz_clear(__e_acsl_add);
-      }
-    }
-    e_acsl_end_loop1: ;
-    __e_acsl_at = __e_acsl_exists;
-    __gmpz_clear(__e_acsl_i);
-  }
-  __retres = memchr(buf,c,n);
-  {
-    int __e_acsl_implies;
-    int __e_acsl_implies_2;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_forall;
-      mpz_t __e_acsl_j;
-      __e_acsl_forall = 1;
-      __gmpz_init(__e_acsl_j);
-      {
-        mpz_t __e_acsl_4;
-        __gmpz_init_set_si(__e_acsl_4,(long)0);
-        __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_4));
-        __gmpz_clear(__e_acsl_4);
-      }
-      while (1) {
-        {
-          int __e_acsl_offset;
-          mpz_t __e_acsl_offset_2;
-          int __e_acsl_lt_2;
-          __e_acsl_offset = __offset(__retres);
-          __gmpz_init_set_si(__e_acsl_offset_2,(long)__e_acsl_offset);
-          __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j),
-                                     (__mpz_struct const *)(__e_acsl_offset_2));
-          if (__e_acsl_lt_2 < 0) ; else break;
-          __gmpz_clear(__e_acsl_offset_2);
-        }
-        {
-          unsigned long __e_acsl_j_2;
-          mpz_t __e_acsl_cast_2;
-          mpz_t __e_acsl_3;
-          int __e_acsl_ne;
-          __e_acsl_j_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j));
-          __gmpz_init_set_si(__e_acsl_cast_2,
-                             (long)((int)*((char *)__e_acsl_at_2 + __e_acsl_j_2)));
-          __gmpz_init_set_si(__e_acsl_3,(long)__e_acsl_at_3);
-          __e_acsl_ne = __gmpz_cmp((__mpz_struct const *)(__e_acsl_cast_2),
-                                   (__mpz_struct const *)(__e_acsl_3));
-          __gmpz_clear(__e_acsl_cast_2);
-          __gmpz_clear(__e_acsl_3);
-          if (__e_acsl_ne != 0) ;
-          else {
-            __e_acsl_forall = 0;
-            goto e_acsl_end_loop2;
-          }
-        }
-        {
-          mpz_t __e_acsl_5;
-          mpz_t __e_acsl_add_2;
-          __gmpz_init_set_si(__e_acsl_5,1L);
-          __gmpz_init(__e_acsl_add_2);
-          __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_j),
-                     (__mpz_struct const *)(__e_acsl_5));
-          __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_add_2));
-          __gmpz_clear(__e_acsl_5);
-          __gmpz_clear(__e_acsl_add_2);
-        }
-      }
-      e_acsl_end_loop2: ;
-      __e_acsl_implies = __e_acsl_forall;
-      __gmpz_clear(__e_acsl_j);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"memchr",
-                  (char *)"\\old(\\exists integer i; 0 <= i < n && (int)*((char *)buf+i) == c) ==>\n(\\forall int j;\n   0 <= j < \\offset((char *)\\result) ==>\n   (int)*((char *)\\old(buf)+j) != \\old(c))",
-                  13);
-    if (! __e_acsl_at_4) __e_acsl_implies_2 = 1;
-    else __e_acsl_implies_2 = __retres == (void *)0;
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",
-                  (char *)"memchr",
-                  (char *)"\\old(\\forall integer k; 0 <= k < n ==> (int)*((char *)buf+k) != c) ==>\n\\result == (void *)0",
-                  16);
-    __delete_block((void *)(& buf));
-    __delete_block((void *)(& __retres));
-    return __retres;
-  }
-}
-
-void __e_acsl_memory_init(void)
-{
-  __e_acsl_literal_string = "toto";
-  __store_block((void *)__e_acsl_literal_string,sizeof("toto"));
-  __full_init((void *)__e_acsl_literal_string);
-  __literal_string((void *)__e_acsl_literal_string);
-  __e_acsl_literal_string_2 = "tata";
-  __store_block((void *)__e_acsl_literal_string_2,sizeof("tata"));
-  __full_init((void *)__e_acsl_literal_string_2);
-  __literal_string((void *)__e_acsl_literal_string_2);
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  __e_acsl_memory_init();
-  __e_acsl_memchr((void const *)__e_acsl_literal_string,'o',(unsigned int)4);
-  __e_acsl_memchr((void const *)__e_acsl_literal_string_2,'o',
-                  (unsigned int)4);
-  __retres = 0;
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c
index 97bd608c9bf3e8d9404530bb6027dcb372b6a2e0..e61c3232854b6664eca6470db61ee80eaccc021e 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c
@@ -1,84 +1,4 @@
 /* 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;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-extern FILE *stdout;
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from *(format+(..)); */
-extern int printf(char const *format , ...);
-
 int main(void)
 {
   int __retres;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13982.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13982.c
deleted file mode 100644
index 97bd608c9bf3e8d9404530bb6027dcb372b6a2e0..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13982.c
+++ /dev/null
@@ -1,97 +0,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;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-extern FILE *stdout;
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
-/*@ assigns *__fc_stdout;
-    assigns *__fc_stdout \from *(format+(..)); */
-extern int printf(char const *format , ...);
-
-int main(void)
-{
-  int __retres;
-  int x;
-  int t[2];
-  int i;
-  x = 0;
-  i = 1;
-  t[0] = 1;
-  t[1] = 2;
-  printf("X=%d, t[0]=%d, t[1]=%d\n",x,t[0],t[i]);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
index 11363caf14febf93e83232c0264b7384fae1155b..24dee898ba03d8a30f0bcc7871b03902377273af 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c
@@ -1,174 +1,15 @@
 /* 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 spongeStateStruct {
    unsigned char __attribute__((__aligned__(32))) state[1600 / 8] ;
    unsigned char __attribute__((__aligned__(32))) dataQueue[1536 / 8] ;
    unsigned int bitsInQueue ;
 } __attribute__((__aligned__(32)));
 typedef struct spongeStateStruct spongeState;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int main(void)
 {
   int __retres;
   spongeState *state;
-  __store_block((void *)(& state),4U);
+  __store_block((void *)(& state),8UL);
   __full_init((void *)(& state));
   state = (spongeState *)__e_acsl_malloc(sizeof(spongeState));
   __initialize((void *)(& state->bitsInQueue),sizeof(unsigned int));
@@ -180,14 +21,14 @@ int main(void)
     __e_acsl_valid_read = __valid_read((void *)(& state->bitsInQueue),
                                        sizeof(unsigned int));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(&state->bitsInQueue)",24);
+                  (char *)"mem_access: \\valid_read(&state->bitsInQueue)",22);
     __e_acsl_initialized = __initialized((void *)(& state->dataQueue[
                                          state->bitsInQueue / (unsigned int)8]),
                                          sizeof(unsigned char __attribute__((
                                          __aligned__(32)))));
     e_acsl_assert(! __e_acsl_initialized,(char *)"Assertion",(char *)"main",
                   (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue/8])",
-                  24);
+                  22);
   }
   __e_acsl_free((void *)state);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13992.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts13992.c
deleted file mode 100644
index 85b487196c33c8be906d1bd6ce30cd132320fa6c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts13992.c
+++ /dev/null
@@ -1,262 +0,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 spongeStateStruct {
-   unsigned char __attribute__((__aligned__(32))) state[1600 / 8] ;
-   unsigned char __attribute__((__aligned__(32))) dataQueue[1536 / 8] ;
-   unsigned int bitsInQueue ;
-} __attribute__((__aligned__(32)));
-typedef struct spongeStateStruct spongeState;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int main(void)
-{
-  int __retres;
-  spongeState *state;
-  __store_block((void *)(& state),4U);
-  __full_init((void *)(& state));
-  state = (spongeState *)__e_acsl_malloc(sizeof(spongeState));
-  __initialize((void *)(& state->bitsInQueue),sizeof(unsigned int));
-  state->bitsInQueue = (unsigned int)16;
-  /*@ assert ¬\initialized(&state->dataQueue[state->bitsInQueue/8]); */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    int __e_acsl_div_guard;
-    mpz_t __e_acsl_div;
-    unsigned long __e_acsl_4;
-    int __e_acsl_initialized;
-    __gmpz_init_set_ui(__e_acsl,(unsigned long)state->bitsInQueue);
-    __gmpz_init_set_si(__e_acsl_2,(long)8);
-    __gmpz_init_set_si(__e_acsl_3,0L);
-    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2),
-                                    (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init(__e_acsl_div);
-    /*@ assert E_ACSL: 8 ≢ 0; */
-    e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"8 == 0",24);
-    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl),
-                  (__mpz_struct const *)(__e_acsl_2));
-    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_div));
-    __e_acsl_initialized = __initialized((void *)(& state->dataQueue[__e_acsl_4]),
-                                         sizeof(unsigned char __attribute__((
-                                         __aligned__(32)))));
-    e_acsl_assert(! __e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue/8])",
-                  24);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_div);
-  }
-  __e_acsl_free((void *)state);
-  __retres = 0;
-  __delete_block((void *)(& state));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c
index de9f0a6c8650efc82f34727701c81f9418787def..b1c9a806cfb8b7e224bf92a9500887982221ca6c 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c
@@ -1,67 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int global_i;
 
 int *global_i_ptr = & global_i;
@@ -84,12 +21,12 @@ void __e_acsl_loop(void)
   {
     int __e_acsl_valid;
     e_acsl_assert(global_i == 0,(char *)"Precondition",(char *)"loop",
-                  (char *)"global_i == 0",11);
+                  (char *)"global_i == 0",9);
     __e_acsl_valid = __valid((void *)global_i_ptr,sizeof(int));
     e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"loop",
-                  (char *)"\\valid(global_i_ptr)",12);
+                  (char *)"\\valid(global_i_ptr)",10);
     e_acsl_assert(global_i_ptr == & global_i,(char *)"Precondition",
-                  (char *)"loop",(char *)"global_i_ptr == &global_i",13);
+                  (char *)"loop",(char *)"global_i_ptr == &global_i",11);
     loop();
   }
   return;
@@ -97,9 +34,9 @@ void __e_acsl_loop(void)
 
 void __e_acsl_memory_init(void)
 {
-  __store_block((void *)(& global_i_ptr),4U);
+  __store_block((void *)(& global_i_ptr),8UL);
   __full_init((void *)(& global_i_ptr));
-  __store_block((void *)(& global_i),4U);
+  __store_block((void *)(& global_i),4UL);
   __full_init((void *)(& global_i));
   return;
 }
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts14782.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts14782.c
deleted file mode 100644
index 3be5246cfb3f3f6e7d3d20a7debc1a17dc60abb3..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts14782.c
+++ /dev/null
@@ -1,151 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int global_i;
-
-int *global_i_ptr = & global_i;
-int global_i = 0;
-/*@ requires global_i ≡ 0;
-    requires \valid(global_i_ptr);
-    requires global_i_ptr ≡ &global_i;
- */
-void loop(void)
-{
-  return;
-}
-
-/*@ requires global_i ≡ 0;
-    requires \valid(global_i_ptr);
-    requires global_i_ptr ≡ &global_i;
- */
-void __e_acsl_loop(void)
-{
-  {
-    mpz_t __e_acsl_global_i;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    int __e_acsl_valid;
-    __gmpz_init_set_si(__e_acsl_global_i,(long)global_i);
-    __gmpz_init_set_si(__e_acsl,(long)0);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_global_i),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"loop",
-                  (char *)"global_i == 0",11);
-    __e_acsl_valid = __valid((void *)global_i_ptr,sizeof(int));
-    e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"loop",
-                  (char *)"\\valid(global_i_ptr)",12);
-    e_acsl_assert(global_i_ptr == & global_i,(char *)"Precondition",
-                  (char *)"loop",(char *)"global_i_ptr == &global_i",13);
-    __gmpz_clear(__e_acsl_global_i);
-    __gmpz_clear(__e_acsl);
-    loop();
-  }
-  return;
-}
-
-void __e_acsl_memory_init(void)
-{
-  __store_block((void *)(& global_i_ptr),4U);
-  __full_init((void *)(& global_i_ptr));
-  __store_block((void *)(& global_i),4U);
-  __full_init((void *)(& global_i));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  __e_acsl_memory_init();
-  __e_acsl_loop();
-  __retres = 0;
-  __delete_block((void *)(& global_i_ptr));
-  __delete_block((void *)(& global_i));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c
index 487a65e7f23cd3ef46b18d985612ff10757f8ba3..46ef38c78ca070c217202b9b069fe67e2ca5fcff 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c
@@ -1,92 +1,20 @@
 /* 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 toto {
    
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   struct toto s;
   struct toto *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& s),0U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& s),0UL);
   /*@ assert \valid(&s); */
   {
     int __e_acsl_valid;
     __e_acsl_valid = __valid((void *)(& s),sizeof(struct toto));
     e_acsl_assert(__e_acsl_valid,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&s)",10);
+                  (char *)"\\valid(&s)",9);
   }
   __full_init((void *)(& p));
   p = & s;
@@ -102,7 +30,7 @@ int main(void)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(p)",13);
+                  (char *)"\\valid(p)",12);
   }
   __retres = 0;
   __delete_block((void *)(& p));
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c
index bfd83983a86a46b25cb49bae40eb908e42a9d0cb..6972e4b71112b5436d9a8494cfc767f26cf85b9d 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c
@@ -1,83 +1,11 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   int a;
   int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& a),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& a),4UL);
   __full_init((void *)(& a));
   a = 10;
   goto lbl_1;
@@ -94,7 +22,7 @@ int main(void)
       }
       else __e_acsl_and = 0;
       e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",13);
+                    (char *)"\\valid(p)",10);
     }
     __retres = 0;
     goto return_label;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts17172.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts17172.c
deleted file mode 100644
index bfd83983a86a46b25cb49bae40eb908e42a9d0cb..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts17172.c
+++ /dev/null
@@ -1,111 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int a;
-  int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& a),4U);
-  __full_init((void *)(& a));
-  a = 10;
-  goto lbl_1;
-  lbl_2:
-    /*@ assert \valid(p); */
-    {
-      int __e_acsl_initialized;
-      int __e_acsl_and;
-      __e_acsl_initialized = __initialized((void *)(& p),sizeof(int *));
-      if (__e_acsl_initialized) {
-        int __e_acsl_valid;
-        __e_acsl_valid = __valid((void *)p,sizeof(int));
-        __e_acsl_and = __e_acsl_valid;
-      }
-      else __e_acsl_and = 0;
-      e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",13);
-    }
-    __retres = 0;
-    goto return_label;
-  lbl_1: __full_init((void *)(& p));
-  p = & a;
-  goto lbl_2;
-  return_label:
-    __delete_block((void *)(& p));
-    __delete_block((void *)(& a));
-    __e_acsl_memory_clean();
-    return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c
index bfd83983a86a46b25cb49bae40eb908e42a9d0cb..fc8d950d02102730b9d03e2becd77f205580c7d4 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c
@@ -1,83 +1,11 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   int a;
   int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& a),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& a),4UL);
   __full_init((void *)(& a));
   a = 10;
   goto lbl_1;
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts17182.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts17182.c
deleted file mode 100644
index bfd83983a86a46b25cb49bae40eb908e42a9d0cb..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts17182.c
+++ /dev/null
@@ -1,111 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int a;
-  int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& a),4U);
-  __full_init((void *)(& a));
-  a = 10;
-  goto lbl_1;
-  lbl_2:
-    /*@ assert \valid(p); */
-    {
-      int __e_acsl_initialized;
-      int __e_acsl_and;
-      __e_acsl_initialized = __initialized((void *)(& p),sizeof(int *));
-      if (__e_acsl_initialized) {
-        int __e_acsl_valid;
-        __e_acsl_valid = __valid((void *)p,sizeof(int));
-        __e_acsl_and = __e_acsl_valid;
-      }
-      else __e_acsl_and = 0;
-      e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",13);
-    }
-    __retres = 0;
-    goto return_label;
-  lbl_1: __full_init((void *)(& p));
-  p = & a;
-  goto lbl_2;
-  return_label:
-    __delete_block((void *)(& p));
-    __delete_block((void *)(& a));
-    __e_acsl_memory_clean();
-    return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c
index 32445cb1f02704a681cefc0a633a3b5df006e254..d0c6085d6e45ffd3663ce4c99b754c51516ccacd 100644
--- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c
@@ -2,98 +2,14 @@
 char *__e_acsl_literal_string_3;
 char *__e_acsl_literal_string;
 char *__e_acsl_literal_string_2;
-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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 char *S = (char *)"foo";
 int f(void)
 {
   int __retres;
   char *s1;
   char *s2;
-  __store_block((void *)(& s2),4U);
-  __store_block((void *)(& s1),4U);
+  __store_block((void *)(& s2),8UL);
+  __store_block((void *)(& s1),8UL);
   __full_init((void *)(& s1));
   s1 = (char *)__e_acsl_literal_string;
   __full_init((void *)(& s2));
@@ -103,7 +19,7 @@ int f(void)
     int __e_acsl_valid_read;
     __e_acsl_valid_read = __valid_read((void *)S,sizeof(char));
     e_acsl_assert(__e_acsl_valid_read,(char *)"Assertion",(char *)"f",
-                  (char *)"\\valid_read(S)",11);
+                  (char *)"\\valid_read(S)",10);
   }
   /*@ assert \valid_read(s1); */
   {
@@ -117,7 +33,7 @@ int f(void)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"f",
-                  (char *)"\\valid_read(s1)",12);
+                  (char *)"\\valid_read(s1)",11);
   }
   /*@ assert \valid_read(s2); */
   {
@@ -131,7 +47,7 @@ int f(void)
     }
     else __e_acsl_and_2 = 0;
     e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"f",
-                  (char *)"\\valid_read(s2)",13);
+                  (char *)"\\valid_read(s2)",12);
   }
   __retres = 0;
   __delete_block((void *)(& s2));
@@ -153,7 +69,7 @@ void __e_acsl_memory_init(void)
   __store_block((void *)__e_acsl_literal_string_2,sizeof("bar"));
   __full_init((void *)__e_acsl_literal_string_2);
   __literal_string((void *)__e_acsl_literal_string_2);
-  __store_block((void *)(& S),4U);
+  __store_block((void *)(& S),8UL);
   __full_init((void *)(& S));
   return;
 }
@@ -168,13 +84,14 @@ int main(void)
     int tmp;
     { /* sequence */
       tmp = i;
+      /*@ assert Value: signed_overflow: -2147483648 ≤ i-1; */
       i --;
       ;
     }
     if (! tmp) break;
     {
       char *s;
-      __store_block((void *)(& s),4U);
+      __store_block((void *)(& s),8UL);
       __full_init((void *)(& s));
       s = (char *)__e_acsl_literal_string_3;
       /*@ assert \valid_read(s); */
@@ -189,7 +106,7 @@ int main(void)
         }
         else __e_acsl_and = 0;
         e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid_read(s)",21);
+                      (char *)"\\valid_read(s)",20);
       }
       /*@ assert ¬\valid(s); */
       {
@@ -203,7 +120,7 @@ int main(void)
         }
         else __e_acsl_and_2 = 0;
         e_acsl_assert(! __e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                      (char *)"!\\valid(s)",22);
+                      (char *)"!\\valid(s)",21);
         __delete_block((void *)(& s));
       }
     }
diff --git a/src/plugins/e-acsl/tests/bts/test_config b/src/plugins/e-acsl/tests/bts/test_config
index 31618f99b7d448ba68098010412e63a4a40aaa34..f996eb13e7da3e64c5bf2dac43f9bdaf9019e758 100644
--- a/src/plugins/e-acsl/tests/bts/test_config
+++ b/src/plugins/e-acsl/tests/bts/test_config
@@ -1,2 +1,3 @@
-OPT: -check -e-acsl -then-last -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
-OPT: -check -e-acsl -e-acsl-gmp-only -then-last -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
+LOG: gen_@PTEST_NAME@.c
+OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/bts/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -val -value-verbose 0
+EXECNOW: ./scripts/testrun.sh @PTEST_NAME@ bts "" "--frama-c=@frama-c@"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/addrOf.i b/src/plugins/e-acsl/tests/e-acsl-runtime/addrOf.i
index 42c611babba9204a641953030ec827f30a0b9acf..c797facb0f9c1ea90d23dd783c7e380668314ce0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/addrOf.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/addrOf.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: addrOf
-   EXECNOW: LOG gen_addrOf.c BIN gen_addrOf.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/addrOf.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_addrOf.c > /dev/null && ./gcc_runtime.sh addrOf
-   EXECNOW: LOG gen_addrOf2.c BIN gen_addrOf2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/addrOf.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_addrOf2.c > /dev/null && ./gcc_runtime.sh addrOf2
 */
 
 void f(){
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/alias.i b/src/plugins/e-acsl/tests/e-acsl-runtime/alias.i
index 9919f2a34439f0e9ff1d15d6a0a1cf728666435e..b72de86ae978b540858d26329699dfd86a06e538 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/alias.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/alias.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: alias
-   EXECNOW: LOG gen_alias.c BIN gen_alias.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/alias.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_alias.c > /dev/null && ./gcc_runtime.sh alias
-   EXECNOW: LOG gen_alias2.c BIN gen_alias2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/alias.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_alias2.c > /dev/null && ./gcc_runtime.sh alias2
 */
 
 void f(int* dest, int val)
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/array.i b/src/plugins/e-acsl/tests/e-acsl-runtime/array.i
deleted file mode 100644
index e6e805f9ad1705add962747265355dff1b5b4f15..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/array.i
+++ /dev/null
@@ -1,19 +0,0 @@
-/* run.config
-   COMMENT: arrays
-   STDOPT: #"-slevel 5"
-   EXECNOW: LOG gen_array.c BIN gen_array.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/array.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_array.c > /dev/null && ./gcc_runtime.sh array
-   EXECNOW: LOG gen_array2.c BIN gen_array2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/array.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_array2.c > /dev/null && ./gcc_runtime.sh array2
-*/
-
-int T1[3],T2[4];
-
-int main(void) {
-
-  for(int i = 0; i < 3; i++) T1[i] = i;
-  for(int i = 0; i < 4; i++) T2[i] = 2*i;
-
-  /*@ assert T1[0] == T2[0]; */
-  /*@ assert T1[1] != T2[1]; */
-
-  return 0;
-}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/call.c b/src/plugins/e-acsl/tests/e-acsl-runtime/call.c
index 053d17c39d22f4e4e1b1388c1e7595c18a9b1b09..322370938d0c0d8eb0f7678bdedf889349b49510 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/call.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/call.c
@@ -1,13 +1,11 @@
 /* run.config
    COMMENT: function call
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_call.c BIN gen_call.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/call.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_call.c > /dev/null && ./gcc_runtime.sh call
-   EXECNOW: LOG gen_call2.c BIN gen_call2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/call.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_call2.c > /dev/null && ./gcc_runtime.sh call2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include <stdlib.h>
 
-extern void *malloc(unsigned int size);
+//extern void *malloc(unsigned int size);
 
 /*@ ensures \valid(\result); */
 int *f(int *x, int *y) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/compound_initializers.c b/src/plugins/e-acsl/tests/e-acsl-runtime/compound_initializers.c
index c83b3eb4eff1bcd7dcd75889e050f0d26e044f61..91ab2fbf050faa3fdfd192ea5ad2afffc34d7e9b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/compound_initializers.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/compound_initializers.c
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: Compound initializers
-   EXECNOW: LOG gen_compound_initializers.c  BIN gen_compound_initializers.out  @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/compound_initializers.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_compound_initializers.c > /dev/null && ./gcc_runtime.sh compound_initializers
-   EXECNOW: LOG gen_compound_initializers2.c BIN gen_compound_initializers2.out @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/compound_initializers.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_compound_initializers2.c > /dev/null && ./gcc_runtime.sh compound_initializers2
 */
 
 
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/empty.i b/src/plugins/e-acsl/tests/e-acsl-runtime/empty.i
deleted file mode 100644
index bfe0e542270bfc176bb4fa34e4892b6a604d3ab1..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/empty.i
+++ /dev/null
@@ -1,5 +0,0 @@
-/* run.config
-   COMMENT: empty file
-   OPT: -e-acsl-check -e-acsl -then-on e-acsl -print 
-   OPT: -e-acsl-gmp-only -e-acsl -then-on e-acsl -print 
-*/
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/false.i b/src/plugins/e-acsl/tests/e-acsl-runtime/false.i
index 4b551d0f45b00b45e73181cff0a15d7fa4e5d0d1..37de71490f85e836751d503498020cb626f4e9f8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/false.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/false.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: assert \false
-   EXECNOW: LOG gen_false.c BIN gen_false.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/false.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_false.c > /dev/null && ./gcc_runtime.sh false
-   EXECNOW: LOG gen_false2.c BIN gen_false2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/false.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_false2.c > /dev/null && ./gcc_runtime.sh false2
 */
 int main(void) {
   int x = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/freeable.c b/src/plugins/e-acsl/tests/e-acsl-runtime/freeable.c
index c5b020ec82962791d740c0e7d57134f1209c63ca..e4d9ad5a610240c9847a396520430409cbbdc4f1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/freeable.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/freeable.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: \freeable
    STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_freeable.c BIN gen_freeable.out @frama-c@ -machdep gcc_x86_64 -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/freeable.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_freeable.c > /dev/null && ./gcc_runtime.sh freeable
-   EXECNOW: LOG gen_freeable2.c BIN gen_freeable2.out @frama-c@ -machdep gcc_x86_64 -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/freeable.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_freeable2.c > /dev/null && ./gcc_runtime.sh freeable2
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i
index c8e5ee4ee2441b609ffd34fb659312dff5c5e939..90eca5e7829d3e1e7911aca5d02d25ff4b61a872 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: function contract
-   EXECNOW: LOG gen_function_contract.c BIN gen_function_contract.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/function_contract.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract.c > /dev/null && ./gcc_runtime.sh function_contract
-   EXECNOW: LOG gen_function_contract2.c BIN gen_function_contract2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/function_contract.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract2.c > /dev/null && ./gcc_runtime.sh function_contract2
 */
 
 int X = 0, Y = 2;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/ghost.i b/src/plugins/e-acsl/tests/e-acsl-runtime/ghost.i
index 85357b70a200dd68580b6a199d4e098dc46b1681..5eeadfd89eb866168e82b7d170cb14ce7961cf5d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/ghost.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/ghost.i
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: ghost code
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_ghost.c BIN gen_ghost.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ghost.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ghost.c > /dev/null && ./gcc_runtime.sh ghost
-   EXECNOW: LOG gen_ghost2.c BIN gen_ghost2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ghost.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ghost2.c > /dev/null && ./gcc_runtime.sh ghost2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 /*@ ghost int G = 0; */
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/init.c b/src/plugins/e-acsl/tests/e-acsl-runtime/init.c
index 2a6e3753ef9cc436126342a0ba874b558759cb1a..8f2372a2f2eccb17a2f4b3ac03b570e0093cb60f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/init.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/init.c
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: initialization of globals (bts #1818)
-   EXECNOW: LOG gen_init.c BIN gen_init.out @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/init.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_init.c > /dev/null && ./gcc_runtime.sh init
-   EXECNOW: LOG gen_init2.c BIN gen_init2.out @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/init.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_init2.c > /dev/null && ./gcc_runtime.sh init2
 */
 
 int a = 0, b;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i b/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i
deleted file mode 100644
index 41a8312b6aadf3a13ac0285109cae2d67366c642..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i
+++ /dev/null
@@ -1,16 +0,0 @@
-/* run.config
-   COMMENT: integer constant + a stmt after the assertion
-   EXECNOW: LOG gen_integer_constant.c BIN gen_integer_constant.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/integer_constant.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_integer_constant.c > /dev/null && ./gcc_runtime.sh integer_constant
-   EXECNOW: LOG gen_integer_constant2.c BIN gen_integer_constant2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/integer_constant.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_integer_constant2.c > /dev/null && ./gcc_runtime.sh integer_constant2
-*/
-int main(void) {
-  int x;
-  /*@ assert 0 == 0; */ x = 0;
-  x++; /* prevent GCC's warning */
-  /*@ assert 0 != 1; */
-  /*@ assert 1152921504606846975 == 0xfffffffffffffff; */
-
-  /*@ assert 0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff; */
-
-  return 0;
-}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/invariant.i b/src/plugins/e-acsl/tests/e-acsl-runtime/invariant.i
index 46b75dad8a9a74291bf97b8d28a94ecc8bfc0da4..5cf1d2275293ee8c1a3736460c00f1499e261b53 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/invariant.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/invariant.i
@@ -1,8 +1,8 @@
 /* run.config
    COMMENT: invariant
-   EXECNOW: LOG gen_invariant.c BIN gen_invariant.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/invariant.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_invariant.c > /dev/null && ./gcc_runtime.sh invariant
-   EXECNOW: LOG gen_invariant2.c BIN gen_invariant2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/invariant.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_invariant2.c > /dev/null && ./gcc_runtime.sh invariant2
+   STDOPT: +"-slevel 11"
 */
+
 int main(void) {
   int x = 0;
   for(int i = 0; i < 10; i++) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/labeled_stmt.i b/src/plugins/e-acsl/tests/e-acsl-runtime/labeled_stmt.i
index f5db6c5fe9db8e2be714fa96409a167bf4623c3c..1c4be5a49017c78ada50299b0efa4ccd603a8084 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/labeled_stmt.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/labeled_stmt.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: labeled stmt and gotos
-   EXECNOW: LOG gen_labeled_stmt.c BIN gen_labeled_stmt.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/labeled_stmt.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_labeled_stmt.c > /dev/null && ./gcc_runtime.sh labeled_stmt
-   EXECNOW: LOG gen_labeled_stmt2.c BIN gen_labeled_stmt2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/labeled_stmt.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_labeled_stmt2.c > /dev/null && ./gcc_runtime.sh labeled_stmt2
 */
 
 int X = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i b/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i
index 2f93252af577a73247496eda732fea632737a2e3..c63e2764e36df8481c526a948655c46d7fcc35a1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: terms and predicates using lazy operators
-   EXECNOW: LOG gen_lazy.c BIN gen_lazy.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/lazy.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_lazy.c > /dev/null && ./gcc_runtime.sh lazy -Wno-div-by-zero
-   EXECNOW: LOG gen_lazy2.c BIN gen_lazy2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/lazy.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_lazy2.c > /dev/null && ./gcc_runtime.sh lazy2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i b/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i
index f0324f6405dc1d5800fb571a2439291f4085ee97..deaecad449293967d541cf34c15763192f8397e7 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: linear search (example from the SAC'13 article)
-   EXECNOW: LOG gen_linear_search.c BIN gen_linear_search.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/linear_search.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_linear_search.c > /dev/null && ./gcc_runtime.sh linear_search
-   EXECNOW: LOG gen_linear_search2.c BIN gen_linear_search2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/linear_search.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_linear_search2.c > /dev/null && ./gcc_runtime.sh linear_search2
 */
 
 int A[10];
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/literal_string.i b/src/plugins/e-acsl/tests/e-acsl-runtime/literal_string.i
index a089360b58b03e52eda81887cd11a2efbc572ec5..311aa4afae01b36ff1f05d534cef4e70567b101a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/literal_string.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/literal_string.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: literal string
-   EXECNOW: LOG gen_literal_string.c BIN gen_literal_string.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/literal_string.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_literal_string.c > /dev/null && ./gcc_runtime.sh literal_string
-   EXECNOW: LOG gen_literal_string2.c BIN gen_literal_string2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/literal_string.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_literal_string2.c > /dev/null && ./gcc_runtime.sh literal_string2
 */
 
 int main(void);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/localvar.c b/src/plugins/e-acsl/tests/e-acsl-runtime/localvar.c
index 24d11e3ff91525c99c955a5d8bc7b39a7fa5ec0f..b5a3aae483b25df30e1815b3880da5915968174e 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/localvar.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/localvar.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: allocation and de-allocation of local variables
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_localvar.c BIN gen_localvar.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/localvar.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_localvar.c > /dev/null && ./gcc_runtime.sh localvar
-   EXECNOW: LOG gen_localvar2.c BIN gen_localvar2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/localvar.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_localvar2.c > /dev/null && ./gcc_runtime.sh localvar2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include <stdlib.h>
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/longlong.i b/src/plugins/e-acsl/tests/e-acsl-runtime/longlong.i
deleted file mode 100644
index 061276f4f38897578768573330ae281e37daa4ab..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/longlong.i
+++ /dev/null
@@ -1,21 +0,0 @@
-/* run.config
-   COMMENT: upgrading longlong to GMP
-   STDOPT: +"-no-eva -val-ignore-recursive-calls"
-   EXECNOW: LOG gen_longlong.c BIN gen_longlong.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/longlong.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_longlong.c > /dev/null && ./gcc_runtime.sh longlong
-   EXECNOW: LOG gen_longlong2.c BIN gen_longlong2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/longlong.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_longlong2.c > /dev/null && ./gcc_runtime.sh longlong2
-*/
-
-unsigned long long my_pow(unsigned int x, unsigned int n) {
-  int tmp;
-  if (n <= 1) return 1;
-  tmp = my_pow(x, n / 2);
-  tmp *= tmp;
-  if (n % 2 == 0) return tmp;
-  return x * tmp;
-}
-
-int main(void) {
-  unsigned long long x = my_pow(2, 63);
-  /*@ assert (2 * x + 1) % 2 == 1; */
-  return 0;
-}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/loop.i b/src/plugins/e-acsl/tests/e-acsl-runtime/loop.i
index 85ed22b976cf08caf129b09bc4cd15fc1d5bed72..329c01164f94caa6e98649ac0e2e313922fd48ed 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/loop.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/loop.i
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: loop invariants
    STDOPT: +"-slevel 160"
-   EXECNOW: LOG gen_loop.c BIN gen_loop.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/loop.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_loop.c > /dev/null && ./gcc_runtime.sh loop
-   EXECNOW: LOG gen_loop2.c BIN gen_loop2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/loop.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_loop2.c > /dev/null && ./gcc_runtime.sh loop2
 */
 
 void simple_loop() {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/mainargs.c b/src/plugins/e-acsl/tests/e-acsl-runtime/mainargs.c
index ea74ed80131302ec454c10cbe897db32239bf897..df475a66627b274afc57e9d7aab44d9af3172654 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/mainargs.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/mainargs.c
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: the contents of argv should be valid
-   EXECNOW: LOG gen_mainargs.c BIN gen_mainargs.out @frama-c@ -machdep x86_64 -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/mainargs.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_mainargs.c > /dev/null && ./gcc_test.sh e-acsl-runtime mainargs "" bar baz
-   EXECNOW: LOG gen_mainargs2.c BIN gen_mainargs2.out @frama-c@ -machdep x86_64 -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/mainargs.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_mainargs2.c > /dev/null && ./gcc_test.sh e-acsl-runtime mainargs2 "" bar baz
 */
 
 #include <string.h>
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/memsize.c b/src/plugins/e-acsl/tests/e-acsl-runtime/memsize.c
index 1d630e2aaaf89d6702f8fddc863e07b13eb16385..f4e3c0b89d77ae7180f9d6c2a60c00878e807ffd 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/memsize.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/memsize.c
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: Checking heap memory size
-   EXECNOW: LOG gen_memsize.c  BIN gen_memsize.out  @frama-c@ -machdep=gcc_x86_$(getconf LONG_BIT) -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/memsize.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_memsize.c > /dev/null && ./gcc_runtime.sh memsize
-   EXECNOW: LOG gen_memsize2.c BIN gen_memsize2.out @frama-c@ -machdep=gcc_x86_$(getconf LONG_BIT) -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/memsize.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_memsize2.c > /dev/null && ./gcc_runtime.sh memsize2
 */
 
 #include <stdlib.h>
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i b/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i
index ccb46a1f663f3d5b941f94e5c01467ba9e9a8fcf..9e5f6cd72b5c6aeab1c25ab66040afdfbe450f76 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: structured stmt with several code annotations inside
-   EXECNOW: LOG gen_nested_code_annot.c BIN gen_nested_code_annot.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/nested_code_annot.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_nested_code_annot.c > /dev/null && ./gcc_runtime.sh nested_code_annot
-   EXECNOW: LOG gen_nested_code_annot2.c BIN gen_nested_code_annot2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/nested_code_annot.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_nested_code_annot2.c > /dev/null && ./gcc_runtime.sh nested_code_annot2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/not.i b/src/plugins/e-acsl/tests/e-acsl-runtime/not.i
deleted file mode 100644
index 96476d72b09808d0793c56fde0a03f4c5f78a9e0..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/not.i
+++ /dev/null
@@ -1,11 +0,0 @@
-/* run.config
-   COMMENT: predicate [!p]
-   EXECNOW: LOG gen_not.c BIN gen_not.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/not.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_not.c > /dev/null && ./gcc_runtime.sh not
-   EXECNOW: LOG gen_not2.c BIN gen_not2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/not.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_not2.c > /dev/null && ./gcc_runtime.sh not2
-*/
-int main(void) {
-  int x = 0;
-  /*@ assert ! x; */
-  if (x) /*@ assert x; */ ;
-  return 0;
-}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/null.i b/src/plugins/e-acsl/tests/e-acsl-runtime/null.i
index ff0a29e637cfecf3f31e05bd39f0353a5ec5fd2f..ac480613edf6b36516834eeb96a04de4f4ba6741 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/null.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/null.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: assert \null == 0
-   EXECNOW: LOG gen_null.c BIN gen_null.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/null.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_null.c > /dev/null && ./gcc_runtime.sh null
-   EXECNOW: LOG gen_null2.c BIN gen_null2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/null.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_null2.c > /dev/null && ./gcc_runtime.sh null2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.0.res.oracle
deleted file mode 100644
index 49684ab11266e7ec9733e2a32224b9e87322254a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.0.res.oracle
+++ /dev/null
@@ -1,20 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle
deleted file mode 100644
index 49684ab11266e7ec9733e2a32224b9e87322254a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.res.oracle
+++ /dev/null
@@ -1,20 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1326.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.0.res.oracle
deleted file mode 100644
index 0c77241ff78f009ed001537fff98034ca770b4ce..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.0.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.1.res.oracle
deleted file mode 100644
index 0c77241ff78f009ed001537fff98034ca770b4ce..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.1.res.oracle
+++ /dev/null
@@ -1,21 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialize
-[value] using specification for function __delete_block
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1390.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.0.res.oracle
deleted file mode 100644
index 2f339588463bc8f05aa1bf2ebac8874f03c071ed..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.0.res.oracle
+++ /dev/null
@@ -1,34 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  A ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __delete_block
-[value] using specification for function e_acsl_assert
-tests/e-acsl-runtime/at.i:14:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:14:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:53:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:53:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:54:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:54:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:55:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:55:[value] warning: assertion got status unknown.
-[value] using specification for function __initialize
-[value] using specification for function __valid_read
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/at.i:32:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:32:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:34:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:34:[value] warning: assertion got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.1.res.oracle
deleted file mode 100644
index 67d328ebf2ebf9badfbda61edc5ba8c7ded90b39..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.1.res.oracle
+++ /dev/null
@@ -1,34 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156_0
-[value] using specification for function __initialize
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1390.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.res.oracle
similarity index 55%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.res.oracle
index faed34d88a8025557e34b38394dfc056d5839c3f..6c1a2b8cdcb152a308b37236f8449ce089685793 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.res.oracle
@@ -1,10 +1,10 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/call.c:16:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/call.c:16:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/call.c:18:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/call.c:16:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -13,26 +13,6 @@ FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `assigns claus
 FRAMAC_SHARE/libc/stdlib.h:165:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156_0
-[value] using specification for function __initialize
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.0.res.oracle
deleted file mode 100644
index 22916af593bc51d099f1c9fbd3f61d3bc28369bf..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.0.res.oracle
+++ /dev/null
@@ -1,40 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  _F ∈ {9}
-  _A[0] ∈ {{ "XX" }}
-    [1] ∈ {{ "YY" }}
-  _B ∈ {{ "ZZ" }}
-  _C ∈ {0}
-  _D[0] ∈ {44}
-    [1] ∈ {88}
-  _E ∈ {44}
-  _G[0].str ∈ {{ "First" }}
-    [0].num ∈ {99}
-    [1].str ∈ {{ "Second" }}
-    [1].num ∈ {147}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-  __e_acsl_literal_string_4 ∈ {0}
-  __e_acsl_literal_string_5 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.1.res.oracle
deleted file mode 100644
index 033d0a1dab083b7871c7c9c419b1e24d76c8ed3a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.1.res.oracle
+++ /dev/null
@@ -1,43 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  _F ∈ {9}
-  _A[0] ∈ {{ "XX" }}
-    [1] ∈ {{ "YY" }}
-  _B ∈ {{ "ZZ" }}
-  _C ∈ {0}
-  _D[0] ∈ {44}
-    [1] ∈ {88}
-  _E ∈ {44}
-  _G[0].str ∈ {{ "First" }}
-    [0].num ∈ {99}
-    [1].str ∈ {{ "Second" }}
-    [1].num ∈ {147}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-  __e_acsl_literal_string_4 ∈ {0}
-  __e_acsl_literal_string_5 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1398.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.0.res.oracle
deleted file mode 100644
index c96be87ab712aed7a4c980d6ac2e95c6d4b19287..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.0.res.oracle
+++ /dev/null
@@ -1,48 +0,0 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/empty.i (no preprocessing)
-[e-acsl] beginning translation.
-[e-acsl] warning: cannot find entry point `main'.
-                  Please use option `-main' for specifying a valid entry point.
-                  The generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-[e-acsl] translation done in project "e-acsl".
-/* 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;
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.1.res.oracle
deleted file mode 100644
index c96be87ab712aed7a4c980d6ac2e95c6d4b19287..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.1.res.oracle
+++ /dev/null
@@ -1,48 +0,0 @@
-[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
-[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
-[kernel] Parsing tests/e-acsl-runtime/empty.i (no preprocessing)
-[e-acsl] beginning translation.
-[e-acsl] warning: cannot find entry point `main'.
-                  Please use option `-main' for specifying a valid entry point.
-                  The generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-[e-acsl] translation done in project "e-acsl".
-/* 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;
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.0.res.oracle
deleted file mode 100644
index 6d6583f6638659ea52612540c3655184360bf209..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.0.res.oracle
+++ /dev/null
@@ -1,13 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle
deleted file mode 100644
index 6d6583f6638659ea52612540c3655184360bf209..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.res.oracle
+++ /dev/null
@@ -1,13 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1398.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.1.res.oracle
deleted file mode 100644
index 48a19d4a6d12defc4ec3a28f2ddcf5e33f07e8c1..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.1.res.oracle
+++ /dev/null
@@ -1,31 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/e-acsl-runtime/freeable.c:15:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/freeable.c:15:[value] completely invalid value in evaluation of
-        argument (void *)p
-tests/e-acsl-runtime/freeable.c:15:[kernel] warning: accessing uninitialized left-value. assert \initialized(&p);
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1399.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1399.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.res.oracle
similarity index 66%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.res.oracle
index dfd6c7dcbab95dc74e4309982d4234ee5a5d2772..abe9c3312b1e7e0ddcf423b9bc5fcdf52edcd843 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.res.oracle
@@ -1,11 +1,11 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/freeable.c:11:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/freeable.c:11:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/freeable.c:13:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/freeable.c:11:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -21,19 +21,5 @@ FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns claus
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-tests/e-acsl-runtime/freeable.c:15:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/freeable.c:15:[value] completely invalid value in evaluation of
-        argument (void *)p
-tests/e-acsl-runtime/freeable.c:15:[kernel] warning: accessing uninitialized left-value. assert \initialized(&p);
-[value] done for function main
+tests/e-acsl-runtime/freeable.c:13:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/freeable.c:13:[kernel] warning: accessing uninitialized left-value. assert \initialized(&p);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.0.res.oracle
deleted file mode 100644
index 1e2b88ff34e699465b85de3400d61a0e30a1420f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.0.res.oracle
+++ /dev/null
@@ -1,16 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-  Y ∈ {2}
-[value] using specification for function e_acsl_assert
-[value] done for function main
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
deleted file mode 100644
index a5904b43663292ab0de1360a9433bd24c9feaecf..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-  Y ∈ {2}
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_add
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1399.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1399.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
index af4f3a3fd81e6a12e44cc40821871b136e2071d0..ee8d12e4a15ade44af12785feb26a5f0c52da7fd 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c
@@ -1,77 +1,12 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 void f(void)
 {
   int m;
   int *u;
   int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& u),4U);
-  __store_block((void *)(& m),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& u),8UL);
+  __store_block((void *)(& m),4UL);
   __full_init((void *)(& u));
   u = & m;
   __full_init((void *)(& p));
@@ -83,7 +18,7 @@ void f(void)
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)p,sizeof(int));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"f",
-                  (char *)"\\initialized(p)",12);
+                  (char *)"\\initialized(p)",10);
   }
   __delete_block((void *)(& p));
   __delete_block((void *)(& u));
@@ -99,7 +34,7 @@ int main(void)
   f();
   /*@ assert &x ≡ &x; */
   e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main",
-                (char *)"&x == &x",18);
+                (char *)"&x == &x",16);
   __retres = 0;
   __e_acsl_memory_clean();
   return __retres;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c
deleted file mode 100644
index af4f3a3fd81e6a12e44cc40821871b136e2071d0..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf2.c
+++ /dev/null
@@ -1,108 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-void f(void)
-{
-  int m;
-  int *u;
-  int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& u),4U);
-  __store_block((void *)(& m),4U);
-  __full_init((void *)(& u));
-  u = & m;
-  __full_init((void *)(& p));
-  p = u;
-  __full_init((void *)(& m));
-  m = 123;
-  /*@ assert \initialized(p); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)p,sizeof(int));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"f",
-                  (char *)"\\initialized(p)",12);
-  }
-  __delete_block((void *)(& p));
-  __delete_block((void *)(& u));
-  __delete_block((void *)(& m));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  f();
-  /*@ assert &x ≡ &x; */
-  e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main",
-                (char *)"&x == &x",18);
-  __retres = 0;
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias.c
index 2fde55817581fc8c604cb479e9dd71e9ee66fcb7..b7f5e92bcd28570befb55fc6c4305faadadf5b68 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias.c
@@ -1,78 +1,9 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 void f(int *dest, int val)
 {
   int *ptr;
-  __store_block((void *)(& ptr),4U);
-  __store_block((void *)(& dest),4U);
+  __store_block((void *)(& ptr),8UL);
+  __store_block((void *)(& dest),8UL);
   __full_init((void *)(& ptr));
   ptr = dest;
   __initialize((void *)ptr,sizeof(int));
@@ -86,14 +17,14 @@ int main(void)
 {
   int __retres;
   int i;
-  __store_block((void *)(& i),4U);
+  __store_block((void *)(& i),4UL);
   f(& i,255);
   /*@ assert \initialized(&i); */
   {
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)(& i),sizeof(int));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&i)",16);
+                  (char *)"\\initialized(&i)",14);
   }
   __retres = 0;
   __delete_block((void *)(& i));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias2.c
deleted file mode 100644
index 2fde55817581fc8c604cb479e9dd71e9ee66fcb7..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_alias2.c
+++ /dev/null
@@ -1,104 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-void f(int *dest, int val)
-{
-  int *ptr;
-  __store_block((void *)(& ptr),4U);
-  __store_block((void *)(& dest),4U);
-  __full_init((void *)(& ptr));
-  ptr = dest;
-  __initialize((void *)ptr,sizeof(int));
-  *ptr = val;
-  __delete_block((void *)(& dest));
-  __delete_block((void *)(& ptr));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int i;
-  __store_block((void *)(& i),4U);
-  f(& i,255);
-  /*@ assert \initialized(&i); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)(& i),sizeof(int));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&i)",16);
-  }
-  __retres = 0;
-  __delete_block((void *)(& i));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c
deleted file mode 100644
index 5514e19c20ca70b21b61efa166a1da16452842e4..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c
+++ /dev/null
@@ -1,111 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  int y;
-  x = -3;
-  y = 2;
-  /*@ assert -3 ≡ x; */
-  e_acsl_assert(-3 == x,(char *)"Assertion",(char *)"main",(char *)"-3 == x",
-                12);
-  /*@ assert x ≡ -3; */
-  e_acsl_assert(x == -3,(char *)"Assertion",(char *)"main",(char *)"x == -3",
-                13);
-  /*@ assert 0 ≢ ~0; */
-  e_acsl_assert(0 != ~ 0,(char *)"Assertion",(char *)"main",
-                (char *)"0 != ~0",14);
-  /*@ assert x+1 ≡ -2; */
-  e_acsl_assert((long long)x + (long long)1 == (long long)(-2),
-                (char *)"Assertion",(char *)"main",(char *)"x+1 == -2",16);
-  /*@ assert x-1 ≡ -4; */
-  e_acsl_assert((long long)x - (long long)1 == (long long)(-4),
-                (char *)"Assertion",(char *)"main",(char *)"x-1 == -4",17);
-  /*@ assert x*3 ≡ -9; */
-  e_acsl_assert((long long)x * (long long)3 == (long long)(-9),
-                (char *)"Assertion",(char *)"main",(char *)"x*3 == -9",18);
-  /*@ assert x/3 ≡ -1; */
-  e_acsl_assert(x / 3 == -1,(char *)"Assertion",(char *)"main",
-                (char *)"x/3 == -1",19);
-  /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */
-  e_acsl_assert(0xfffffffffff / 0xfffffffffff == 1,(char *)"Assertion",
-                (char *)"main",(char *)"0xfffffffffff/0xfffffffffff == 1",20);
-  /*@ assert x%2 ≡ -1; */
-  e_acsl_assert(x % 2 == -1,(char *)"Assertion",(char *)"main",
-                (char *)"x%2 == -1",21);
-  /*@ assert -3%-2 ≡ -1; */
-  e_acsl_assert(-3 % -2 == -1,(char *)"Assertion",(char *)"main",
-                (char *)"-3%-2 == -1",22);
-  /*@ assert 3%-2 ≡ 1; */
-  e_acsl_assert(3 % -2 == 1,(char *)"Assertion",(char *)"main",
-                (char *)"3%-2 == 1",23);
-  /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */
-  e_acsl_assert((((long long)x * (long long)2 + ((long long)3 + (long long)y)) - (long long)4) + (
-                (long long)x - (long long)y) == (long long)(-10),
-                (char *)"Assertion",(char *)"main",
-                (char *)"((x*2+(3+y))-4)+(x-y) == -10",25);
-  /*@ assert (0≡1) ≡ !(0≡0); */
-  e_acsl_assert((0 == 1) == ! (0 == 0),(char *)"Assertion",(char *)"main",
-                (char *)"(0==1) == !(0==0)",27);
-  /*@ assert (0≤-1) ≡ (0>0); */
-  e_acsl_assert((0 <= -1) == (0 > 0),(char *)"Assertion",(char *)"main",
-                (char *)"(0<=-1) == (0>0)",28);
-  /*@ assert (0≥-1) ≡ (0≤0); */
-  e_acsl_assert((0 >= -1) == (0 <= 0),(char *)"Assertion",(char *)"main",
-                (char *)"(0>=-1) == (0<=0)",29);
-  /*@ assert (0≢1) ≡ !(0≢0); */
-  e_acsl_assert((0 != 1) == ! (0 != 0),(char *)"Assertion",(char *)"main",
-                (char *)"(0!=1) == !(0!=0)",30);
-  /*@ assert (0≢0) ≡ !(1≢0); */
-  e_acsl_assert((0 != 0) == ! (1 != 0),(char *)"Assertion",(char *)"main",
-                (char *)"(0!=0) == !(1!=0)",32);
-  /*@ assert 4/y ≡ 2; */
-  e_acsl_assert(y != 0,(char *)"RTE",(char *)"main",
-                (char *)"division_by_zero: y != 0",33);
-  e_acsl_assert(4 / y == 2,(char *)"Assertion",(char *)"main",
-                (char *)"4/y == 2",33);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c
deleted file mode 100644
index 35a2e76b508a8b21d03bd4bea1672e66d7dbb609..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c
+++ /dev/null
@@ -1,73 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int T1[3];
-int T2[4];
-int main(void)
-{
-  int __retres;
-  {
-    int i;
-    i = 0;
-    while (i < 3) {
-      T1[i] = i;
-      i ++;
-    }
-  }
-  {
-    int i_0;
-    i_0 = 0;
-    while (i_0 < 4) {
-      T2[i_0] = 2 * i_0;
-      i_0 ++;
-    }
-  }
-  /*@ assert T1[0] ≡ T2[0]; */
-  e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",(char *)"main",
-                (char *)"T1[0] == T2[0]",15);
-  /*@ assert T1[1] ≢ T2[1]; */
-  e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",(char *)"main",
-                (char *)"T1[1] != T2[1]",16);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
deleted file mode 100644
index 37e6324859786f9fade1c3805d4ce9655391d462..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c
+++ /dev/null
@@ -1,118 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int T1[3];
-int T2[4];
-int main(void)
-{
-  int __retres;
-  {
-    int i;
-    i = 0;
-    while (i < 3) {
-      T1[i] = i;
-      i ++;
-    }
-  }
-  {
-    int i_0;
-    i_0 = 0;
-    while (i_0 < 4) {
-      T2[i_0] = 2 * i_0;
-      i_0 ++;
-    }
-  }
-  /*@ assert T1[0] ≡ T2[0]; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"T1[0] == T2[0]",15);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-  }
-  /*@ assert T1[1] ≢ T2[1]; */
-  {
-    mpz_t __e_acsl_3;
-    mpz_t __e_acsl_4;
-    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((__mpz_struct const *)(__e_acsl_3),
-                             (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                  (char *)"T1[1] != T2[1]",16);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_4);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call.c
index d8e01ffbb5d49b1671cfb6ccb5b22e510d764449..efb8e3d3aefd15d0da70e5d7973f5ed35884c4ae 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call.c
@@ -1,110 +1,9 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 /*@ ensures \valid(\result); */
 int *f(int *x, int *y)
 {
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& y),4U);
+  __store_block((void *)(& x),8UL);
+  __store_block((void *)(& y),8UL);
   __initialize((void *)y,sizeof(int));
   *y = 1;
   __delete_block((void *)(& x));
@@ -116,15 +15,15 @@ int *f(int *x, int *y)
 int *__e_acsl_f(int *x, int *y)
 {
   int *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& y),4U);
+  __store_block((void *)(& __retres),8UL);
+  __store_block((void *)(& x),8UL);
+  __store_block((void *)(& y),8UL);
   __retres = f(x,y);
   {
     int __e_acsl_valid;
     __e_acsl_valid = __valid((void *)__retres,sizeof(int));
     e_acsl_assert(__e_acsl_valid,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\valid(\\result)",12);
+                  (char *)"\\valid(\\result)",10);
     __delete_block((void *)(& x));
     __delete_block((void *)(& y));
     __delete_block((void *)(& __retres));
@@ -139,9 +38,9 @@ int main(void)
   int *p;
   int *q;
   int *r;
-  __store_block((void *)(& q),4U);
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(& q),8UL);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& x),4UL);
   __full_init((void *)(& x));
   x = 0;
   __full_init((void *)(& q));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call2.c
deleted file mode 100644
index d8e01ffbb5d49b1671cfb6ccb5b22e510d764449..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_call2.c
+++ /dev/null
@@ -1,162 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-/*@ ensures \valid(\result); */
-int *f(int *x, int *y)
-{
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& y),4U);
-  __initialize((void *)y,sizeof(int));
-  *y = 1;
-  __delete_block((void *)(& x));
-  __delete_block((void *)(& y));
-  return x;
-}
-
-/*@ ensures \valid(\result); */
-int *__e_acsl_f(int *x, int *y)
-{
-  int *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& y),4U);
-  __retres = f(x,y);
-  {
-    int __e_acsl_valid;
-    __e_acsl_valid = __valid((void *)__retres,sizeof(int));
-    e_acsl_assert(__e_acsl_valid,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\valid(\\result)",12);
-    __delete_block((void *)(& x));
-    __delete_block((void *)(& y));
-    __delete_block((void *)(& __retres));
-    return __retres;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  int x;
-  int *p;
-  int *q;
-  int *r;
-  __store_block((void *)(& q),4U);
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& x),4U);
-  __full_init((void *)(& x));
-  x = 0;
-  __full_init((void *)(& q));
-  q = (int *)__e_acsl_malloc(sizeof(int));
-  r = (int *)__e_acsl_malloc(sizeof(int));
-  __full_init((void *)(& p));
-  p = __e_acsl_f(& x,q);
-  __full_init((void *)(& q));
-  q = __e_acsl_f(& x,r);
-  __retres = 0;
-  __delete_block((void *)(& q));
-  __delete_block((void *)(& p));
-  __delete_block((void *)(& x));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c
deleted file mode 100644
index 7ec7966af9338cf83a608049790b593c869f8dc4..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c
+++ /dev/null
@@ -1,74 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  long x;
-  int y;
-  x = (long)0;
-  y = 0;
-  /*@ assert (int)x ≡ y; */
-  e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"main",
-                (char *)"(int)x == y",12);
-  /*@ assert x ≡ (long)y; */
-  e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"main",
-                (char *)"x == (long)y",13);
-  /*@ assert y ≡ (int)0; */
-  e_acsl_assert(y == 0,(char *)"Assertion",(char *)"main",
-                (char *)"y == (int)0",15);
-  /*@ assert (unsigned int)y ≡ (unsigned int)0; */
-  e_acsl_assert((unsigned int)y == (unsigned int)0,(char *)"Assertion",
-                (char *)"main",(char *)"(unsigned int)y == (unsigned int)0",
-                16);
-  /*@ assert y ≢ (int)0xfffffffffffffff; */
-  e_acsl_assert(y != (int)0xfffffffffffffff,(char *)"Assertion",
-                (char *)"main",(char *)"y != (int)0xfffffffffffffff",19);
-  /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */
-  e_acsl_assert((unsigned int)y != (unsigned int)0xfffffffffffffff,
-                (char *)"Assertion",(char *)"main",
-                (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
-                20);
-  __retres = 0;
-  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
deleted file mode 100644
index c45b13af2193bc8b0176187aa3e20aa03d214bfa..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c
+++ /dev/null
@@ -1,199 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z, \result;
-    assigns *z \from *(str+(0 ..)), base;
-    assigns \result \from *(str+(0 ..)), base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z,
-                                                                char const *str,
-                                                                int base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  long x;
-  int y;
-  x = (long)0;
-  y = 0;
-  /*@ assert (int)x ≡ y; */
-  {
-    mpz_t __e_acsl_cast;
-    mpz_t __e_acsl_y;
-    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((__mpz_struct const *)(__e_acsl_cast),
-                             (__mpz_struct const *)(__e_acsl_y));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"(int)x == y",12);
-    __gmpz_clear(__e_acsl_cast);
-    __gmpz_clear(__e_acsl_y);
-  }
-  /*@ assert x ≡ (long)y; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl_cast_2;
-    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((__mpz_struct const *)(__e_acsl_x),
-                               (__mpz_struct const *)(__e_acsl_cast_2));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"x == (long)y",13);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl_cast_2);
-  }
-  /*@ assert y ≡ (int)0; */
-  {
-    mpz_t __e_acsl_y_2;
-    mpz_t __e_acsl_cast_3;
-    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((__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 *)"main",
-                  (char *)"y == (int)0",15);
-    __gmpz_clear(__e_acsl_y_2);
-    __gmpz_clear(__e_acsl_cast_3);
-  }
-  /*@ assert (unsigned int)y ≡ (unsigned int)0; */
-  {
-    mpz_t __e_acsl_cast_4;
-    mpz_t __e_acsl_cast_5;
-    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((__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 *)"main",
-                  (char *)"(unsigned int)y == (unsigned int)0",16);
-    __gmpz_clear(__e_acsl_cast_4);
-    __gmpz_clear(__e_acsl_cast_5);
-  }
-  /*@ assert y ≢ (int)0xfffffffffffffff; */
-  {
-    mpz_t __e_acsl_y_3;
-    mpz_t __e_acsl;
-    unsigned long __e_acsl_2;
-    mpz_t __e_acsl_cast_6;
-    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((__mpz_struct const *)(__e_acsl));
-    __gmpz_init_set_si(__e_acsl_cast_6,(long)((int)__e_acsl_2));
-    __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 *)"main",
-                  (char *)"y != (int)0xfffffffffffffff",19);
-    __gmpz_clear(__e_acsl_y_3);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_cast_6);
-  }
-  /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */
-  {
-    mpz_t __e_acsl_cast_7;
-    mpz_t __e_acsl_3;
-    unsigned long __e_acsl_4;
-    mpz_t __e_acsl_cast_8;
-    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((__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((__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 *)"main",
-                  (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
-                  20);
-    __gmpz_clear(__e_acsl_cast_7);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_cast_8);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers.c
index 27996ac8709e0d0fd748d7e102da690d3722b5af..5821a3b4a08153587fbf611e705b2e6e2dd58116 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers.c
@@ -4,94 +4,10 @@ char *__e_acsl_literal_string;
 char *__e_acsl_literal_string_2;
 char *__e_acsl_literal_string_4;
 char *__e_acsl_literal_string_5;
-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 long size_t;
 struct ST {
    char *str ;
    int num ;
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int _F;
 
 char *_A[2] = {(char *)"XX", (char *)"YY"};
@@ -150,7 +66,7 @@ int main(int argc, char **argv)
     int __e_acsl_valid;
     __e_acsl_valid = __valid((void *)(_A),sizeof(char *));
     e_acsl_assert(__e_acsl_valid,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid((char **)_A)",35);
+                  (char *)"\\valid((char **)_A)",33);
   }
   /*@ assert \valid_read(_A[0]); */
   {
@@ -164,7 +80,7 @@ int main(int argc, char **argv)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_A[0])",36);
+                  (char *)"\\valid_read(_A[0])",34);
   }
   /*@ assert \valid_read(_A[1]); */
   {
@@ -178,56 +94,56 @@ int main(int argc, char **argv)
     }
     else __e_acsl_and_2 = 0;
     e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_A[1])",37);
+                  (char *)"\\valid_read(_A[1])",35);
   }
   /*@ assert \valid_read(_B); */
   {
     int __e_acsl_valid_read_3;
     __e_acsl_valid_read_3 = __valid_read((void *)_B,sizeof(char));
     e_acsl_assert(__e_acsl_valid_read_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_B)",38);
+                  (char *)"\\valid_read(_B)",36);
   }
   /*@ assert \valid(&_C); */
   {
     int __e_acsl_valid_2;
     __e_acsl_valid_2 = __valid((void *)(& _C),sizeof(char *));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_C)",39);
+                  (char *)"\\valid(&_C)",37);
   }
   /*@ assert \valid((int *)_D); */
   {
     int __e_acsl_valid_3;
     __e_acsl_valid_3 = __valid((void *)(_D),sizeof(int));
     e_acsl_assert(__e_acsl_valid_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid((int *)_D)",40);
+                  (char *)"\\valid((int *)_D)",38);
   }
   /*@ assert \valid(&_E); */
   {
     int __e_acsl_valid_4;
     __e_acsl_valid_4 = __valid((void *)(& _E),sizeof(int));
     e_acsl_assert(__e_acsl_valid_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_E)",41);
+                  (char *)"\\valid(&_E)",39);
   }
   /*@ assert \valid(&_F); */
   {
     int __e_acsl_valid_5;
     __e_acsl_valid_5 = __valid((void *)(& _F),sizeof(int));
     e_acsl_assert(__e_acsl_valid_5,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_F)",42);
+                  (char *)"\\valid(&_F)",40);
   }
   /*@ assert _E ≡ 44; */
   e_acsl_assert(_E == 44,(char *)"Assertion",(char *)"main",
-                (char *)"_E == 44",43);
+                (char *)"_E == 44",41);
   /*@ assert \valid(&_G); */
   {
     int __e_acsl_valid_6;
     __e_acsl_valid_6 = __valid((void *)(& _G),sizeof(struct ST [2]));
     e_acsl_assert(__e_acsl_valid_6,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_G)",44);
+                  (char *)"\\valid(&_G)",42);
   }
   /*@ assert _G[0].num ≡ 99; */
   e_acsl_assert(_G[0].num == 99,(char *)"Assertion",(char *)"main",
-                (char *)"_G[0].num == 99",45);
+                (char *)"_G[0].num == 99",43);
   __retres = 0;
   __delete_block((void *)(_G));
   __delete_block((void *)(& _E));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers2.c
deleted file mode 100644
index 006f7b2a248b4d8f1c819547710bd269f940c1d1..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_compound_initializers2.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/* Generated by Frama-C */
-char *__e_acsl_literal_string_3;
-char *__e_acsl_literal_string;
-char *__e_acsl_literal_string_2;
-char *__e_acsl_literal_string_4;
-char *__e_acsl_literal_string_5;
-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 long size_t;
-struct ST {
-   char *str ;
-   int num ;
-};
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int _F;
-
-char *_A[2] = {(char *)"XX", (char *)"YY"};
-char *_B = (char *)"ZZ";
-char *_C;
-int _D[2] = {44, 88};
-int _E = 44;
-int _F = 9;
-struct ST _G[2] =
-  {{.str = (char *)"First", .num = 99}, {.str = (char *)"Second", .num = 147}};
-void __e_acsl_memory_init(void)
-{
-  __e_acsl_literal_string_3 = "ZZ";
-  __store_block((void *)__e_acsl_literal_string_3,sizeof("ZZ"));
-  __full_init((void *)__e_acsl_literal_string_3);
-  __literal_string((void *)__e_acsl_literal_string_3);
-  __e_acsl_literal_string = "YY";
-  __store_block((void *)__e_acsl_literal_string,sizeof("YY"));
-  __full_init((void *)__e_acsl_literal_string);
-  __literal_string((void *)__e_acsl_literal_string);
-  __e_acsl_literal_string_2 = "XX";
-  __store_block((void *)__e_acsl_literal_string_2,sizeof("XX"));
-  __full_init((void *)__e_acsl_literal_string_2);
-  __literal_string((void *)__e_acsl_literal_string_2);
-  __e_acsl_literal_string_4 = "Second";
-  __store_block((void *)__e_acsl_literal_string_4,sizeof("Second"));
-  __full_init((void *)__e_acsl_literal_string_4);
-  __literal_string((void *)__e_acsl_literal_string_4);
-  __e_acsl_literal_string_5 = "First";
-  __store_block((void *)__e_acsl_literal_string_5,sizeof("First"));
-  __full_init((void *)__e_acsl_literal_string_5);
-  __literal_string((void *)__e_acsl_literal_string_5);
-  __store_block((void *)(_G),32UL);
-  __full_init((void *)(& _G));
-  __store_block((void *)(& _E),4UL);
-  __full_init((void *)(& _E));
-  __store_block((void *)(_D),8UL);
-  __full_init((void *)(& _D));
-  __store_block((void *)(& _C),8UL);
-  __full_init((void *)(& _C));
-  __store_block((void *)(& _B),8UL);
-  __full_init((void *)(& _B));
-  __store_block((void *)(_A),16UL);
-  __full_init((void *)(& _A));
-  __store_block((void *)(& _F),4UL);
-  __full_init((void *)(& _F));
-  return;
-}
-
-int main(int argc, char **argv)
-{
-  int __retres;
-  __e_acsl_memory_init();
-  /*@ assert \valid((char **)_A); */
-  {
-    int __e_acsl_valid;
-    __e_acsl_valid = __valid((void *)(_A),sizeof(char *));
-    e_acsl_assert(__e_acsl_valid,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid((char **)_A)",35);
-  }
-  /*@ assert \valid_read(_A[0]); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    __e_acsl_initialized = __initialized((void *)(_A),sizeof(char *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid_read;
-      __e_acsl_valid_read = __valid_read((void *)_A[0],sizeof(char));
-      __e_acsl_and = __e_acsl_valid_read;
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_A[0])",36);
-  }
-  /*@ assert \valid_read(_A[1]); */
-  {
-    int __e_acsl_initialized_2;
-    int __e_acsl_and_2;
-    __e_acsl_initialized_2 = __initialized((void *)(& _A[1]),sizeof(char *));
-    if (__e_acsl_initialized_2) {
-      int __e_acsl_valid_read_2;
-      __e_acsl_valid_read_2 = __valid_read((void *)_A[1],sizeof(char));
-      __e_acsl_and_2 = __e_acsl_valid_read_2;
-    }
-    else __e_acsl_and_2 = 0;
-    e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_A[1])",37);
-  }
-  /*@ assert \valid_read(_B); */
-  {
-    int __e_acsl_valid_read_3;
-    __e_acsl_valid_read_3 = __valid_read((void *)_B,sizeof(char));
-    e_acsl_assert(__e_acsl_valid_read_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(_B)",38);
-  }
-  /*@ assert \valid(&_C); */
-  {
-    int __e_acsl_valid_2;
-    __e_acsl_valid_2 = __valid((void *)(& _C),sizeof(char *));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_C)",39);
-  }
-  /*@ assert \valid((int *)_D); */
-  {
-    int __e_acsl_valid_3;
-    __e_acsl_valid_3 = __valid((void *)(_D),sizeof(int));
-    e_acsl_assert(__e_acsl_valid_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid((int *)_D)",40);
-  }
-  /*@ assert \valid(&_E); */
-  {
-    int __e_acsl_valid_4;
-    __e_acsl_valid_4 = __valid((void *)(& _E),sizeof(int));
-    e_acsl_assert(__e_acsl_valid_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_E)",41);
-  }
-  /*@ assert \valid(&_F); */
-  {
-    int __e_acsl_valid_5;
-    __e_acsl_valid_5 = __valid((void *)(& _F),sizeof(int));
-    e_acsl_assert(__e_acsl_valid_5,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_F)",42);
-  }
-  /*@ assert _E ≡ 44; */
-  {
-    mpz_t __e_acsl__E;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl__E,(long)_E);
-    __gmpz_init_set_si(__e_acsl,(long)44);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl__E),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"_E == 44",43);
-    __gmpz_clear(__e_acsl__E);
-    __gmpz_clear(__e_acsl);
-  }
-  /*@ assert \valid(&_G); */
-  {
-    int __e_acsl_valid_6;
-    __e_acsl_valid_6 = __valid((void *)(& _G),sizeof(struct ST [2]));
-    e_acsl_assert(__e_acsl_valid_6,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&_G)",44);
-  }
-  /*@ assert _G[0].num ≡ 99; */
-  {
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    int __e_acsl_eq_2;
-    __gmpz_init_set_si(__e_acsl_2,(long)_G[0].num);
-    __gmpz_init_set_si(__e_acsl_3,(long)99);
-    __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 *)"main",
-                  (char *)"_G[0].num == 99",45);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-  }
-  __retres = 0;
-  __delete_block((void *)(_G));
-  __delete_block((void *)(& _E));
-  __delete_block((void *)(_D));
-  __delete_block((void *)(& _C));
-  __delete_block((void *)(& _B));
-  __delete_block((void *)(_A));
-  __delete_block((void *)(& _F));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
index f5f1034d24985c3bc201e90dc70fce0b443b0396..63f0f0cd62edec69db2bfcd2d7027689be58a4ac 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -46,7 +6,7 @@ int main(void)
   x = 0;
   if (x) 
     /*@ assert \false; */
-    e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",8);
+    e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",6);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c
deleted file mode 100644
index f5f1034d24985c3bc201e90dc70fce0b443b0396..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false2.c
+++ /dev/null
@@ -1,54 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  if (x) 
-    /*@ assert \false; */
-    e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",8);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable.c
index a0f898886369d8a7f219edc1c72767a2d653b952..9d21ec0863e4d25cc776d05c9cec877825ba40a2 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable.c
@@ -1,141 +1,4 @@
 /* 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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int main(void)
 {
   int __retres;
@@ -144,16 +7,17 @@ int main(void)
   /*@ assert ¬\freeable(p); */
   {
     int __e_acsl_freeable;
+    /*@ assert Value: initialisation: \initialized(&p); */
     __e_acsl_freeable = __freeable((void *)p);
     e_acsl_assert(! __e_acsl_freeable,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p)",15);
+                  (char *)"!\\freeable(p)",13);
   }
   /*@ assert ¬\freeable((void *)0); */
   {
     int __e_acsl_freeable_2;
     __e_acsl_freeable_2 = __freeable((void *)0);
     e_acsl_assert(! __e_acsl_freeable_2,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable((void *)0)",16);
+                  (char *)"!\\freeable((void *)0)",14);
   }
   __full_init((void *)(& p));
   p = (int *)__e_acsl_malloc((unsigned long)4 * sizeof(int));
@@ -162,14 +26,14 @@ int main(void)
     int __e_acsl_freeable_3;
     __e_acsl_freeable_3 = __freeable((void *)(p + 1));
     e_acsl_assert(! __e_acsl_freeable_3,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p+1)",18);
+                  (char *)"!\\freeable(p+1)",16);
   }
   /*@ assert \freeable(p); */
   {
     int __e_acsl_freeable_4;
     __e_acsl_freeable_4 = __freeable((void *)p);
     e_acsl_assert(__e_acsl_freeable_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\freeable(p)",19);
+                  (char *)"\\freeable(p)",17);
   }
   __e_acsl_free((void *)p);
   /*@ assert ¬\freeable(p); */
@@ -177,7 +41,7 @@ int main(void)
     int __e_acsl_freeable_5;
     __e_acsl_freeable_5 = __freeable((void *)p);
     e_acsl_assert(! __e_acsl_freeable_5,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p)",21);
+                  (char *)"!\\freeable(p)",19);
   }
   __retres = 0;
   __delete_block((void *)(& p));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable2.c
deleted file mode 100644
index a2f9948ec8b2b8d915f8cddab60a0e6038fcae2c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_freeable2.c
+++ /dev/null
@@ -1,188 +0,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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int main(void)
-{
-  int __retres;
-  int *p;
-  __store_block((void *)(& p),8UL);
-  /*@ assert ¬\freeable(p); */
-  {
-    int __e_acsl_freeable;
-    __e_acsl_freeable = __freeable((void *)p);
-    e_acsl_assert(! __e_acsl_freeable,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p)",15);
-  }
-  /*@ assert ¬\freeable((void *)0); */
-  {
-    int __e_acsl_freeable_2;
-    __e_acsl_freeable_2 = __freeable((void *)0);
-    e_acsl_assert(! __e_acsl_freeable_2,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable((void *)0)",16);
-  }
-  __full_init((void *)(& p));
-  p = (int *)__e_acsl_malloc((unsigned long)4 * sizeof(int));
-  /*@ assert ¬\freeable(p+1); */
-  {
-    int __e_acsl_freeable_3;
-    __e_acsl_freeable_3 = __freeable((void *)(p + (long)1));
-    e_acsl_assert(! __e_acsl_freeable_3,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p+1)",18);
-  }
-  /*@ assert \freeable(p); */
-  {
-    int __e_acsl_freeable_4;
-    __e_acsl_freeable_4 = __freeable((void *)p);
-    e_acsl_assert(__e_acsl_freeable_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\freeable(p)",19);
-  }
-  __e_acsl_free((void *)p);
-  /*@ assert ¬\freeable(p); */
-  {
-    int __e_acsl_freeable_5;
-    __e_acsl_freeable_5 = __freeable((void *)p);
-    e_acsl_assert(! __e_acsl_freeable_5,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\freeable(p)",21);
-  }
-  __retres = 0;
-  __delete_block((void *)(& p));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
index 02887746306ca35fc5d113bf4058dd65d33bcc52..88f02b5b1ad5b70d798124a35d8f0d3be8e8a7c7 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int X = 0;
 int Y = 2;
 /*@ ensures X ≡ 1; */
@@ -53,7 +13,7 @@ void __e_acsl_f(void)
 {
   f();
   e_acsl_assert(X == 1,(char *)"Postcondition",(char *)"f",(char *)"X == 1",
-                10);
+                8);
   return;
 }
 
@@ -71,9 +31,9 @@ void __e_acsl_g(void)
 {
   g();
   e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"g",(char *)"X == 2",
-                14);
+                12);
   e_acsl_assert(Y == 2,(char *)"Postcondition",(char *)"g",(char *)"Y == 2",
-                15);
+                13);
   return;
 }
 
@@ -88,7 +48,7 @@ void h(void)
 void __e_acsl_h(void)
 {
   e_acsl_assert(X == 2,(char *)"Precondition",(char *)"h",(char *)"X == 2",
-                19);
+                17);
   h();
   return;
 }
@@ -106,9 +66,9 @@ void i(void)
 void __e_acsl_i(void)
 {
   e_acsl_assert(X == 3,(char *)"Precondition",(char *)"i",(char *)"X == 3",
-                23);
+                21);
   e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"i",(char *)"Y == 2",
-                24);
+                22);
   i();
   return;
 }
@@ -140,16 +100,16 @@ void j(void)
 void __e_acsl_j(void)
 {
   e_acsl_assert(X == 5,(char *)"Precondition",(char *)"j",(char *)"X == 5",
-                29);
-  e_acsl_assert((long long)X == (long long)3 + (long long)Y,
-                (char *)"Precondition",(char *)"j",(char *)"X == 3+Y",32);
+                27);
+  e_acsl_assert((long)X == (long)3 + (long)Y,(char *)"Precondition",
+                (char *)"j",(char *)"X == 3+Y",30);
   e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"j",(char *)"Y == 2",
-                33);
+                31);
   j();
   e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"j",(char *)"X == 3",
-                30);
-  e_acsl_assert((long long)X == (long long)Y + (long long)1,
-                (char *)"Postcondition",(char *)"j",(char *)"X == Y+1",34);
+                28);
+  e_acsl_assert((long)X == (long)Y + (long)1,(char *)"Postcondition",
+                (char *)"j",(char *)"X == Y+1",32);
   return;
 }
 
@@ -189,17 +149,17 @@ void __e_acsl_k(void)
     int __e_acsl_implies_3;
     if (! (X == 1)) __e_acsl_implies = 1; else __e_acsl_implies = X == 0;
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"k",
-                  (char *)"X == 1 ==> X == 0",40);
+                  (char *)"X == 1 ==> X == 0",38);
     if (X == 3) __e_acsl_and = Y == 2; else __e_acsl_and = 0;
     if (! __e_acsl_and) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = X == 3;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",(char *)"k",
-                  (char *)"X == 3 && Y == 2 ==> X == 3",44);
+                  (char *)"X == 3 && Y == 2 ==> X == 3",42);
     if (X == 3) __e_acsl_and_2 = Y == 2; else __e_acsl_and_2 = 0;
     if (! __e_acsl_and_2) __e_acsl_implies_3 = 1;
-    else __e_acsl_implies_3 = (long long)X + (long long)Y == (long long)5;
+    else __e_acsl_implies_3 = (long)X + (long)Y == (long)5;
     e_acsl_assert(__e_acsl_implies_3,(char *)"Precondition",(char *)"k",
-                  (char *)"X == 3 && Y == 2 ==> X+Y == 5",45);
+                  (char *)"X == 3 && Y == 2 ==> X+Y == 5",43);
     k();
   }
   return;
@@ -209,7 +169,7 @@ void __e_acsl_k(void)
 int l(void)
 {
   /*@ assert Y ≡ 2; */
-  e_acsl_assert(Y == 2,(char *)"Assertion",(char *)"l",(char *)"Y == 2",51);
+  e_acsl_assert(Y == 2,(char *)"Assertion",(char *)"l",(char *)"Y == 2",49);
   return X;
 }
 
@@ -219,7 +179,7 @@ int __e_acsl_l(void)
   int __retres;
   __retres = l();
   e_acsl_assert(X == 5,(char *)"Postcondition",(char *)"l",(char *)"X == 5",
-                49);
+                47);
   return __retres;
 }
 
@@ -274,15 +234,15 @@ void __e_acsl_m(void)
     int __e_acsl_implies_3;
     if (! __e_acsl_at) __e_acsl_implies = 1; else __e_acsl_implies = X == 95;
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 7) ==> X == 95",58);
+                  (char *)"\\old(X == 7) ==> X == 95",56);
     if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = X == 7;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 5 && Y == 2) ==> X == 7",62);
+                  (char *)"\\old(X == 5 && Y == 2) ==> X == 7",60);
     if (! __e_acsl_at_3) __e_acsl_implies_3 = 1;
-    else __e_acsl_implies_3 = (long long)X == (long long)__e_acsl_at_4 + (long long)Y;
+    else __e_acsl_implies_3 = (long)X == (long)__e_acsl_at_4 + (long)Y;
     e_acsl_assert(__e_acsl_implies_3,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y",63);
+                  (char *)"\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y",61);
     return;
   }
 }
@@ -319,9 +279,9 @@ void __e_acsl_n(void)
 {
   int __e_acsl_at_2;
   int __e_acsl_at;
-  e_acsl_assert(X > 0,(char *)"Precondition",(char *)"n",(char *)"X > 0",67);
+  e_acsl_assert(X > 0,(char *)"Precondition",(char *)"n",(char *)"X > 0",65);
   e_acsl_assert(X < 10,(char *)"Precondition",(char *)"n",(char *)"X < 10",
-                68);
+                66);
   __e_acsl_at_2 = X == 5;
   __e_acsl_at = X == 7;
   n();
@@ -330,11 +290,11 @@ void __e_acsl_n(void)
     int __e_acsl_implies_2;
     if (! __e_acsl_at) __e_acsl_implies = 1; else __e_acsl_implies = X == 8;
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"n",
-                  (char *)"\\old(X == 7) ==> X == 8",71);
+                  (char *)"\\old(X == 7) ==> X == 8",69);
     if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = X == 98;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"n",
-                  (char *)"\\old(X == 5) ==> X == 98",74);
+                  (char *)"\\old(X == 5) ==> X == 98",72);
     return;
   }
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
deleted file mode 100644
index 329843c1b49ed25ad473048f7581ca044351cf0b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c
+++ /dev/null
@@ -1,779 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int X = 0;
-int Y = 2;
-/*@ ensures X ≡ 1; */
-void f(void)
-{
-  X = 1;
-  return;
-}
-
-/*@ ensures X ≡ 1; */
-void __e_acsl_f(void)
-{
-  f();
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"f",
-                  (char *)"X == 1",10);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    return;
-  }
-}
-
-/*@ ensures X ≡ 2;
-    ensures Y ≡ 2; */
-void g(void)
-{
-  X = 2;
-  return;
-}
-
-/*@ ensures X ≡ 2;
-    ensures Y ≡ 2; */
-void __e_acsl_g(void)
-{
-  g();
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    mpz_t __e_acsl_Y;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"g",
-                  (char *)"X == 2",14);
-    __gmpz_init_set_si(__e_acsl_Y,(long)Y);
-    __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 *)"g",
-                  (char *)"Y == 2",15);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_Y);
-    return;
-  }
-}
-
-/*@ requires X ≡ 2; */
-void h(void)
-{
-  X ++;
-  return;
-}
-
-/*@ requires X ≡ 2; */
-void __e_acsl_h(void)
-{
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"h",
-                  (char *)"X == 2",19);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    h();
-  }
-  return;
-}
-
-/*@ requires X ≡ 3;
-    requires Y ≡ 2; */
-void i(void)
-{
-  X += Y;
-  return;
-}
-
-/*@ requires X ≡ 3;
-    requires Y ≡ 2; */
-void __e_acsl_i(void)
-{
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    mpz_t __e_acsl_Y;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"i",
-                  (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((__mpz_struct const *)(__e_acsl_Y),
-                               (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",(char *)"i",
-                  (char *)"Y == 2",24);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_Y);
-    __gmpz_clear(__e_acsl_2);
-    i();
-  }
-  return;
-}
-
-/*@ behavior b1:
-      requires X ≡ 5;
-      ensures X ≡ 3;
-    
-    behavior b2:
-      requires X ≡ 3+Y;
-      requires Y ≡ 2;
-      ensures X ≡ Y+1;
- */
-void j(void)
-{
-  X = 3;
-  return;
-}
-
-/*@ behavior b1:
-      requires X ≡ 5;
-      ensures X ≡ 3;
-    
-    behavior b2:
-      requires X ≡ 3+Y;
-      requires Y ≡ 2;
-      ensures X ≡ Y+1;
- */
-void __e_acsl_j(void)
-{
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_Y;
-    mpz_t __e_acsl_add;
-    int __e_acsl_eq_2;
-    mpz_t __e_acsl_3;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"j",
-                  (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,(__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 *)"j",
-                  (char *)"X == 3+Y",32);
-    __gmpz_init_set_si(__e_acsl_3,(long)2);
-    __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 *)"j",
-                  (char *)"Y == 2",33);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_Y);
-    __gmpz_clear(__e_acsl_add);
-    __gmpz_clear(__e_acsl_3);
-    j();
-  }
-  {
-    mpz_t __e_acsl_X_2;
-    mpz_t __e_acsl_4;
-    int __e_acsl_eq_4;
-    mpz_t __e_acsl_Y_2;
-    mpz_t __e_acsl_5;
-    mpz_t __e_acsl_add_2;
-    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((__mpz_struct const *)(__e_acsl_X_2),
-                               (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Postcondition",(char *)"j",
-                  (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,(__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 *)"j",
-                  (char *)"X == Y+1",34);
-    __gmpz_clear(__e_acsl_X_2);
-    __gmpz_clear(__e_acsl_4);
-    __gmpz_clear(__e_acsl_Y_2);
-    __gmpz_clear(__e_acsl_5);
-    __gmpz_clear(__e_acsl_add_2);
-    return;
-  }
-}
-
-/*@ behavior b1:
-      assumes X ≡ 1;
-      requires X ≡ 0;
-    
-    behavior b2:
-      assumes X ≡ 3;
-      assumes Y ≡ 2;
-      requires X ≡ 3;
-      requires X+Y ≡ 5;
- */
-void k(void)
-{
-  X += Y;
-  return;
-}
-
-/*@ behavior b1:
-      assumes X ≡ 1;
-      requires X ≡ 0;
-    
-    behavior b2:
-      assumes X ≡ 3;
-      assumes Y ≡ 2;
-      requires X ≡ 3;
-      requires X+Y ≡ 5;
- */
-void __e_acsl_k(void)
-{
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    int __e_acsl_implies;
-    mpz_t __e_acsl_3;
-    int __e_acsl_eq_3;
-    int __e_acsl_and;
-    int __e_acsl_implies_2;
-    int __e_acsl_eq_6;
-    int __e_acsl_and_2;
-    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((__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;
-      mpz_t __e_acsl_2;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"k",
-                  (char *)"X == 1 ==> X == 0",40);
-    __gmpz_init_set_si(__e_acsl_3,(long)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((__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);
-    }
-    else __e_acsl_and = 0;
-    if (! __e_acsl_and) __e_acsl_implies_2 = 1;
-    else {
-      mpz_t __e_acsl_X_3;
-      mpz_t __e_acsl_5;
-      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((__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 *)"k",
-                  (char *)"X == 3 && Y == 2 ==> X == 3",44);
-    __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((__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);
-    }
-    else __e_acsl_and_2 = 0;
-    if (! __e_acsl_and_2) __e_acsl_implies_3 = 1;
-    else {
-      mpz_t __e_acsl_X_4;
-      mpz_t __e_acsl_Y_3;
-      mpz_t __e_acsl_add;
-      mpz_t __e_acsl_7;
-      int __e_acsl_eq_8;
-      __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,(__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((__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);
-      __gmpz_clear(__e_acsl_add);
-      __gmpz_clear(__e_acsl_7);
-    }
-    e_acsl_assert(__e_acsl_implies_3,(char *)"Precondition",(char *)"k",
-                  (char *)"X == 3 && Y == 2 ==> X+Y == 5",45);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_3);
-    k();
-  }
-  return;
-}
-
-/*@ ensures X ≡ 5; */
-int l(void)
-{
-  /*@ assert Y ≡ 2; */
-  {
-    mpz_t __e_acsl_Y;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_Y),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"l",
-                  (char *)"Y == 2",51);
-    __gmpz_clear(__e_acsl_Y);
-    __gmpz_clear(__e_acsl);
-  }
-  return X;
-}
-
-/*@ ensures X ≡ 5; */
-int __e_acsl_l(void)
-{
-  int __retres;
-  __retres = l();
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_X,(long)X);
-    __gmpz_init_set_si(__e_acsl,(long)5);
-    __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 *)"l",
-                  (char *)"X == 5",49);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    return __retres;
-  }
-}
-
-/*@ behavior b1:
-      assumes X ≡ 7;
-      ensures X ≡ 95;
-    
-    behavior b2:
-      assumes X ≡ 5;
-      assumes Y ≡ 2;
-      ensures X ≡ 7;
-      ensures X ≡ \old(X)+Y;
- */
-void m(void)
-{
-  X += Y;
-  return;
-}
-
-/*@ behavior b1:
-      assumes X ≡ 7;
-      ensures X ≡ 95;
-    
-    behavior b2:
-      assumes X ≡ 5;
-      assumes Y ≡ 2;
-      ensures X ≡ 7;
-      ensures X ≡ \old(X)+Y;
- */
-void __e_acsl_m(void)
-{
-  int __e_acsl_at_4;
-  int __e_acsl_at_3;
-  int __e_acsl_at_2;
-  int __e_acsl_at;
-  __e_acsl_at_4 = X;
-  {
-    mpz_t __e_acsl_X_5;
-    mpz_t __e_acsl_6;
-    int __e_acsl_eq_6;
-    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((__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((__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);
-    }
-    else __e_acsl_and_2 = 0;
-    __e_acsl_at_3 = __e_acsl_and_2;
-    __gmpz_clear(__e_acsl_X_5);
-    __gmpz_clear(__e_acsl_6);
-  }
-  {
-    mpz_t __e_acsl_X_3;
-    mpz_t __e_acsl_3;
-    int __e_acsl_eq_3;
-    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((__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((__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);
-    }
-    else __e_acsl_and = 0;
-    __e_acsl_at_2 = __e_acsl_and;
-    __gmpz_clear(__e_acsl_X_3);
-    __gmpz_clear(__e_acsl_3);
-  }
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    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((__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);
-  }
-  m();
-  {
-    int __e_acsl_implies;
-    int __e_acsl_implies_2;
-    int __e_acsl_implies_3;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else {
-      mpz_t __e_acsl_X_2;
-      mpz_t __e_acsl_2;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 7) ==> X == 95",58);
-    if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
-    else {
-      mpz_t __e_acsl_X_4;
-      mpz_t __e_acsl_5;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 5 && Y == 2) ==> X == 7",62);
-    if (! __e_acsl_at_3) __e_acsl_implies_3 = 1;
-    else {
-      mpz_t __e_acsl_X_6;
-      mpz_t __e_acsl_8;
-      mpz_t __e_acsl_Y_3;
-      mpz_t __e_acsl_add;
-      int __e_acsl_eq_8;
-      __gmpz_init_set_si(__e_acsl_X_6,(long)X);
-      __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,(__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);
-      __gmpz_clear(__e_acsl_Y_3);
-      __gmpz_clear(__e_acsl_add);
-    }
-    e_acsl_assert(__e_acsl_implies_3,(char *)"Postcondition",(char *)"m",
-                  (char *)"\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y",63);
-    return;
-  }
-}
-
-/*@ requires X > 0;
-    requires X < 10;
-    
-    behavior b1:
-      assumes X ≡ 7;
-      ensures X ≡ 8;
-    
-    behavior b2:
-      assumes X ≡ 5;
-      ensures X ≡ 98;
- */
-void n(void)
-{
-  X ++;
-  return;
-}
-
-/*@ requires X > 0;
-    requires X < 10;
-    
-    behavior b1:
-      assumes X ≡ 7;
-      ensures X ≡ 8;
-    
-    behavior b2:
-      assumes X ≡ 5;
-      ensures X ≡ 98;
- */
-void __e_acsl_n(void)
-{
-  int __e_acsl_at_2;
-  int __e_acsl_at;
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_gt;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl_X),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_gt > 0,(char *)"Precondition",(char *)"n",
-                  (char *)"X > 0",67);
-    __gmpz_init_set_si(__e_acsl_2,(long)10);
-    __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 *)"n",
-                  (char *)"X < 10",68);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-    {
-      mpz_t __e_acsl_X_4;
-      mpz_t __e_acsl_5;
-      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((__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);
-    }
-    {
-      mpz_t __e_acsl_X_2;
-      mpz_t __e_acsl_3;
-      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((__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);
-    }
-    n();
-  }
-  {
-    int __e_acsl_implies;
-    int __e_acsl_implies_2;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else {
-      mpz_t __e_acsl_X_3;
-      mpz_t __e_acsl_4;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"n",
-                  (char *)"\\old(X == 7) ==> X == 8",71);
-    if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
-    else {
-      mpz_t __e_acsl_X_5;
-      mpz_t __e_acsl_6;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"n",
-                  (char *)"\\old(X == 5) ==> X == 98",74);
-    return;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  __e_acsl_f();
-  __e_acsl_g();
-  __e_acsl_h();
-  __e_acsl_i();
-  __e_acsl_j();
-  __e_acsl_k();
-  __e_acsl_l();
-  __e_acsl_m();
-  __e_acsl_n();
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost.c
index 7f0e671807c13441f13ca02fe5467a8326202627..54b300aad5edf58bde07f5d77d74df27734babc1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost.c
@@ -1,96 +1,11 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int G = 0;
 int *P;
 void __e_acsl_memory_init(void)
 {
-  __store_block((void *)(& P),4U);
+  __store_block((void *)(& P),8UL);
   __full_init((void *)(& P));
-  __store_block((void *)(& G),4U);
+  __store_block((void *)(& G),4UL);
   __full_init((void *)(& G));
   return;
 }
@@ -100,7 +15,7 @@ int main(void)
   int __retres;
   int *q;
   __e_acsl_memory_init();
-  __store_block((void *)(& q),4U);
+  __store_block((void *)(& q),8UL);
   P = & G;
   __full_init((void *)(& q));
   q = P;
@@ -110,10 +25,10 @@ int main(void)
     __initialize((void *)P,sizeof(int));
     __e_acsl_valid_read = __valid_read((void *)P,sizeof(int));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(P)",16);
+                  (char *)"mem_access: \\valid_read(P)",14);
     __e_acsl_valid = __valid((void *)P,sizeof(int));
     e_acsl_assert(__e_acsl_valid,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid(P)",16);
+                  (char *)"mem_access: \\valid(P)",14);
     (*P) ++;
   }
   /*@ assert *q ≡ G; */
@@ -128,9 +43,9 @@ int main(void)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(q)",17);
+                  (char *)"mem_access: \\valid_read(q)",15);
     e_acsl_assert(*q == G,(char *)"Assertion",(char *)"main",
-                  (char *)"*q == G",17);
+                  (char *)"*q == G",15);
   }
   __retres = 0;
   __delete_block((void *)(& P));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c
deleted file mode 100644
index 2b76c7ef6826fbf0900f0a4135c74fdb0c3e0b6f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c
+++ /dev/null
@@ -1,155 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int G = 0;
-int *P;
-void __e_acsl_memory_init(void)
-{
-  __store_block((void *)(& P),4U);
-  __full_init((void *)(& P));
-  __store_block((void *)(& G),4U);
-  __full_init((void *)(& G));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int *q;
-  __e_acsl_memory_init();
-  __store_block((void *)(& q),4U);
-  P = & G;
-  __full_init((void *)(& q));
-  q = P;
-  {
-    int __e_acsl_valid_read;
-    int __e_acsl_valid;
-    __initialize((void *)P,sizeof(int));
-    __e_acsl_valid_read = __valid_read((void *)P,sizeof(int));
-    e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(P)",16);
-    __e_acsl_valid = __valid((void *)P,sizeof(int));
-    e_acsl_assert(__e_acsl_valid,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid(P)",16);
-    (*P) ++;
-  }
-  /*@ assert *q ≡ G; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_G;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl,(long)*q);
-    __gmpz_init_set_si(__e_acsl_G,(long)G);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_G));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"*q == G",17);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_G);
-  }
-  __retres = 0;
-  __delete_block((void *)(& P));
-  __delete_block((void *)(& G));
-  __delete_block((void *)(& q));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init.c
index 862762c900984c1f591c44269a91a779e5d18a5f..ce0685c3e303d4b6836c949aeaf18c033fc01f6a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init.c
@@ -1,69 +1,4 @@
 /* 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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int a = 0;
 int b;
 void __e_acsl_memory_init(void)
@@ -89,20 +24,20 @@ int main(void)
   q = & b;
   /*@ assert \initialized(&b); */
   e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                (char *)"\\initialized(&b)",11);
+                (char *)"\\initialized(&b)",9);
   /*@ assert \initialized(q); */
   {
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)q,sizeof(int));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(q)",12);
+                  (char *)"\\initialized(q)",10);
   }
   /*@ assert \initialized(p); */
   {
     int __e_acsl_initialized_2;
     __e_acsl_initialized_2 = __initialized((void *)p,sizeof(int));
     e_acsl_assert(__e_acsl_initialized_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(p)",13);
+                  (char *)"\\initialized(p)",11);
   }
   __retres = 0;
   __delete_block((void *)(& b));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init2.c
deleted file mode 100644
index 862762c900984c1f591c44269a91a779e5d18a5f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_init2.c
+++ /dev/null
@@ -1,116 +0,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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int a = 0;
-int b;
-void __e_acsl_memory_init(void)
-{
-  __store_block((void *)(& b),4UL);
-  __full_init((void *)(& b));
-  __store_block((void *)(& a),4UL);
-  __full_init((void *)(& a));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int *p;
-  int *q;
-  __e_acsl_memory_init();
-  __store_block((void *)(& q),8UL);
-  __store_block((void *)(& p),8UL);
-  __full_init((void *)(& p));
-  p = & a;
-  __full_init((void *)(& q));
-  q = & b;
-  /*@ assert \initialized(&b); */
-  e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                (char *)"\\initialized(&b)",11);
-  /*@ assert \initialized(q); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)q,sizeof(int));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(q)",12);
-  }
-  /*@ assert \initialized(p); */
-  {
-    int __e_acsl_initialized_2;
-    __e_acsl_initialized_2 = __initialized((void *)p,sizeof(int));
-    e_acsl_assert(__e_acsl_initialized_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(p)",13);
-  }
-  __retres = 0;
-  __delete_block((void *)(& b));
-  __delete_block((void *)(& a));
-  __delete_block((void *)(& q));
-  __delete_block((void *)(& p));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
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
deleted file mode 100644
index e817129f94b57a869ba8ddb422a7ff1911cb369e..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c
+++ /dev/null
@@ -1,102 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z, \result;
-    assigns *z \from *(str+(0 ..)), base;
-    assigns \result \from *(str+(0 ..)), base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z,
-                                                                char const *str,
-                                                                int base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  /*@ assert 0 ≡ 0; */
-  e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"main",(char *)"0 == 0",8);
-  x = 0;
-  x ++;
-  /*@ assert 0 ≢ 1; */
-  e_acsl_assert(0 != 1,(char *)"Assertion",(char *)"main",(char *)"0 != 1",
-                10);
-  /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */
-  e_acsl_assert(1152921504606846975 == 0xfffffffffffffff,(char *)"Assertion",
-                (char *)"main",
-                (char *)"1152921504606846975 == 0xfffffffffffffff",11);
-  /*@ assert
-      0xffffffffffffffffffffffffffffffff ≡
-      0xffffffffffffffffffffffffffffffff;
-  */
-  {
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_str(__e_acsl,"340282366920938463463374607431768211455",
-                        10);
-    __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 *)"main",
-                  (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
-                  13);
-    __gmpz_clear(__e_acsl);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
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
deleted file mode 100644
index c6747b03d2826605d21acdd19657886c4c22ceeb..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c
+++ /dev/null
@@ -1,139 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z, \result;
-    assigns *z \from *(str+(0 ..)), base;
-    assigns \result \from *(str+(0 ..)), base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z,
-                                                                char const *str,
-                                                                int base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  /*@ assert 0 ≡ 0; */
-  {
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl,(long)0);
-    __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 *)"main",
-                  (char *)"0 == 0",8);
-    __gmpz_clear(__e_acsl);
-  }
-  x = 0;
-  x ++;
-  /*@ assert 0 ≢ 1; */
-  {
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    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((__mpz_struct const *)(__e_acsl_2),
-                             (__mpz_struct const *)(__e_acsl_3));
-    e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                  (char *)"0 != 1",10);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-  }
-  /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */
-  {
-    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((__mpz_struct const *)(__e_acsl_4),
-                               (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"1152921504606846975 == 0xfffffffffffffff",11);
-    __gmpz_clear(__e_acsl_4);
-  }
-  /*@ assert
-      0xffffffffffffffffffffffffffffffff ≡
-      0xffffffffffffffffffffffffffffffff;
-  */
-  {
-    mpz_t __e_acsl_5;
-    int __e_acsl_eq_3;
-    __gmpz_init_set_str(__e_acsl_5,"340282366920938463463374607431768211455",
-                        10);
-    __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 *)"main",
-                  (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
-                  13);
-    __gmpz_clear(__e_acsl_5);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
index 17edc7547d30849fc7fef2f5e0ab3023b91e59cd..44ffb1a229f464d950b3ff49c7123dc4701e1221 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
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
deleted file mode 100644
index 43521357a7b6ac017a0ec271432f495632c65406..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c
+++ /dev/null
@@ -1,124 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  {
-    int i;
-    i = 0;
-    while (i < 10) {
-      /*@ invariant 0 ≤ i < 10; */
-      {
-        mpz_t __e_acsl;
-        mpz_t __e_acsl_i;
-        int __e_acsl_le;
-        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((__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((__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);
-        }
-        else __e_acsl_and = 0;
-        e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"main",
-                      (char *)"0 <= i < 10",9);
-        __gmpz_clear(__e_acsl);
-        __gmpz_clear(__e_acsl_i);
-      }
-      x += i;
-      /*@ invariant i ≤ x; */
-      {
-        mpz_t __e_acsl_i_3;
-        mpz_t __e_acsl_x;
-        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((__mpz_struct const *)(__e_acsl_i_3),
-                                   (__mpz_struct const *)(__e_acsl_x));
-        e_acsl_assert(__e_acsl_le_2 <= 0,(char *)"Invariant",(char *)"main",
-                      (char *)"i <= x",11);
-        __gmpz_clear(__e_acsl_i_3);
-        __gmpz_clear(__e_acsl_x);
-      }
-      i ++;
-    }
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
index f9514e7699f98b9668297940f078ea39bbd6c5be..d882d43852c347aec2539907aceca0848d6328ff 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int X = 0;
 /*@ ensures X ≡ 3; */
 int __e_acsl_main(void)
@@ -48,7 +8,7 @@ int __e_acsl_main(void)
   L1:
     /*@ assert X ≡ 0; */
     e_acsl_assert(X == 0,(char *)"Assertion",(char *)"main",(char *)"X == 0",
-                  12);
+                  10);
     X = 1;
   goto L2;
   L2:
@@ -56,10 +16,10 @@ int __e_acsl_main(void)
         ensures X ≡ 2; */
     {
       e_acsl_assert(X == 1,(char *)"Precondition",(char *)"main",
-                    (char *)"X == 1",14);
+                    (char *)"X == 1",12);
       X = 2;
       e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"main",
-                    (char *)"X == 2",14);
+                    (char *)"X == 2",12);
     }
   if (X) {
     X = 3;
@@ -76,7 +36,7 @@ int main(void)
   int __retres;
   __retres = __e_acsl_main();
   e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"main",
-                (char *)"X == 3",9);
+                (char *)"X == 3",7);
   return __retres;
 }
 
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
deleted file mode 100644
index 65543717ad65ecdd60dd4c1778acb0a4960cf86d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c
+++ /dev/null
@@ -1,148 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int X = 0;
-/*@ ensures X ≡ 3; */
-int __e_acsl_main(void)
-{
-  int __retres;
-  goto L1;
-  L1:
-    /*@ assert X ≡ 0; */
-    {
-      mpz_t __e_acsl_X;
-      mpz_t __e_acsl;
-      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((__mpz_struct const *)(__e_acsl_X),
-                               (__mpz_struct const *)(__e_acsl));
-      e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"X == 0",12);
-      __gmpz_clear(__e_acsl_X);
-      __gmpz_clear(__e_acsl);
-    }
-    X = 1;
-  goto L2;
-  L2:
-    /*@ requires X ≡ 1;
-        ensures X ≡ 2; */
-    {
-      mpz_t __e_acsl_X_3;
-      mpz_t __e_acsl_3;
-      int __e_acsl_eq_3;
-      {
-        mpz_t __e_acsl_X_2;
-        mpz_t __e_acsl_2;
-        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((__mpz_struct const *)(__e_acsl_X_2),
-                                   (__mpz_struct const *)(__e_acsl_2));
-        e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
-                      (char *)"main",(char *)"X == 1",14);
-        __gmpz_clear(__e_acsl_X_2);
-        __gmpz_clear(__e_acsl_2);
-        X = 2;
-      }
-      __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((__mpz_struct const *)(__e_acsl_X_3),
-                                 (__mpz_struct const *)(__e_acsl_3));
-      e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
-                    (char *)"main",(char *)"X == 2",14);
-      __gmpz_clear(__e_acsl_X_3);
-      __gmpz_clear(__e_acsl_3);
-    }
-  if (X) {
-    X = 3;
-    __retres = 0;
-    goto return_label;
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
-
-/*@ ensures X ≡ 3; */
-int main(void)
-{
-  int __retres;
-  __retres = __e_acsl_main();
-  {
-    mpz_t __e_acsl_X;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_X,(long)X);
-    __gmpz_init_set_si(__e_acsl,(long)3);
-    __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 *)"main",
-                  (char *)"X == 3",9);
-    __gmpz_clear(__e_acsl_X);
-    __gmpz_clear(__e_acsl);
-    return __retres;
-  }
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
index d3ce4ce6b8b7fa706b49dfb59460cc5c265a0fa0..a619b4c190a3b84a66e62b2a1f4ef9a912cbe928 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -51,26 +11,26 @@ int main(void)
     int __e_acsl_and;
     if (x == 0) __e_acsl_and = y == 1; else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 && y == 1",11);
+                  (char *)"x == 0 && y == 1",9);
   }
   /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */
   {
     int __e_acsl_and_2;
     if (x != 0) {
       e_acsl_assert(0 != 0,(char *)"RTE",(char *)"main",
-                    (char *)"division_by_zero: 0 != 0",12);
+                    (char *)"division_by_zero: 0 != 0",10);
       __e_acsl_and_2 = y == 1 / 0;
     }
     else __e_acsl_and_2 = 0;
     e_acsl_assert(! __e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                  (char *)"!(x != 0 && y == 1/0)",12);
+                  (char *)"!(x != 0 && y == 1/0)",10);
   }
   /*@ assert y ≡ 1 ∨ x ≡ 1; */
   {
     int __e_acsl_or;
     if (y == 1) __e_acsl_or = 1; else __e_acsl_or = x == 1;
     e_acsl_assert(__e_acsl_or,(char *)"Assertion",(char *)"main",
-                  (char *)"y == 1 || x == 1",13);
+                  (char *)"y == 1 || x == 1",11);
   }
   /*@ assert x ≡ 0 ∨ y ≡ 1/0; */
   {
@@ -78,18 +38,18 @@ int main(void)
     if (x == 0) __e_acsl_or_2 = 1;
     else {
       e_acsl_assert(0 != 0,(char *)"RTE",(char *)"main",
-                    (char *)"division_by_zero: 0 != 0",14);
+                    (char *)"division_by_zero: 0 != 0",12);
       __e_acsl_or_2 = y == 1 / 0;
     }
     e_acsl_assert(__e_acsl_or_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 || y == 1/0",14);
+                  (char *)"x == 0 || y == 1/0",12);
   }
   /*@ assert x ≡ 0 ⇒ y ≡ 1; */
   {
     int __e_acsl_implies;
     if (! (x == 0)) __e_acsl_implies = 1; else __e_acsl_implies = y == 1;
     e_acsl_assert(__e_acsl_implies,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 ==> y == 1",15);
+                  (char *)"x == 0 ==> y == 1",13);
   }
   /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */
   {
@@ -97,32 +57,32 @@ int main(void)
     if (! (x == 1)) __e_acsl_implies_2 = 1;
     else {
       e_acsl_assert(0 != 0,(char *)"RTE",(char *)"main",
-                    (char *)"division_by_zero: 0 != 0",16);
+                    (char *)"division_by_zero: 0 != 0",14);
       __e_acsl_implies_2 = y == 1 / 0;
     }
     e_acsl_assert(__e_acsl_implies_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 1 ==> y == 1/0",16);
+                  (char *)"x == 1 ==> y == 1/0",14);
   }
   /*@ assert x≢0? x ≢ 0: y ≢ 0; */
   {
     int __e_acsl_if;
     if (x != 0) __e_acsl_if = x != 0; else __e_acsl_if = y != 0;
     e_acsl_assert(__e_acsl_if,(char *)"Assertion",(char *)"main",
-                  (char *)"x!=0? x != 0: y != 0",17);
+                  (char *)"x!=0? x != 0: y != 0",15);
   }
   /*@ assert y≢0? y ≢ 0: x ≢ 0; */
   {
     int __e_acsl_if_2;
     if (y != 0) __e_acsl_if_2 = y != 0; else __e_acsl_if_2 = x != 0;
     e_acsl_assert(__e_acsl_if_2,(char *)"Assertion",(char *)"main",
-                  (char *)"y!=0? y != 0: x != 0",18);
+                  (char *)"y!=0? y != 0: x != 0",16);
   }
   /*@ assert x≡1? x ≡ 18: x ≡ 0; */
   {
     int __e_acsl_if_3;
     if (x == 1) __e_acsl_if_3 = x == 18; else __e_acsl_if_3 = x == 0;
     e_acsl_assert(__e_acsl_if_3,(char *)"Assertion",(char *)"main",
-                  (char *)"x==1? x == 18: x == 0",19);
+                  (char *)"x==1? x == 18: x == 0",17);
   }
   /*@ assert x ≡ 2 ⇔ y ≡ 3; */
   {
@@ -137,7 +97,7 @@ int main(void)
     }
     else __e_acsl_equiv = 0;
     e_acsl_assert(__e_acsl_equiv,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 2 <==> y == 3",22);
+                  (char *)"x == 2 <==> y == 3",20);
   }
   /*@ assert x ≡ 0 ⇔ y ≡ 1; */
   {
@@ -152,14 +112,14 @@ int main(void)
     }
     else __e_acsl_equiv_2 = 0;
     e_acsl_assert(__e_acsl_equiv_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 <==> y == 1",23);
+                  (char *)"x == 0 <==> y == 1",21);
   }
   /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */
   {
     int __e_acsl_if_4;
     if (x != 0) __e_acsl_if_4 = x; else __e_acsl_if_4 = y;
     e_acsl_assert((__e_acsl_if_4 != 0) == (x == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"((x!=0? x: y)!=0) == (x==0)",26);
+                  (char *)"main",(char *)"((x!=0? x: y)!=0) == (x==0)",24);
   }
   /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */
   {
@@ -168,7 +128,7 @@ int main(void)
     if (x != 0) __e_acsl_and_3 = y != 0; else __e_acsl_and_3 = 0;
     if (__e_acsl_and_3) __e_acsl_or_3 = 1; else __e_acsl_or_3 = y != 0;
     e_acsl_assert(__e_acsl_or_3,(char *)"Assertion",(char *)"main",
-                  (char *)"(x != 0 && y != 0) || y != 0",27);
+                  (char *)"(x != 0 && y != 0) || y != 0",25);
   }
   /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */
   {
@@ -177,21 +137,21 @@ int main(void)
     if (x != 0) __e_acsl_or_4 = 1; else __e_acsl_or_4 = y != 0;
     if (__e_acsl_or_4) __e_acsl_and_4 = y == 1; else __e_acsl_and_4 = 0;
     e_acsl_assert(__e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                  (char *)"(x != 0 || y != 0) && y == 1",28);
+                  (char *)"(x != 0 || y != 0) && y == 1",26);
   }
   /*@ assert (x≢0∨y≢0) ≡ (y≢0); */
   {
     int __e_acsl_or_5;
     if (x != 0) __e_acsl_or_5 = 1; else __e_acsl_or_5 = y != 0;
     e_acsl_assert(__e_acsl_or_5 == (y != 0),(char *)"Assertion",
-                  (char *)"main",(char *)"(x!=0||y!=0) == (y!=0)",29);
+                  (char *)"main",(char *)"(x!=0||y!=0) == (y!=0)",27);
   }
   /*@ assert (x≢0 ∧ y≢0) ≡ (x≢0); */
   {
     int __e_acsl_and_5;
     if (x != 0) __e_acsl_and_5 = y != 0; else __e_acsl_and_5 = 0;
     e_acsl_assert(__e_acsl_and_5 == (x != 0),(char *)"Assertion",
-                  (char *)"main",(char *)"(x!=0 && y!=0) == (x!=0)",30);
+                  (char *)"main",(char *)"(x!=0 && y!=0) == (x!=0)",28);
   }
   __retres = 0;
   return __retres;
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
deleted file mode 100644
index 56c8f4f7969849e946c34848c4371681d52d9e79..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c
+++ /dev/null
@@ -1,755 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires \valid_read(z_orig);
-    requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from *z_orig;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set(__mpz_struct * /*[1]*/ z,
-                                                             __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  int y;
-  x = 0;
-  y = 1;
-  /*@ assert x ≡ 0 ∧ y ≡ 1; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    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((__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((__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);
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 && y == 1",11);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl);
-  }
-  /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */
-  {
-    mpz_t __e_acsl_x_2;
-    mpz_t __e_acsl_3;
-    int __e_acsl_ne;
-    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((__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;
-      mpz_t __e_acsl_5;
-      int __e_acsl_div_guard;
-      mpz_t __e_acsl_div;
-      int __e_acsl_eq_3;
-      __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((__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 *)"main",(char *)"0 == 0",12);
-      __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);
-      __gmpz_clear(__e_acsl_5);
-      __gmpz_clear(__e_acsl_div);
-    }
-    else __e_acsl_and_2 = 0;
-    e_acsl_assert(! __e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                  (char *)"!(x != 0 && y == 1/0)",12);
-    __gmpz_clear(__e_acsl_x_2);
-    __gmpz_clear(__e_acsl_3);
-  }
-  /*@ assert y ≡ 1 ∨ x ≡ 1; */
-  {
-    mpz_t __e_acsl_y_3;
-    mpz_t __e_acsl_6;
-    int __e_acsl_eq_4;
-    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((__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;
-      mpz_t __e_acsl_7;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_or,(char *)"Assertion",(char *)"main",
-                  (char *)"y == 1 || x == 1",13);
-    __gmpz_clear(__e_acsl_y_3);
-    __gmpz_clear(__e_acsl_6);
-  }
-  /*@ assert x ≡ 0 ∨ y ≡ 1/0; */
-  {
-    mpz_t __e_acsl_x_4;
-    mpz_t __e_acsl_8;
-    int __e_acsl_eq_6;
-    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((__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;
-      mpz_t __e_acsl_9;
-      mpz_t __e_acsl_10;
-      int __e_acsl_div_guard_2;
-      mpz_t __e_acsl_div_2;
-      int __e_acsl_eq_7;
-      __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((__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 *)"main",(char *)"0 == 0",14);
-      __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);
-      __gmpz_clear(__e_acsl_10);
-      __gmpz_clear(__e_acsl_div_2);
-    }
-    e_acsl_assert(__e_acsl_or_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 || y == 1/0",14);
-    __gmpz_clear(__e_acsl_x_4);
-    __gmpz_clear(__e_acsl_8);
-  }
-  /*@ assert x ≡ 0 ⇒ y ≡ 1; */
-  {
-    mpz_t __e_acsl_x_5;
-    mpz_t __e_acsl_11;
-    int __e_acsl_eq_8;
-    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((__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;
-      mpz_t __e_acsl_12;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 ==> y == 1",15);
-    __gmpz_clear(__e_acsl_x_5);
-    __gmpz_clear(__e_acsl_11);
-  }
-  /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */
-  {
-    mpz_t __e_acsl_x_6;
-    mpz_t __e_acsl_13;
-    int __e_acsl_eq_10;
-    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((__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;
-      mpz_t __e_acsl_14;
-      mpz_t __e_acsl_15;
-      int __e_acsl_div_guard_3;
-      mpz_t __e_acsl_div_3;
-      int __e_acsl_eq_11;
-      __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((__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 *)"main",(char *)"0 == 0",16);
-      __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);
-      __gmpz_clear(__e_acsl_15);
-      __gmpz_clear(__e_acsl_div_3);
-    }
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 1 ==> y == 1/0",16);
-    __gmpz_clear(__e_acsl_x_6);
-    __gmpz_clear(__e_acsl_13);
-  }
-  /*@ assert x≢0? x ≢ 0: y ≢ 0; */
-  {
-    mpz_t __e_acsl_x_7;
-    mpz_t __e_acsl_16;
-    int __e_acsl_ne_2;
-    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((__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((__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);
-    }
-    else {
-      mpz_t __e_acsl_y_7;
-      mpz_t __e_acsl_18;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_if,(char *)"Assertion",(char *)"main",
-                  (char *)"x!=0? x != 0: y != 0",17);
-    __gmpz_clear(__e_acsl_x_7);
-    __gmpz_clear(__e_acsl_16);
-  }
-  /*@ assert y≢0? y ≢ 0: x ≢ 0; */
-  {
-    mpz_t __e_acsl_y_8;
-    mpz_t __e_acsl_19;
-    int __e_acsl_ne_5;
-    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((__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((__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);
-    }
-    else {
-      mpz_t __e_acsl_x_9;
-      mpz_t __e_acsl_21;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_if_2,(char *)"Assertion",(char *)"main",
-                  (char *)"y!=0? y != 0: x != 0",18);
-    __gmpz_clear(__e_acsl_y_8);
-    __gmpz_clear(__e_acsl_19);
-  }
-  /*@ assert x≡1? x ≡ 18: x ≡ 0; */
-  {
-    mpz_t __e_acsl_x_10;
-    mpz_t __e_acsl_22;
-    int __e_acsl_eq_12;
-    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((__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((__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);
-    }
-    else {
-      mpz_t __e_acsl_x_12;
-      mpz_t __e_acsl_24;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_if_3,(char *)"Assertion",(char *)"main",
-                  (char *)"x==1? x == 18: x == 0",19);
-    __gmpz_clear(__e_acsl_x_10);
-    __gmpz_clear(__e_acsl_22);
-  }
-  /*@ assert x ≡ 2 ⇔ y ≡ 3; */
-  {
-    mpz_t __e_acsl_x_13;
-    mpz_t __e_acsl_25;
-    int __e_acsl_eq_15;
-    int __e_acsl_implies_3;
-    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((__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;
-      mpz_t __e_acsl_26;
-      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((__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);
-    }
-    if (__e_acsl_implies_3) {
-      mpz_t __e_acsl_y_11;
-      mpz_t __e_acsl_27;
-      int __e_acsl_eq_17;
-      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((__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;
-        mpz_t __e_acsl_28;
-        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((__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);
-      }
-      __e_acsl_equiv = __e_acsl_implies_4;
-      __gmpz_clear(__e_acsl_y_11);
-      __gmpz_clear(__e_acsl_27);
-    }
-    else __e_acsl_equiv = 0;
-    e_acsl_assert(__e_acsl_equiv,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 2 <==> y == 3",22);
-    __gmpz_clear(__e_acsl_x_13);
-    __gmpz_clear(__e_acsl_25);
-  }
-  /*@ assert x ≡ 0 ⇔ y ≡ 1; */
-  {
-    mpz_t __e_acsl_x_15;
-    mpz_t __e_acsl_29;
-    int __e_acsl_eq_19;
-    int __e_acsl_implies_5;
-    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((__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;
-      mpz_t __e_acsl_30;
-      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((__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);
-    }
-    if (__e_acsl_implies_5) {
-      mpz_t __e_acsl_y_13;
-      mpz_t __e_acsl_31;
-      int __e_acsl_eq_21;
-      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((__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;
-        mpz_t __e_acsl_32;
-        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((__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);
-      }
-      __e_acsl_equiv_2 = __e_acsl_implies_6;
-      __gmpz_clear(__e_acsl_y_13);
-      __gmpz_clear(__e_acsl_31);
-    }
-    else __e_acsl_equiv_2 = 0;
-    e_acsl_assert(__e_acsl_equiv_2,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0 <==> y == 1",23);
-    __gmpz_clear(__e_acsl_x_15);
-    __gmpz_clear(__e_acsl_29);
-  }
-  /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */
-  {
-    mpz_t __e_acsl_x_17;
-    mpz_t __e_acsl_33;
-    int __e_acsl_ne_8;
-    mpz_t __e_acsl_if_4;
-    int __e_acsl_ne_9;
-    mpz_t __e_acsl_34;
-    int __e_acsl_eq_23;
-    mpz_t __e_acsl_35;
-    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((__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,(__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,(__mpz_struct const *)(__e_acsl_y_14));
-      __gmpz_clear(__e_acsl_y_14);
-    }
-    __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((__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((__mpz_struct const *)(__e_acsl_34),
-                                (__mpz_struct const *)(__e_acsl_35));
-    e_acsl_assert(__e_acsl_eq_24 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"((x!=0? x: y)!=0) == (x==0)",26);
-    __gmpz_clear(__e_acsl_x_17);
-    __gmpz_clear(__e_acsl_33);
-    __gmpz_clear(__e_acsl_if_4);
-    __gmpz_clear(__e_acsl_34);
-    __gmpz_clear(__e_acsl_35);
-  }
-  /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */
-  {
-    mpz_t __e_acsl_x_19;
-    mpz_t __e_acsl_36;
-    int __e_acsl_ne_10;
-    int __e_acsl_and_3;
-    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((__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((__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);
-    }
-    else __e_acsl_and_3 = 0;
-    if (__e_acsl_and_3) __e_acsl_or_3 = 1;
-    else {
-      mpz_t __e_acsl_y_16;
-      mpz_t __e_acsl_38;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_or_3,(char *)"Assertion",(char *)"main",
-                  (char *)"(x != 0 && y != 0) || y != 0",27);
-    __gmpz_clear(__e_acsl_x_19);
-    __gmpz_clear(__e_acsl_36);
-  }
-  /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */
-  {
-    mpz_t __e_acsl_x_20;
-    mpz_t __e_acsl_39;
-    int __e_acsl_ne_13;
-    int __e_acsl_or_4;
-    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((__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;
-      mpz_t __e_acsl_40;
-      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((__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);
-    }
-    if (__e_acsl_or_4) {
-      mpz_t __e_acsl_y_18;
-      mpz_t __e_acsl_41;
-      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((__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);
-    }
-    else __e_acsl_and_4 = 0;
-    e_acsl_assert(__e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                  (char *)"(x != 0 || y != 0) && y == 1",28);
-    __gmpz_clear(__e_acsl_x_20);
-    __gmpz_clear(__e_acsl_39);
-  }
-  /*@ assert (x≢0∨y≢0) ≡ (y≢0); */
-  {
-    mpz_t __e_acsl_x_21;
-    mpz_t __e_acsl_42;
-    int __e_acsl_ne_15;
-    mpz_t __e_acsl_or_5;
-    mpz_t __e_acsl_y_20;
-    int __e_acsl_ne_17;
-    mpz_t __e_acsl_45;
-    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((__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;
-      mpz_t __e_acsl_43;
-      int __e_acsl_ne_16;
-      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((__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,(__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((__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((__mpz_struct const *)(__e_acsl_or_5),
-                                (__mpz_struct const *)(__e_acsl_45));
-    e_acsl_assert(__e_acsl_eq_26 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"(x!=0||y!=0) == (y!=0)",29);
-    __gmpz_clear(__e_acsl_x_21);
-    __gmpz_clear(__e_acsl_42);
-    __gmpz_clear(__e_acsl_or_5);
-    __gmpz_clear(__e_acsl_y_20);
-    __gmpz_clear(__e_acsl_45);
-  }
-  /*@ assert (x≢0 ∧ y≢0) ≡ (x≢0); */
-  {
-    mpz_t __e_acsl_x_22;
-    mpz_t __e_acsl_46;
-    int __e_acsl_ne_18;
-    mpz_t __e_acsl_and_5;
-    int __e_acsl_ne_20;
-    mpz_t __e_acsl_49;
-    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((__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;
-      int __e_acsl_ne_19;
-      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((__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,(__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((__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((__mpz_struct const *)(__e_acsl_and_5),
-                                (__mpz_struct const *)(__e_acsl_49));
-    e_acsl_assert(__e_acsl_eq_27 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"(x!=0 && y!=0) == (x!=0)",30);
-    __gmpz_clear(__e_acsl_x_22);
-    __gmpz_clear(__e_acsl_46);
-    __gmpz_clear(__e_acsl_and_5);
-    __gmpz_clear(__e_acsl_49);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
index 50947884763a4351ee0d1210b054de77acbe3179..87412c30836b27c464b881ca5f547ae1244a87fb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int A[10];
 /*@ requires ∀ ℤ i; 0 ≤ i < 9 ⇒ A[i] ≤ A[i+1];
     
@@ -64,9 +24,9 @@ int search(int elt)
     while (1) {
       if (__e_acsl_i < k) ; else break;
       e_acsl_assert(__e_acsl_i < 10,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: __e_acsl_i < 10",20);
+                    (char *)"index_bound: __e_acsl_i < 10",18);
       e_acsl_assert(0 <= __e_acsl_i,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: 0 <= __e_acsl_i",20);
+                    (char *)"index_bound: 0 <= __e_acsl_i",18);
       if (A[__e_acsl_i] < elt) ;
       else {
         __e_acsl_forall = 0;
@@ -76,10 +36,10 @@ int search(int elt)
     }
     e_acsl_end_loop1: ;
     e_acsl_assert(__e_acsl_forall,(char *)"Invariant",(char *)"search",
-                  (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",20);
+                  (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",18);
     if (0 <= k) __e_acsl_and = k <= 10; else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"search",
-                  (char *)"0 <= k <= 10",19);
+                  (char *)"0 <= k <= 10",17);
     /*@ loop invariant 0 ≤ k ≤ 10;
         loop invariant ∀ ℤ i; 0 ≤ i < k ⇒ A[i] < elt;
     */
@@ -100,15 +60,15 @@ int search(int elt)
         k ++;
         if (0 <= k) __e_acsl_and_2 = k <= 10; else __e_acsl_and_2 = 0;
         e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",(char *)"search",
-                      (char *)"0 <= k <= 10",19);
+                      (char *)"0 <= k <= 10",17);
         __e_acsl_forall_2 = 1;
         __e_acsl_i_2 = 0;
         while (1) {
           if (__e_acsl_i_2 < k) ; else break;
           e_acsl_assert(__e_acsl_i_2 < 10,(char *)"RTE",(char *)"search",
-                        (char *)"index_bound: __e_acsl_i_2 < 10",20);
+                        (char *)"index_bound: __e_acsl_i_2 < 10",18);
           e_acsl_assert(0 <= __e_acsl_i_2,(char *)"RTE",(char *)"search",
-                        (char *)"index_bound: 0 <= __e_acsl_i_2",20);
+                        (char *)"index_bound: 0 <= __e_acsl_i_2",18);
           if (A[__e_acsl_i_2] < elt) ;
           else {
             __e_acsl_forall_2 = 0;
@@ -119,7 +79,7 @@ int search(int elt)
         e_acsl_end_loop2: ;
         e_acsl_assert(__e_acsl_forall_2,(char *)"Invariant",(char *)"search",
                       (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",
-                      20);
+                      18);
       }
     }
   }
@@ -150,13 +110,13 @@ int __e_acsl_search(int elt)
     while (1) {
       if (__e_acsl_i < 9) ; else break;
       e_acsl_assert(__e_acsl_i + 1 < 10,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: (int)(__e_acsl_i+1) < 10",9);
+                    (char *)"index_bound: (int)(__e_acsl_i+1) < 10",7);
       e_acsl_assert(0 <= __e_acsl_i + 1,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: 0 <= (int)(__e_acsl_i+1)",9);
+                    (char *)"index_bound: 0 <= (int)(__e_acsl_i+1)",7);
       e_acsl_assert(__e_acsl_i < 10,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: __e_acsl_i < 10",9);
+                    (char *)"index_bound: __e_acsl_i < 10",7);
       e_acsl_assert(0 <= __e_acsl_i,(char *)"RTE",(char *)"search",
-                    (char *)"index_bound: 0 <= __e_acsl_i",9);
+                    (char *)"index_bound: 0 <= __e_acsl_i",7);
       if (A[__e_acsl_i] <= A[__e_acsl_i + 1]) ;
       else {
         __e_acsl_forall = 0;
@@ -167,7 +127,7 @@ int __e_acsl_search(int elt)
     e_acsl_end_loop3: ;
     e_acsl_assert(__e_acsl_forall,(char *)"Precondition",(char *)"search",
                   (char *)"\\forall integer i; 0 <= i < 9 ==> A[i] <= A[i+1]",
-                  9);
+                  7);
     {
       int __e_acsl_forall_2;
       int __e_acsl_j_2;
@@ -176,9 +136,9 @@ int __e_acsl_search(int elt)
       while (1) {
         if (__e_acsl_j_2 < 10) ; else break;
         e_acsl_assert(__e_acsl_j_2 < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __e_acsl_j_2 < 10",14);
+                      (char *)"index_bound: __e_acsl_j_2 < 10",12);
         e_acsl_assert(0 <= __e_acsl_j_2,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __e_acsl_j_2",14);
+                      (char *)"index_bound: 0 <= __e_acsl_j_2",12);
         if (A[__e_acsl_j_2] != elt) ;
         else {
           __e_acsl_forall_2 = 0;
@@ -197,9 +157,9 @@ int __e_acsl_search(int elt)
       while (1) {
         if (__e_acsl_j < 10) ; else break;
         e_acsl_assert(__e_acsl_j < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __e_acsl_j < 10",11);
+                      (char *)"index_bound: __e_acsl_j < 10",9);
         e_acsl_assert(0 <= __e_acsl_j,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __e_acsl_j",11);
+                      (char *)"index_bound: 0 <= __e_acsl_j",9);
         if (! (A[__e_acsl_j] == elt)) ;
         else {
           __e_acsl_exists = 1;
@@ -219,13 +179,13 @@ int __e_acsl_search(int elt)
     else __e_acsl_implies = __retres == 1;
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"search",
                   (char *)"\\old(\\exists integer j; 0 <= j < 10 && A[j] == elt) ==> \\result == 1",
-                  12);
+                  10);
     if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = __retres == 0;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",
                   (char *)"search",
                   (char *)"\\old(\\forall integer j; 0 <= j < 10 ==> A[j] != elt) ==> \\result == 0",
-                  15);
+                  13);
     return __retres;
   }
 }
@@ -245,11 +205,11 @@ int main(void)
   found = __e_acsl_search(36);
   /*@ assert found ≡ 1; */
   e_acsl_assert(found == 1,(char *)"Assertion",(char *)"main",
-                (char *)"found == 1",33);
+                (char *)"found == 1",31);
   found = __e_acsl_search(5);
   /*@ assert found ≡ 0; */
   e_acsl_assert(found == 0,(char *)"Assertion",(char *)"main",
-                (char *)"found == 0",36);
+                (char *)"found == 0",34);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
deleted file mode 100644
index 6f087c5d81dcd74aa58f9a173f639ce047b1f4f5..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c
+++ /dev/null
@@ -1,573 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int A[10];
-/*@ requires ∀ ℤ i; 0 ≤ i < 9 ⇒ A[i] ≤ A[i+1];
-    
-    behavior exists:
-      assumes ∃ ℤ j; 0 ≤ j < 10 ∧ A[j] ≡ elt;
-      ensures \result ≡ 1;
-    
-    behavior not_exists:
-      assumes ∀ ℤ j; 0 ≤ j < 10 ⇒ A[j] ≢ elt;
-      ensures \result ≡ 0;
- */
-int search(int elt)
-{
-  int __retres;
-  int k;
-  k = 0;
-  {
-    int __e_acsl_forall;
-    mpz_t __e_acsl_i;
-    mpz_t __e_acsl_4;
-    mpz_t __e_acsl_k_2;
-    int __e_acsl_le;
-    int __e_acsl_and;
-    __e_acsl_forall = 1;
-    __gmpz_init(__e_acsl_i);
-    {
-      mpz_t __e_acsl_2;
-      __gmpz_init_set_si(__e_acsl_2,(long)0);
-      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_2));
-      __gmpz_clear(__e_acsl_2);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_k;
-        int __e_acsl_lt_2;
-        __gmpz_init_set_si(__e_acsl_k,(long)k);
-        __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i),
-                                   (__mpz_struct const *)(__e_acsl_k));
-        if (__e_acsl_lt_2 < 0) ; else break;
-        __gmpz_clear(__e_acsl_k);
-      }
-      {
-        unsigned long __e_acsl_i_2;
-        mpz_t __e_acsl;
-        mpz_t __e_acsl_elt;
-        int __e_acsl_lt;
-        __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_elt,(long)elt);
-        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
-                                 (__mpz_struct const *)(__e_acsl_elt));
-        __gmpz_clear(__e_acsl);
-        __gmpz_clear(__e_acsl_elt);
-        if (__e_acsl_lt < 0) ;
-        else {
-          __e_acsl_forall = 0;
-          goto e_acsl_end_loop1;
-        }
-      }
-      {
-        mpz_t __e_acsl_3;
-        mpz_t __e_acsl_add;
-        __gmpz_init_set_si(__e_acsl_3,1L);
-        __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_i),
-                   (__mpz_struct const *)(__e_acsl_3));
-        __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_add));
-        __gmpz_clear(__e_acsl_3);
-        __gmpz_clear(__e_acsl_add);
-      }
-    }
-    e_acsl_end_loop1: ;
-    e_acsl_assert(__e_acsl_forall,(char *)"Invariant",(char *)"search",
-                  (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",20);
-    __gmpz_init_set_si(__e_acsl_4,(long)0);
-    __gmpz_init_set_si(__e_acsl_k_2,(long)k);
-    __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4),
-                             (__mpz_struct const *)(__e_acsl_k_2));
-    if (__e_acsl_le <= 0) {
-      mpz_t __e_acsl_k_3;
-      mpz_t __e_acsl_5;
-      int __e_acsl_le_2;
-      __gmpz_init_set_si(__e_acsl_k_3,(long)k);
-      __gmpz_init_set_si(__e_acsl_5,(long)10);
-      __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k_3),
-                                 (__mpz_struct const *)(__e_acsl_5));
-      __e_acsl_and = __e_acsl_le_2 <= 0;
-      __gmpz_clear(__e_acsl_k_3);
-      __gmpz_clear(__e_acsl_5);
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"search",
-                  (char *)"0 <= k <= 10",19);
-    __gmpz_clear(__e_acsl_i);
-    __gmpz_clear(__e_acsl_4);
-    __gmpz_clear(__e_acsl_k_2);
-    /*@ loop invariant 0 ≤ k ≤ 10;
-        loop invariant ∀ ℤ i; 0 ≤ i < k ⇒ A[i] < elt;
-    */
-    while (k < 10) {
-      if (A[k] == elt) {
-        __retres = 1;
-        goto return_label;
-      }
-      else 
-        if (A[k] > elt) {
-          __retres = 0;
-          goto return_label;
-        }
-      {
-        mpz_t __e_acsl_6;
-        mpz_t __e_acsl_k_4;
-        int __e_acsl_le_3;
-        int __e_acsl_and_2;
-        int __e_acsl_forall_2;
-        mpz_t __e_acsl_i_3;
-        k ++;
-        __gmpz_init_set_si(__e_acsl_6,(long)0);
-        __gmpz_init_set_si(__e_acsl_k_4,(long)k);
-        __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_6),
-                                   (__mpz_struct const *)(__e_acsl_k_4));
-        if (__e_acsl_le_3 <= 0) {
-          mpz_t __e_acsl_k_5;
-          mpz_t __e_acsl_7;
-          int __e_acsl_le_4;
-          __gmpz_init_set_si(__e_acsl_k_5,(long)k);
-          __gmpz_init_set_si(__e_acsl_7,(long)10);
-          __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k_5),
-                                     (__mpz_struct const *)(__e_acsl_7));
-          __e_acsl_and_2 = __e_acsl_le_4 <= 0;
-          __gmpz_clear(__e_acsl_k_5);
-          __gmpz_clear(__e_acsl_7);
-        }
-        else __e_acsl_and_2 = 0;
-        e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",(char *)"search",
-                      (char *)"0 <= k <= 10",19);
-        __e_acsl_forall_2 = 1;
-        __gmpz_init(__e_acsl_i_3);
-        {
-          mpz_t __e_acsl_9;
-          __gmpz_init_set_si(__e_acsl_9,(long)0);
-          __gmpz_set(__e_acsl_i_3,(__mpz_struct const *)(__e_acsl_9));
-          __gmpz_clear(__e_acsl_9);
-        }
-        while (1) {
-          {
-            mpz_t __e_acsl_k_6;
-            int __e_acsl_lt_4;
-            __gmpz_init_set_si(__e_acsl_k_6,(long)k);
-            __e_acsl_lt_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_3),
-                                       (__mpz_struct const *)(__e_acsl_k_6));
-            if (__e_acsl_lt_4 < 0) ; else break;
-            __gmpz_clear(__e_acsl_k_6);
-          }
-          {
-            unsigned long __e_acsl_i_4;
-            mpz_t __e_acsl_8;
-            mpz_t __e_acsl_elt_2;
-            int __e_acsl_lt_3;
-            __e_acsl_i_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i_3));
-            __gmpz_init_set_si(__e_acsl_8,(long)A[__e_acsl_i_4]);
-            __gmpz_init_set_si(__e_acsl_elt_2,(long)elt);
-            __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8),
-                                       (__mpz_struct const *)(__e_acsl_elt_2));
-            __gmpz_clear(__e_acsl_8);
-            __gmpz_clear(__e_acsl_elt_2);
-            if (__e_acsl_lt_3 < 0) ;
-            else {
-              __e_acsl_forall_2 = 0;
-              goto e_acsl_end_loop2;
-            }
-          }
-          {
-            mpz_t __e_acsl_10;
-            mpz_t __e_acsl_add_2;
-            __gmpz_init_set_si(__e_acsl_10,1L);
-            __gmpz_init(__e_acsl_add_2);
-            __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_i_3),
-                       (__mpz_struct const *)(__e_acsl_10));
-            __gmpz_set(__e_acsl_i_3,(__mpz_struct const *)(__e_acsl_add_2));
-            __gmpz_clear(__e_acsl_10);
-            __gmpz_clear(__e_acsl_add_2);
-          }
-        }
-        e_acsl_end_loop2: ;
-        e_acsl_assert(__e_acsl_forall_2,(char *)"Invariant",(char *)"search",
-                      (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",
-                      20);
-        __gmpz_clear(__e_acsl_6);
-        __gmpz_clear(__e_acsl_k_4);
-        __gmpz_clear(__e_acsl_i_3);
-      }
-    }
-  }
-  __retres = 0;
-  return_label: return __retres;
-}
-
-/*@ requires ∀ ℤ i; 0 ≤ i < 9 ⇒ A[i] ≤ A[i+1];
-    
-    behavior exists:
-      assumes ∃ ℤ j; 0 ≤ j < 10 ∧ A[j] ≡ elt;
-      ensures \result ≡ 1;
-    
-    behavior not_exists:
-      assumes ∀ ℤ j; 0 ≤ j < 10 ⇒ A[j] ≢ elt;
-      ensures \result ≡ 0;
- */
-int __e_acsl_search(int elt)
-{
-  int __e_acsl_at_2;
-  int __e_acsl_at;
-  int __retres;
-  {
-    int __e_acsl_forall;
-    mpz_t __e_acsl_i;
-    __e_acsl_forall = 1;
-    __gmpz_init(__e_acsl_i);
-    {
-      mpz_t __e_acsl_5;
-      __gmpz_init_set_si(__e_acsl_5,(long)0);
-      __gmpz_set(__e_acsl_i,(__mpz_struct const *)(__e_acsl_5));
-      __gmpz_clear(__e_acsl_5);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_6;
-        int __e_acsl_lt;
-        __gmpz_init_set_si(__e_acsl_6,(long)9);
-        __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);
-      }
-      {
-        unsigned long __e_acsl_i_2;
-        mpz_t __e_acsl;
-        mpz_t __e_acsl_2;
-        mpz_t __e_acsl_add;
-        unsigned long __e_acsl_3;
-        mpz_t __e_acsl_4;
-        int __e_acsl_le;
-        __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,(__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((__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);
-        __gmpz_clear(__e_acsl_4);
-        if (__e_acsl_le <= 0) ;
-        else {
-          __e_acsl_forall = 0;
-          goto e_acsl_end_loop3;
-        }
-      }
-      {
-        mpz_t __e_acsl_7;
-        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,(__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);
-      }
-    }
-    e_acsl_end_loop3: ;
-    e_acsl_assert(__e_acsl_forall,(char *)"Precondition",(char *)"search",
-                  (char *)"\\forall integer i; 0 <= i < 9 ==> A[i] <= A[i+1]",
-                  9);
-    __gmpz_clear(__e_acsl_i);
-    {
-      int __e_acsl_forall_2;
-      mpz_t __e_acsl_j_3;
-      __e_acsl_forall_2 = 1;
-      __gmpz_init(__e_acsl_j_3);
-      {
-        mpz_t __e_acsl_14;
-        __gmpz_init_set_si(__e_acsl_14,(long)0);
-        __gmpz_set(__e_acsl_j_3,(__mpz_struct const *)(__e_acsl_14));
-        __gmpz_clear(__e_acsl_14);
-      }
-      while (1) {
-        {
-          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((__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);
-        }
-        {
-          unsigned long __e_acsl_j_4;
-          mpz_t __e_acsl_13;
-          mpz_t __e_acsl_elt_2;
-          int __e_acsl_ne;
-          __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((__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) ;
-          else {
-            __e_acsl_forall_2 = 0;
-            goto e_acsl_end_loop5;
-          }
-        }
-        {
-          mpz_t __e_acsl_16;
-          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,(__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);
-        }
-      }
-      e_acsl_end_loop5: ;
-      __e_acsl_at_2 = __e_acsl_forall_2;
-      __gmpz_clear(__e_acsl_j_3);
-    }
-    {
-      int __e_acsl_exists;
-      mpz_t __e_acsl_j;
-      __e_acsl_exists = 0;
-      __gmpz_init(__e_acsl_j);
-      {
-        mpz_t __e_acsl_9;
-        __gmpz_init_set_si(__e_acsl_9,(long)0);
-        __gmpz_set(__e_acsl_j,(__mpz_struct const *)(__e_acsl_9));
-        __gmpz_clear(__e_acsl_9);
-      }
-      while (1) {
-        {
-          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((__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);
-        }
-        {
-          unsigned long __e_acsl_j_2;
-          mpz_t __e_acsl_8;
-          mpz_t __e_acsl_elt;
-          int __e_acsl_eq;
-          __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((__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)) ;
-          else {
-            __e_acsl_exists = 1;
-            goto e_acsl_end_loop4;
-          }
-        }
-        {
-          mpz_t __e_acsl_11;
-          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,(__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);
-        }
-      }
-      e_acsl_end_loop4: ;
-      __e_acsl_at = __e_acsl_exists;
-      __gmpz_clear(__e_acsl_j);
-    }
-    __retres = search(elt);
-  }
-  {
-    int __e_acsl_implies;
-    int __e_acsl_implies_2;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else {
-      mpz_t __e_acsl_result;
-      mpz_t __e_acsl_12;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"search",
-                  (char *)"\\old(\\exists integer j; 0 <= j < 10 && A[j] == elt) ==> \\result == 1",
-                  12);
-    if (! __e_acsl_at_2) __e_acsl_implies_2 = 1;
-    else {
-      mpz_t __e_acsl_result_2;
-      mpz_t __e_acsl_17;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",
-                  (char *)"search",
-                  (char *)"\\old(\\forall integer j; 0 <= j < 10 ==> A[j] != elt) ==> \\result == 0",
-                  15);
-    return __retres;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  int found;
-  {
-    int i;
-    i = 0;
-    while (i < 10) {
-      A[i] = i * i;
-      i ++;
-    }
-  }
-  found = __e_acsl_search(36);
-  /*@ assert found ≡ 1; */
-  {
-    mpz_t __e_acsl_found;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_found),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"found == 1",33);
-    __gmpz_clear(__e_acsl_found);
-    __gmpz_clear(__e_acsl);
-  }
-  found = __e_acsl_search(5);
-  /*@ assert found ≡ 0; */
-  {
-    mpz_t __e_acsl_found_2;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl_found_2),
-                               (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"found == 0",36);
-    __gmpz_clear(__e_acsl_found_2);
-    __gmpz_clear(__e_acsl_2);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c
index ec689d560787bfd68d91ecffbbb85fc06b802764..b1acd2ae35252b59b6d024fbcbfd745ab8ca5a06 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c
@@ -3,90 +3,6 @@ char *__e_acsl_literal_string;
 char *__e_acsl_literal_string_4;
 char *__e_acsl_literal_string_3;
 char *__e_acsl_literal_string_2;
-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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void);
 
 char *T = (char *)"bar";
@@ -98,9 +14,9 @@ void f(void)
     int __e_acsl_valid_read;
     __e_acsl_valid_read = __valid_read((void *)(T + G),sizeof(char));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                  (char *)"mem_access: \\valid_read(T+G)",13);
+                  (char *)"mem_access: \\valid_read(T+G)",11);
     e_acsl_assert((int)*(T + G) == 'b',(char *)"Assertion",(char *)"f",
-                  (char *)"*(T+G) == \'b\'",13);
+                  (char *)"*(T+G) == \'b\'",11);
   }
   G ++;
   return;
@@ -129,11 +45,11 @@ void __e_acsl_memory_init(void)
   __store_block((void *)__e_acsl_literal_string_2,sizeof("bar"));
   __full_init((void *)__e_acsl_literal_string_2);
   __literal_string((void *)__e_acsl_literal_string_2);
-  __store_block((void *)(& S2),4U);
+  __store_block((void *)(& S2),8UL);
   __full_init((void *)(& S2));
-  __store_block((void *)(& S),4U);
+  __store_block((void *)(& S),8UL);
   __full_init((void *)(& S));
-  __store_block((void *)(& T),4U);
+  __store_block((void *)(& T),8UL);
   __full_init((void *)(& T));
   return;
 }
@@ -143,7 +59,7 @@ int main(void)
   int __retres;
   char *SS;
   __e_acsl_memory_init();
-  __store_block((void *)(& SS),4U);
+  __store_block((void *)(& SS),8UL);
   __full_init((void *)(& SS));
   SS = (char *)__e_acsl_literal_string;
   /*@ assert *(S+G2) ≡ 'o'; */
@@ -151,23 +67,23 @@ int main(void)
     int __e_acsl_valid_read;
     __e_acsl_valid_read = __valid_read((void *)(S + G2),sizeof(char));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(S+G2)",24);
+                  (char *)"mem_access: \\valid_read(S+G2)",22);
     e_acsl_assert((int)*(S + G2) == 'o',(char *)"Assertion",(char *)"main",
-                  (char *)"*(S+G2) == \'o\'",24);
+                  (char *)"*(S+G2) == \'o\'",22);
   }
   /*@ assert \initialized(S); */
   {
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)S,sizeof(char));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(S)",25);
+                  (char *)"\\initialized(S)",23);
   }
   /*@ assert \valid_read(S2); */
   {
     int __e_acsl_valid_read_2;
     __e_acsl_valid_read_2 = __valid_read((void *)S2,sizeof(char));
     e_acsl_assert(__e_acsl_valid_read_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(S2)",26);
+                  (char *)"\\valid_read(S2)",24);
   }
   /*@ assert ¬\valid(SS); */
   {
@@ -181,7 +97,7 @@ int main(void)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(SS)",27);
+                  (char *)"!\\valid(SS)",25);
   }
   f();
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c
deleted file mode 100644
index 97cb30890d153325e4c7dbc38086c731c0bd5b83..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/* Generated by Frama-C */
-char *__e_acsl_literal_string;
-char *__e_acsl_literal_string_4;
-char *__e_acsl_literal_string_3;
-char *__e_acsl_literal_string_2;
-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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void);
-
-char *T = (char *)"bar";
-int G = 0;
-void f(void)
-{
-  /*@ assert *(T+G) ≡ 'b'; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"f",
-                  (char *)"*(T+G) == \'b\'",13);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-  }
-  G ++;
-  return;
-}
-
-char *S = (char *)"foo";
-char *S2 = (char *)"foo2";
-int IDX = 1;
-int G2 = 2;
-char *U = (char *)"baz";
-void __e_acsl_memory_init(void)
-{
-  __e_acsl_literal_string = "ss";
-  __store_block((void *)__e_acsl_literal_string,sizeof("ss"));
-  __full_init((void *)__e_acsl_literal_string);
-  __literal_string((void *)__e_acsl_literal_string);
-  __e_acsl_literal_string_4 = "foo2";
-  __store_block((void *)__e_acsl_literal_string_4,sizeof("foo2"));
-  __full_init((void *)__e_acsl_literal_string_4);
-  __literal_string((void *)__e_acsl_literal_string_4);
-  __e_acsl_literal_string_3 = "foo";
-  __store_block((void *)__e_acsl_literal_string_3,sizeof("foo"));
-  __full_init((void *)__e_acsl_literal_string_3);
-  __literal_string((void *)__e_acsl_literal_string_3);
-  __e_acsl_literal_string_2 = "bar";
-  __store_block((void *)__e_acsl_literal_string_2,sizeof("bar"));
-  __full_init((void *)__e_acsl_literal_string_2);
-  __literal_string((void *)__e_acsl_literal_string_2);
-  __store_block((void *)(& S2),4U);
-  __full_init((void *)(& S2));
-  __store_block((void *)(& S),4U);
-  __full_init((void *)(& S));
-  __store_block((void *)(& T),4U);
-  __full_init((void *)(& T));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  char *SS;
-  __e_acsl_memory_init();
-  __store_block((void *)(& SS),4U);
-  __full_init((void *)(& SS));
-  SS = (char *)__e_acsl_literal_string;
-  /*@ assert *(S+G2) ≡ 'o'; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"*(S+G2) == \'o\'",24);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-  }
-  /*@ assert \initialized(S); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)S,sizeof(char));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(S)",25);
-  }
-  /*@ assert \valid_read(S2); */
-  {
-    int __e_acsl_valid_read;
-    __e_acsl_valid_read = __valid_read((void *)S2,sizeof(char));
-    e_acsl_assert(__e_acsl_valid_read,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid_read(S2)",26);
-  }
-  /*@ assert ¬\valid(SS); */
-  {
-    int __e_acsl_initialized_2;
-    int __e_acsl_and;
-    __e_acsl_initialized_2 = __initialized((void *)(& SS),sizeof(char *));
-    if (__e_acsl_initialized_2) {
-      int __e_acsl_valid;
-      __e_acsl_valid = __valid((void *)SS,sizeof(char));
-      __e_acsl_and = __e_acsl_valid;
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(SS)",27);
-  }
-  f();
-  __retres = 0;
-  __delete_block((void *)(& S2));
-  __delete_block((void *)(& S));
-  __delete_block((void *)(& T));
-  __delete_block((void *)(& SS));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar.c
index b012a7b28ffba5907f3d64e925207111a6b06b32..73b5ba3e8f6b737bc1b11d2aa484ca35261ca5e3 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar.c
@@ -1,123 +1,13 @@
 /* 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 list {
    int element ;
    struct list *next ;
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 struct list *add(struct list *l, int i)
 {
   struct list *new;
-  __store_block((void *)(& new),4U);
-  __store_block((void *)(& l),4U);
+  __store_block((void *)(& new),8UL);
+  __store_block((void *)(& l),8UL);
   __full_init((void *)(& new));
   new = (struct list *)__e_acsl_malloc(sizeof(struct list));
   /*@ assert \valid(new); */
@@ -133,7 +23,7 @@ struct list *add(struct list *l, int i)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"add",
-                  (char *)"\\valid(new)",20);
+                  (char *)"\\valid(new)",18);
   }
   __initialize((void *)(& new->element),sizeof(int));
   new->element = i;
@@ -148,7 +38,7 @@ int main(void)
 {
   int __retres;
   struct list *l;
-  __store_block((void *)(& l),4U);
+  __store_block((void *)(& l),8UL);
   __full_init((void *)(& l));
   l = (struct list *)0;
   __full_init((void *)(& l));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar2.c
deleted file mode 100644
index b012a7b28ffba5907f3d64e925207111a6b06b32..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_localvar2.c
+++ /dev/null
@@ -1,164 +0,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 list {
-   int element ;
-   struct list *next ;
-};
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-struct list *add(struct list *l, int i)
-{
-  struct list *new;
-  __store_block((void *)(& new),4U);
-  __store_block((void *)(& l),4U);
-  __full_init((void *)(& new));
-  new = (struct list *)__e_acsl_malloc(sizeof(struct list));
-  /*@ assert \valid(new); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    __e_acsl_initialized = __initialized((void *)(& new),
-                                         sizeof(struct list *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid;
-      __e_acsl_valid = __valid((void *)new,sizeof(struct list));
-      __e_acsl_and = __e_acsl_valid;
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(__e_acsl_and,(char *)"Assertion",(char *)"add",
-                  (char *)"\\valid(new)",20);
-  }
-  __initialize((void *)(& new->element),sizeof(int));
-  new->element = i;
-  __initialize((void *)(& new->next),sizeof(struct list *));
-  new->next = l;
-  __delete_block((void *)(& l));
-  __delete_block((void *)(& new));
-  return new;
-}
-
-int main(void)
-{
-  int __retres;
-  struct list *l;
-  __store_block((void *)(& l),4U);
-  __full_init((void *)(& l));
-  l = (struct list *)0;
-  __full_init((void *)(& l));
-  l = add(l,4);
-  __full_init((void *)(& l));
-  l = add(l,7);
-  __retres = 0;
-  __delete_block((void *)(& l));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c
deleted file mode 100644
index acac3c564bb909bb30466ba9847de8fe3d767f20..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c
+++ /dev/null
@@ -1,193 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_import(__mpz_struct * /*[1]*/ z,
-                                                           size_t, int,
-                                                           size_t, int,
-                                                           size_t,
-                                                           void const *base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-unsigned long long my_pow(unsigned int x, unsigned int n)
-{
-  unsigned long long __retres;
-  int tmp;
-  unsigned long long tmp_0;
-  if (n <= (unsigned int)1) {
-    __retres = (unsigned long long)1;
-    goto return_label;
-  }
-  { /* sequence */
-    tmp_0 = my_pow(x,n / (unsigned int)2);
-    tmp = (int)tmp_0;
-  }
-  tmp *= tmp;
-  if (n % (unsigned int)2 == (unsigned int)0) {
-    __retres = (unsigned long long)tmp;
-    goto return_label;
-  }
-  __retres = (unsigned long long)(x * (unsigned int)tmp);
-  return_label: return __retres;
-}
-
-int main(void)
-{
-  int __retres;
-  unsigned long long x;
-  x = my_pow((unsigned int)2,(unsigned int)63);
-  /*@ assert (2*x+1)%2 ≡ 1; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl_mul;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_add;
-    mpz_t __e_acsl_3;
-    int __e_acsl_mod_guard;
-    mpz_t __e_acsl_mod;
-    unsigned long __e_acsl_4;
-    __gmpz_init_set_si(__e_acsl,(long)2);
-    __gmpz_init(__e_acsl_x);
-    __gmpz_import(__e_acsl_x,1U,1,8U,0,0U,(void const *)(& x));
-    __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl),
-               (__mpz_struct const *)(__e_acsl_x));
-    __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_mul),
-               (__mpz_struct const *)(__e_acsl_2));
-    __gmpz_init_set_si(__e_acsl_3,0L);
-    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
-                                    (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init(__e_acsl_mod);
-    /*@ assert E_ACSL: 2 ≢ 0; */
-    e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"2 == 0",19);
-    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_add),
-                  (__mpz_struct const *)(__e_acsl));
-    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_mod));
-    e_acsl_assert(__e_acsl_4 == 1,(char *)"Assertion",(char *)"main",
-                  (char *)"(2*x+1)%2 == 1",19);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl_mul);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_add);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_mod);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c
deleted file mode 100644
index a885cae43163acac46f1352e2f05a17855b2fa42..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c
+++ /dev/null
@@ -1,189 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_import(__mpz_struct * /*[1]*/ z,
-                                                           size_t, int,
-                                                           size_t, int,
-                                                           size_t,
-                                                           void const *base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-unsigned long long my_pow(unsigned int x, unsigned int n)
-{
-  unsigned long long __retres;
-  int tmp;
-  unsigned long long tmp_0;
-  if (n <= (unsigned int)1) {
-    __retres = (unsigned long long)1;
-    goto return_label;
-  }
-  { /* sequence */
-    tmp_0 = my_pow(x,n / (unsigned int)2);
-    tmp = (int)tmp_0;
-  }
-  tmp *= tmp;
-  if (n % (unsigned int)2 == (unsigned int)0) {
-    __retres = (unsigned long long)tmp;
-    goto return_label;
-  }
-  __retres = (unsigned long long)(x * (unsigned int)tmp);
-  return_label: return __retres;
-}
-
-int main(void)
-{
-  int __retres;
-  unsigned long long x;
-  x = my_pow((unsigned int)2,(unsigned int)63);
-  /*@ assert (2*x+1)%2 ≡ 1; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl_mul;
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_add;
-    mpz_t __e_acsl_3;
-    int __e_acsl_mod_guard;
-    mpz_t __e_acsl_mod;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl,(long)2);
-    __gmpz_init(__e_acsl_x);
-    __gmpz_import(__e_acsl_x,1U,1,8U,0,0U,(void const *)(& x));
-    __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl),
-               (__mpz_struct const *)(__e_acsl_x));
-    __gmpz_init_set_si(__e_acsl_2,(long)1);
-    __gmpz_init(__e_acsl_add);
-    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_mul),
-               (__mpz_struct const *)(__e_acsl_2));
-    __gmpz_init_set_si(__e_acsl_3,0L);
-    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
-                                    (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init(__e_acsl_mod);
-    /*@ assert E_ACSL: 2 ≢ 0; */
-    e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"2 == 0",19);
-    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_add),
-                  (__mpz_struct const *)(__e_acsl));
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
-                             (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"(2*x+1)%2 == 1",19);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl_mul);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_add);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_mod);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop.c
index 017d65d08d5ca775270cf50198ba6e46e306687e..4f299753998be76b2fd7b5a4f528a5cb0991fc25 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 void simple_loop(void)
 {
   int sum;
@@ -50,7 +10,7 @@ void simple_loop(void)
       int __e_acsl_and;
       if (0 <= i) __e_acsl_and = i <= 10; else __e_acsl_and = 0;
       e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"simple_loop",
-                    (char *)"0 <= i <= 10",10);
+                    (char *)"0 <= i <= 10",8);
       /*@ loop invariant 0 ≤ i ≤ 10; */
       while (i < 10) {
         sum += i;
@@ -59,7 +19,7 @@ void simple_loop(void)
           i ++;
           if (0 <= i) __e_acsl_and_2 = i <= 10; else __e_acsl_and_2 = 0;
           e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"simple_loop",(char *)"0 <= i <= 10",10);
+                        (char *)"simple_loop",(char *)"0 <= i <= 10",8);
         }
       }
     }
@@ -76,7 +36,7 @@ void nested_loops(void)
     int __e_acsl_and;
     if (0 <= i) __e_acsl_and = i <= 10; else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"nested_loops",
-                  (char *)"0 <= i <= 10",17);
+                  (char *)"0 <= i <= 10",15);
     /*@ loop invariant 0 ≤ i ≤ 10; */
     while (i < 10) {
       {
@@ -96,17 +56,17 @@ void nested_loops(void)
               if (__e_acsl_l < j) ; else break;
               e_acsl_assert(__e_acsl_l < 15,(char *)"RTE",
                             (char *)"nested_loops",
-                            (char *)"index_bound: __e_acsl_l < 15",21);
+                            (char *)"index_bound: __e_acsl_l < 15",19);
               e_acsl_assert(0 <= __e_acsl_l,(char *)"RTE",
                             (char *)"nested_loops",
-                            (char *)"index_bound: 0 <= __e_acsl_l",21);
+                            (char *)"index_bound: 0 <= __e_acsl_l",19);
               e_acsl_assert(__e_acsl_k < 10,(char *)"RTE",
                             (char *)"nested_loops",
-                            (char *)"index_bound: __e_acsl_k < 10",21);
+                            (char *)"index_bound: __e_acsl_k < 10",19);
               e_acsl_assert(0 <= __e_acsl_k,(char *)"RTE",
                             (char *)"nested_loops",
-                            (char *)"index_bound: 0 <= __e_acsl_k",21);
-              if ((long long)t[__e_acsl_k][__e_acsl_l] == (long long)__e_acsl_k * (long long)__e_acsl_l) 
+                            (char *)"index_bound: 0 <= __e_acsl_k",19);
+              if ((long)t[__e_acsl_k][__e_acsl_l] == (long)__e_acsl_k * (long)__e_acsl_l) 
                 ;
               else {
                 __e_acsl_forall = 0;
@@ -120,10 +80,10 @@ void nested_loops(void)
           e_acsl_assert(__e_acsl_forall,(char *)"Invariant",
                         (char *)"nested_loops",
                         (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
-                        21);
+                        19);
           if (0 <= j) __e_acsl_and_2 = j <= 15; else __e_acsl_and_2 = 0;
           e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"nested_loops",(char *)"0 <= j <= 15",19);
+                        (char *)"nested_loops",(char *)"0 <= j <= 15",17);
           /*@ loop invariant 0 ≤ j ≤ 15;
               loop invariant
                 ∀ ℤ k, ℤ l;
@@ -139,7 +99,7 @@ void nested_loops(void)
               j ++;
               if (0 <= j) __e_acsl_and_3 = j <= 15; else __e_acsl_and_3 = 0;
               e_acsl_assert(__e_acsl_and_3,(char *)"Invariant",
-                            (char *)"nested_loops",(char *)"0 <= j <= 15",19);
+                            (char *)"nested_loops",(char *)"0 <= j <= 15",17);
               __e_acsl_forall_2 = 1;
               __e_acsl_k_2 = 0;
               while (1) {
@@ -149,17 +109,21 @@ void nested_loops(void)
                   if (__e_acsl_l_2 < j) ; else break;
                   e_acsl_assert(__e_acsl_l_2 < 15,(char *)"RTE",
                                 (char *)"nested_loops",
-                                (char *)"index_bound: __e_acsl_l_2 < 15",21);
+                                (char *)"index_bound: __e_acsl_l_2 < 15",19);
                   e_acsl_assert(0 <= __e_acsl_l_2,(char *)"RTE",
                                 (char *)"nested_loops",
-                                (char *)"index_bound: 0 <= __e_acsl_l_2",21);
+                                (char *)"index_bound: 0 <= __e_acsl_l_2",19);
                   e_acsl_assert(__e_acsl_k_2 < 10,(char *)"RTE",
                                 (char *)"nested_loops",
-                                (char *)"index_bound: __e_acsl_k_2 < 10",21);
+                                (char *)"index_bound: __e_acsl_k_2 < 10",19);
                   e_acsl_assert(0 <= __e_acsl_k_2,(char *)"RTE",
                                 (char *)"nested_loops",
-                                (char *)"index_bound: 0 <= __e_acsl_k_2",21);
-                  if ((long long)t[__e_acsl_k_2][__e_acsl_l_2] == (long long)__e_acsl_k_2 * (long long)__e_acsl_l_2) 
+                                (char *)"index_bound: 0 <= __e_acsl_k_2",19);
+                  /*@ assert
+                      Value: initialisation:
+                        \initialized(&t[__e_acsl_k_2][__e_acsl_l_2]);
+                  */
+                  if ((long)t[__e_acsl_k_2][__e_acsl_l_2] == (long)__e_acsl_k_2 * (long)__e_acsl_l_2) 
                     ;
                   else {
                     __e_acsl_forall_2 = 0;
@@ -173,7 +137,7 @@ void nested_loops(void)
               e_acsl_assert(__e_acsl_forall_2,(char *)"Invariant",
                             (char *)"nested_loops",
                             (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
-                            21);
+                            19);
             }
           }
         }
@@ -183,7 +147,7 @@ void nested_loops(void)
         i ++;
         if (0 <= i) __e_acsl_and_4 = i <= 10; else __e_acsl_and_4 = 0;
         e_acsl_assert(__e_acsl_and_4,(char *)"Invariant",
-                      (char *)"nested_loops",(char *)"0 <= i <= 10",17);
+                      (char *)"nested_loops",(char *)"0 <= i <= 10",15);
       }
     }
   }
@@ -201,7 +165,7 @@ void unnatural_loop(void)
       int __e_acsl_and;
       if (0 <= i) __e_acsl_and = i <= 6; else __e_acsl_and = 0;
       e_acsl_assert(__e_acsl_and,(char *)"Invariant",
-                    (char *)"unnatural_loop",(char *)"0 <= i <= 6",28);
+                    (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
       /*@ loop invariant 0 ≤ i ≤ 6; */
       while (i < 10) {
         if (x == 5) break;
@@ -211,7 +175,7 @@ void unnatural_loop(void)
           i ++;
           if (0 <= i) __e_acsl_and_2 = i <= 6; else __e_acsl_and_2 = 0;
           e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"unnatural_loop",(char *)"0 <= i <= 6",28);
+                        (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
         }
       }
     }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c
deleted file mode 100644
index 789eeed6d95e0b685bb1d007b18b5755f6f1e4ff..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c
+++ /dev/null
@@ -1,580 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-void simple_loop(void)
-{
-  int sum;
-  sum = 0;
-  {
-    int i;
-    i = 0;
-    {
-      mpz_t __e_acsl;
-      mpz_t __e_acsl_i;
-      int __e_acsl_le;
-      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((__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_le_2;
-        __gmpz_init_set_si(__e_acsl_i_2,(long)i);
-        __gmpz_init_set_si(__e_acsl_2,(long)10);
-        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_2),
-                                   (__mpz_struct const *)(__e_acsl_2));
-        __e_acsl_and = __e_acsl_le_2 <= 0;
-        __gmpz_clear(__e_acsl_i_2);
-        __gmpz_clear(__e_acsl_2);
-      }
-      else __e_acsl_and = 0;
-      e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"simple_loop",
-                    (char *)"0 <= i <= 10",10);
-      __gmpz_clear(__e_acsl);
-      __gmpz_clear(__e_acsl_i);
-      /*@ loop invariant 0 ≤ i ≤ 10; */
-      while (i < 10) {
-        sum += i;
-        {
-          mpz_t __e_acsl_3;
-          mpz_t __e_acsl_i_3;
-          int __e_acsl_le_3;
-          int __e_acsl_and_2;
-          i ++;
-          __gmpz_init_set_si(__e_acsl_3,(long)0);
-          __gmpz_init_set_si(__e_acsl_i_3,(long)i);
-          __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
-                                     (__mpz_struct const *)(__e_acsl_i_3));
-          if (__e_acsl_le_3 <= 0) {
-            mpz_t __e_acsl_i_4;
-            mpz_t __e_acsl_4;
-            int __e_acsl_le_4;
-            __gmpz_init_set_si(__e_acsl_i_4,(long)i);
-            __gmpz_init_set_si(__e_acsl_4,(long)10);
-            __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_4),
-                                       (__mpz_struct const *)(__e_acsl_4));
-            __e_acsl_and_2 = __e_acsl_le_4 <= 0;
-            __gmpz_clear(__e_acsl_i_4);
-            __gmpz_clear(__e_acsl_4);
-          }
-          else __e_acsl_and_2 = 0;
-          e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"simple_loop",(char *)"0 <= i <= 10",10);
-          __gmpz_clear(__e_acsl_3);
-          __gmpz_clear(__e_acsl_i_3);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void nested_loops(void)
-{
-  int t[10][15];
-  int i;
-  i = 0;
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_i;
-    int __e_acsl_le;
-    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((__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_le_2;
-      __gmpz_init_set_si(__e_acsl_i_2,(long)i);
-      __gmpz_init_set_si(__e_acsl_2,(long)10);
-      __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_2),
-                                 (__mpz_struct const *)(__e_acsl_2));
-      __e_acsl_and = __e_acsl_le_2 <= 0;
-      __gmpz_clear(__e_acsl_i_2);
-      __gmpz_clear(__e_acsl_2);
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(__e_acsl_and,(char *)"Invariant",(char *)"nested_loops",
-                  (char *)"0 <= i <= 10",17);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_i);
-    /*@ loop invariant 0 ≤ i ≤ 10; */
-    while (i < 10) {
-      {
-        int j;
-        j = 0;
-        {
-          int __e_acsl_forall;
-          mpz_t __e_acsl_k;
-          mpz_t __e_acsl_l;
-          mpz_t __e_acsl_8;
-          mpz_t __e_acsl_j_2;
-          int __e_acsl_le_3;
-          int __e_acsl_and_2;
-          __e_acsl_forall = 1;
-          __gmpz_init(__e_acsl_k);
-          __gmpz_init(__e_acsl_l);
-          {
-            mpz_t __e_acsl_6;
-            __gmpz_init_set_si(__e_acsl_6,(long)0);
-            __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl_6));
-            __gmpz_clear(__e_acsl_6);
-          }
-          while (1) {
-            {
-              mpz_t __e_acsl_i_3;
-              int __e_acsl_lt_2;
-              __gmpz_init_set_si(__e_acsl_i_3,(long)i);
-              __e_acsl_lt_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k),
-                                         (__mpz_struct const *)(__e_acsl_i_3));
-              if (__e_acsl_lt_2 < 0) ; else break;
-              __gmpz_clear(__e_acsl_i_3);
-            }
-            {
-              mpz_t __e_acsl_4;
-              __gmpz_init_set_si(__e_acsl_4,(long)0);
-              __gmpz_set(__e_acsl_l,(__mpz_struct const *)(__e_acsl_4));
-              __gmpz_clear(__e_acsl_4);
-            }
-            while (1) {
-              {
-                mpz_t __e_acsl_j;
-                int __e_acsl_lt;
-                __gmpz_init_set_si(__e_acsl_j,(long)j);
-                __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_l),
-                                         (__mpz_struct const *)(__e_acsl_j));
-                if (__e_acsl_lt < 0) ; else break;
-                __gmpz_clear(__e_acsl_j);
-              }
-              {
-                unsigned long __e_acsl_k_2;
-                unsigned long __e_acsl_l_2;
-                mpz_t __e_acsl_3;
-                mpz_t __e_acsl_mul;
-                int __e_acsl_eq;
-                __e_acsl_k_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_k));
-                __e_acsl_l_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_l));
-                __gmpz_init_set_si(__e_acsl_3,
-                                   (long)t[__e_acsl_k_2][__e_acsl_l_2]);
-                __gmpz_init(__e_acsl_mul);
-                __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_k),
-                           (__mpz_struct const *)(__e_acsl_l));
-                __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
-                                         (__mpz_struct const *)(__e_acsl_mul));
-                __gmpz_clear(__e_acsl_3);
-                __gmpz_clear(__e_acsl_mul);
-                if (__e_acsl_eq == 0) ;
-                else {
-                  __e_acsl_forall = 0;
-                  goto e_acsl_end_loop1;
-                }
-              }
-              {
-                mpz_t __e_acsl_5;
-                mpz_t __e_acsl_add;
-                __gmpz_init_set_si(__e_acsl_5,1L);
-                __gmpz_init(__e_acsl_add);
-                __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_l),
-                           (__mpz_struct const *)(__e_acsl_5));
-                __gmpz_set(__e_acsl_l,(__mpz_struct const *)(__e_acsl_add));
-                __gmpz_clear(__e_acsl_5);
-                __gmpz_clear(__e_acsl_add);
-              }
-            }
-            {
-              mpz_t __e_acsl_7;
-              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,(__mpz_struct const *)(__e_acsl_k),
-                         (__mpz_struct const *)(__e_acsl_7));
-              __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl_add_2));
-              __gmpz_clear(__e_acsl_7);
-              __gmpz_clear(__e_acsl_add_2);
-            }
-          }
-          e_acsl_end_loop1: ;
-          e_acsl_assert(__e_acsl_forall,(char *)"Invariant",
-                        (char *)"nested_loops",
-                        (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
-                        21);
-          __gmpz_init_set_si(__e_acsl_8,(long)0);
-          __gmpz_init_set_si(__e_acsl_j_2,(long)j);
-          __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8),
-                                     (__mpz_struct const *)(__e_acsl_j_2));
-          if (__e_acsl_le_3 <= 0) {
-            mpz_t __e_acsl_j_3;
-            mpz_t __e_acsl_9;
-            int __e_acsl_le_4;
-            __gmpz_init_set_si(__e_acsl_j_3,(long)j);
-            __gmpz_init_set_si(__e_acsl_9,(long)15);
-            __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_3),
-                                       (__mpz_struct const *)(__e_acsl_9));
-            __e_acsl_and_2 = __e_acsl_le_4 <= 0;
-            __gmpz_clear(__e_acsl_j_3);
-            __gmpz_clear(__e_acsl_9);
-          }
-          else __e_acsl_and_2 = 0;
-          e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"nested_loops",(char *)"0 <= j <= 15",19);
-          __gmpz_clear(__e_acsl_k);
-          __gmpz_clear(__e_acsl_l);
-          __gmpz_clear(__e_acsl_8);
-          __gmpz_clear(__e_acsl_j_2);
-          /*@ loop invariant 0 ≤ j ≤ 15;
-              loop invariant
-                ∀ ℤ k, ℤ l;
-                  0 ≤ k < i ∧ 0 ≤ l < j ⇒ t[k][l] ≡ k*l;
-          */
-          while (j < 15) {
-            t[i][j] = i * j;
-            {
-              mpz_t __e_acsl_10;
-              mpz_t __e_acsl_j_4;
-              int __e_acsl_le_5;
-              int __e_acsl_and_3;
-              int __e_acsl_forall_2;
-              mpz_t __e_acsl_k_3;
-              mpz_t __e_acsl_l_3;
-              j ++;
-              __gmpz_init_set_si(__e_acsl_10,(long)0);
-              __gmpz_init_set_si(__e_acsl_j_4,(long)j);
-              __e_acsl_le_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10),
-                                         (__mpz_struct const *)(__e_acsl_j_4));
-              if (__e_acsl_le_5 <= 0) {
-                mpz_t __e_acsl_j_5;
-                mpz_t __e_acsl_11;
-                int __e_acsl_le_6;
-                __gmpz_init_set_si(__e_acsl_j_5,(long)j);
-                __gmpz_init_set_si(__e_acsl_11,(long)15);
-                __e_acsl_le_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_5),
-                                           (__mpz_struct const *)(__e_acsl_11));
-                __e_acsl_and_3 = __e_acsl_le_6 <= 0;
-                __gmpz_clear(__e_acsl_j_5);
-                __gmpz_clear(__e_acsl_11);
-              }
-              else __e_acsl_and_3 = 0;
-              e_acsl_assert(__e_acsl_and_3,(char *)"Invariant",
-                            (char *)"nested_loops",(char *)"0 <= j <= 15",19);
-              __e_acsl_forall_2 = 1;
-              __gmpz_init(__e_acsl_k_3);
-              __gmpz_init(__e_acsl_l_3);
-              {
-                mpz_t __e_acsl_15;
-                __gmpz_init_set_si(__e_acsl_15,(long)0);
-                __gmpz_set(__e_acsl_k_3,(__mpz_struct const *)(__e_acsl_15));
-                __gmpz_clear(__e_acsl_15);
-              }
-              while (1) {
-                {
-                  mpz_t __e_acsl_i_4;
-                  int __e_acsl_lt_4;
-                  __gmpz_init_set_si(__e_acsl_i_4,(long)i);
-                  __e_acsl_lt_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k_3),
-                                             (__mpz_struct const *)(__e_acsl_i_4));
-                  if (__e_acsl_lt_4 < 0) ; else break;
-                  __gmpz_clear(__e_acsl_i_4);
-                }
-                {
-                  mpz_t __e_acsl_13;
-                  __gmpz_init_set_si(__e_acsl_13,(long)0);
-                  __gmpz_set(__e_acsl_l_3,
-                             (__mpz_struct const *)(__e_acsl_13));
-                  __gmpz_clear(__e_acsl_13);
-                }
-                while (1) {
-                  {
-                    mpz_t __e_acsl_j_6;
-                    int __e_acsl_lt_3;
-                    __gmpz_init_set_si(__e_acsl_j_6,(long)j);
-                    __e_acsl_lt_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_l_3),
-                                               (__mpz_struct const *)(__e_acsl_j_6));
-                    if (__e_acsl_lt_3 < 0) ; else break;
-                    __gmpz_clear(__e_acsl_j_6);
-                  }
-                  {
-                    unsigned long __e_acsl_k_4;
-                    unsigned long __e_acsl_l_4;
-                    mpz_t __e_acsl_12;
-                    mpz_t __e_acsl_mul_2;
-                    int __e_acsl_eq_2;
-                    __e_acsl_k_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_k_3));
-                    __e_acsl_l_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_l_3));
-                    __gmpz_init_set_si(__e_acsl_12,
-                                       (long)t[__e_acsl_k_4][__e_acsl_l_4]);
-                    __gmpz_init(__e_acsl_mul_2);
-                    __gmpz_mul(__e_acsl_mul_2,
-                               (__mpz_struct const *)(__e_acsl_k_3),
-                               (__mpz_struct const *)(__e_acsl_l_3));
-                    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12),
-                                               (__mpz_struct const *)(__e_acsl_mul_2));
-                    __gmpz_clear(__e_acsl_12);
-                    __gmpz_clear(__e_acsl_mul_2);
-                    if (__e_acsl_eq_2 == 0) ;
-                    else {
-                      __e_acsl_forall_2 = 0;
-                      goto e_acsl_end_loop2;
-                    }
-                  }
-                  {
-                    mpz_t __e_acsl_14;
-                    mpz_t __e_acsl_add_3;
-                    __gmpz_init_set_si(__e_acsl_14,1L);
-                    __gmpz_init(__e_acsl_add_3);
-                    __gmpz_add(__e_acsl_add_3,
-                               (__mpz_struct const *)(__e_acsl_l_3),
-                               (__mpz_struct const *)(__e_acsl_14));
-                    __gmpz_set(__e_acsl_l_3,
-                               (__mpz_struct const *)(__e_acsl_add_3));
-                    __gmpz_clear(__e_acsl_14);
-                    __gmpz_clear(__e_acsl_add_3);
-                  }
-                }
-                {
-                  mpz_t __e_acsl_16;
-                  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,
-                             (__mpz_struct const *)(__e_acsl_k_3),
-                             (__mpz_struct const *)(__e_acsl_16));
-                  __gmpz_set(__e_acsl_k_3,
-                             (__mpz_struct const *)(__e_acsl_add_4));
-                  __gmpz_clear(__e_acsl_16);
-                  __gmpz_clear(__e_acsl_add_4);
-                }
-              }
-              e_acsl_end_loop2: ;
-              e_acsl_assert(__e_acsl_forall_2,(char *)"Invariant",
-                            (char *)"nested_loops",
-                            (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k*l",
-                            21);
-              __gmpz_clear(__e_acsl_10);
-              __gmpz_clear(__e_acsl_j_4);
-              __gmpz_clear(__e_acsl_k_3);
-              __gmpz_clear(__e_acsl_l_3);
-            }
-          }
-        }
-      }
-      {
-        mpz_t __e_acsl_17;
-        mpz_t __e_acsl_i_5;
-        int __e_acsl_le_7;
-        int __e_acsl_and_4;
-        i ++;
-        __gmpz_init_set_si(__e_acsl_17,(long)0);
-        __gmpz_init_set_si(__e_acsl_i_5,(long)i);
-        __e_acsl_le_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_17),
-                                   (__mpz_struct const *)(__e_acsl_i_5));
-        if (__e_acsl_le_7 <= 0) {
-          mpz_t __e_acsl_i_6;
-          mpz_t __e_acsl_18;
-          int __e_acsl_le_8;
-          __gmpz_init_set_si(__e_acsl_i_6,(long)i);
-          __gmpz_init_set_si(__e_acsl_18,(long)10);
-          __e_acsl_le_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_6),
-                                     (__mpz_struct const *)(__e_acsl_18));
-          __e_acsl_and_4 = __e_acsl_le_8 <= 0;
-          __gmpz_clear(__e_acsl_i_6);
-          __gmpz_clear(__e_acsl_18);
-        }
-        else __e_acsl_and_4 = 0;
-        e_acsl_assert(__e_acsl_and_4,(char *)"Invariant",
-                      (char *)"nested_loops",(char *)"0 <= i <= 10",17);
-        __gmpz_clear(__e_acsl_17);
-        __gmpz_clear(__e_acsl_i_5);
-      }
-    }
-  }
-  return;
-}
-
-void unnatural_loop(void)
-{
-  int x;
-  x = 0;
-  {
-    int i;
-    i = 0;
-    {
-      mpz_t __e_acsl;
-      mpz_t __e_acsl_i;
-      int __e_acsl_le;
-      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((__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_le_2;
-        __gmpz_init_set_si(__e_acsl_i_2,(long)i);
-        __gmpz_init_set_si(__e_acsl_2,(long)6);
-        __e_acsl_le_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_2),
-                                   (__mpz_struct const *)(__e_acsl_2));
-        __e_acsl_and = __e_acsl_le_2 <= 0;
-        __gmpz_clear(__e_acsl_i_2);
-        __gmpz_clear(__e_acsl_2);
-      }
-      else __e_acsl_and = 0;
-      e_acsl_assert(__e_acsl_and,(char *)"Invariant",
-                    (char *)"unnatural_loop",(char *)"0 <= i <= 6",28);
-      __gmpz_clear(__e_acsl);
-      __gmpz_clear(__e_acsl_i);
-      /*@ loop invariant 0 ≤ i ≤ 6; */
-      while (i < 10) {
-        if (x == 5) break;
-        x = i;
-        {
-          mpz_t __e_acsl_3;
-          mpz_t __e_acsl_i_3;
-          int __e_acsl_le_3;
-          int __e_acsl_and_2;
-          i ++;
-          __gmpz_init_set_si(__e_acsl_3,(long)0);
-          __gmpz_init_set_si(__e_acsl_i_3,(long)i);
-          __e_acsl_le_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3),
-                                     (__mpz_struct const *)(__e_acsl_i_3));
-          if (__e_acsl_le_3 <= 0) {
-            mpz_t __e_acsl_i_4;
-            mpz_t __e_acsl_4;
-            int __e_acsl_le_4;
-            __gmpz_init_set_si(__e_acsl_i_4,(long)i);
-            __gmpz_init_set_si(__e_acsl_4,(long)6);
-            __e_acsl_le_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i_4),
-                                       (__mpz_struct const *)(__e_acsl_4));
-            __e_acsl_and_2 = __e_acsl_le_4 <= 0;
-            __gmpz_clear(__e_acsl_i_4);
-            __gmpz_clear(__e_acsl_4);
-          }
-          else __e_acsl_and_2 = 0;
-          e_acsl_assert(__e_acsl_and_2,(char *)"Invariant",
-                        (char *)"unnatural_loop",(char *)"0 <= i <= 6",28);
-          __gmpz_clear(__e_acsl_3);
-          __gmpz_clear(__e_acsl_i_3);
-        }
-      }
-    }
-  }
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  simple_loop();
-  nested_loops();
-  unnatural_loop();
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs.c
index 0e669f9d45241b210c1f25cf89653692f1ac1e94..1fd39b676a07646ed4693ea0c289f88ce0845b0f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs.c
@@ -1,406 +1,4 @@
 /* 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 long size_t;
-typedef int wchar_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __init_args(int argc_ref,
-                                                         char **argv_ref);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-extern  __attribute__((__FC_BUILTIN__)) void *__store_block(void *ptr,
-                                                            size_t size);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __delete_block(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ \block_length(\old(ptr));
-    assigns \result;
-    assigns \result \from ptr;
- */
-extern  __attribute__((__FC_BUILTIN__)) size_t __block_length(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@
-axiomatic MemCmp {
-  logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) 
-    reads \at(*(s1+(0 .. n-1)),L1), \at(*(s2+(0 .. n-1)),L2);
-  
-  axiom memcmp_zero{L1, L2}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L1, L2}(s1, s2, n) ≡ 0 ⇔
-      (∀ ℤ i; 0 ≤ i < n ⇒ \at(*(s1+i),L1) ≡ \at(*(s2+i),L2));
-  
-  }
- */
-/*@
-axiomatic MemChr {
-  logic 𝔹 memchr{L}(char *s, ℤ c, ℤ n) 
-    reads *(s+(0 .. n-1));
-  
-  axiom memchr_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-    ∀ ℤ n;
-      memchr{L}(s, c, n) ≡ \true ⇔
-      (∃ int i; 0 ≤ i < n ∧ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic MemSet {
-  logic 𝔹 memset{L}(char *s, ℤ c, ℤ n) 
-    reads *(s+(0 .. n-1));
-  
-  axiom memset_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-    ∀ ℤ n;
-      memset{L}(s, c, n) ≡ \true ⇔
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic StrLen {
-  logic ℤ strlen{L}(char *s) 
-    reads *(s+(0 ..));
-  
-  axiom strlen_pos_or_null{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ∧ (∀ ℤ j; 0 ≤ j < i ⇒ *(s+j) ≢ '\000') ∧
-      *(s+i) ≡ '\000' ⇒ strlen{L}(s) ≡ i;
-  
-  axiom strlen_neg{L}:
-    ∀ char *s;
-      (∀ ℤ i; 0 ≤ i ⇒ *(s+i) ≢ '\000') ⇒ strlen{L}(s) < 0;
-  
-  axiom strlen_before_null{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i < strlen{L}(s) ⇒ *(s+i) ≢ '\000';
-  
-  axiom strlen_at_null{L}:
-    ∀ char *s; 0 ≤ strlen{L}(s) ⇒ *(s+strlen{L}(s)) ≡ '\000';
-  
-  axiom strlen_not_zero{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≢ '\000' ⇒ i < strlen{L}(s);
-  
-  axiom strlen_zero{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≡ '\000' ⇒ i ≡ strlen{L}(s);
-  
-  axiom strlen_sup{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s) ≤ i;
-  
-  axiom strlen_shift{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ≤ strlen{L}(s) ⇒ strlen{L}(s+i) ≡ strlen{L}(s)-i;
-  
-  axiom strlen_create{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s) ≤ i;
-  
-  axiom strlen_create_shift{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-    ∀ ℤ k;
-      0 ≤ k ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s+k) ≤ i-k;
-  
-  axiom memcmp_strlen_left{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L, L}(s1, s2, n) ≡ 0 ∧ strlen{L}(s1) < n ⇒
-      strlen{L}(s1) ≡ strlen{L}(s2);
-  
-  axiom memcmp_strlen_right{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L, L}(s1, s2, n) ≡ 0 ∧ strlen{L}(s2) < n ⇒
-      strlen{L}(s1) ≡ strlen{L}(s2);
-  
-  axiom memcmp_strlen_shift_left{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ k, ℤ n;
-      memcmp{L, L}(s1, s2+k, n) ≡ 0 ≤ k ∧ strlen{L}(s1) < n ⇒
-      0 ≤ strlen{L}(s2) ≤ k+strlen{L}(s1);
-  
-  axiom memcmp_strlen_shift_right{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ k, ℤ n;
-      memcmp{L, L}(s1+k, s2, n) ≡ 0 ≤ k ∧ strlen{L}(s2) < n ⇒
-      0 ≤ strlen{L}(s1) ≤ k+strlen{L}(s2);
-  
-  }
- */
-/*@
-axiomatic StrCmp {
-  logic ℤ strcmp{L}(char *s1, char *s2) 
-    reads *(s1+(0 .. strlen{L}(s1))), *(s2+(0 .. strlen{L}(s2)));
-  
-  axiom strcmp_zero{L}:
-    ∀ char *s1, char *s2;
-      strcmp{L}(s1, s2) ≡ 0 ⇔
-      strlen{L}(s1) ≡ strlen{L}(s2) ∧
-      (∀ ℤ i; 0 ≤ i ≤ strlen{L}(s1) ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic StrNCmp {
-  logic ℤ strncmp{L}(char *s1, char *s2, ℤ n) 
-    reads *(s1+(0 .. n-1)), *(s2+(0 .. n-1));
-  
-  axiom strncmp_zero{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      strncmp{L}(s1, s2, n) ≡ 0 ⇔
-      (strlen{L}(s1) < n ∧ strcmp{L}(s1, s2) ≡ 0) ∨
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic StrChr {
-  logic 𝔹 strchr{L}(char *s, ℤ c) 
-    reads *(s+(0 .. strlen{L}(s)));
-  
-  axiom strchr_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-      strchr{L}(s, c) ≡ \true ⇔
-      (∃ ℤ i; 0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic WcsLen {
-  logic ℤ wcslen{L}(wchar_t *s) 
-    reads *(s+(0 ..));
-  
-  axiom wcslen_pos_or_null{L}:
-    ∀ wchar_t *s;
-    ∀ ℤ i;
-      0 ≤ i ∧ (∀ ℤ j; 0 ≤ j < i ⇒ *(s+j) ≢ 0) ∧ *(s+i) ≡ 0 ⇒
-      wcslen{L}(s) ≡ i;
-  
-  axiom wcslen_neg{L}:
-    ∀ wchar_t *s;
-      (∀ ℤ i; 0 ≤ i ⇒ *(s+i) ≢ 0) ⇒ wcslen{L}(s) < 0;
-  
-  axiom wcslen_before_null{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i < wcslen{L}(s) ⇒ *(s+i) ≢ 0;
-  
-  axiom wcslen_at_null{L}:
-    ∀ wchar_t *s; 0 ≤ wcslen{L}(s) ⇒ *(s+wcslen{L}(s)) ≡ 0;
-  
-  axiom wcslen_not_zero{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ≤ wcslen{L}(s) ∧ *(s+i) ≢ 0 ⇒ i < wcslen{L}(s);
-  
-  axiom wcslen_zero{L}:
-    ∀ wchar_t *s;
-    ∀ int i;
-      0 ≤ i ≤ wcslen{L}(s) ∧ *(s+i) ≡ 0 ⇒ i ≡ wcslen{L}(s);
-  
-  axiom wcslen_sup{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s) ≤ i;
-  
-  axiom wcslen_shift{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ≤ wcslen{L}(s) ⇒ wcslen{L}(s+i) ≡ wcslen{L}(s)-i;
-  
-  axiom wcslen_create{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s) ≤ i;
-  
-  axiom wcslen_create_shift{L}:
-    ∀ wchar_t *s;
-    ∀ int i;
-    ∀ int k;
-      0 ≤ k ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s+k) ≤ i-k;
-  
-  }
- */
-/*@
-axiomatic WcsCmp {
-  logic ℤ wcscmp{L}(wchar_t *s1, wchar_t *s2) 
-    reads *(s1+(0 .. wcslen{L}(s1))), *(s2+(0 .. wcslen{L}(s2)));
-  
-  axiom wcscmp_zero{L}:
-    ∀ wchar_t *s1, wchar_t *s2;
-      wcscmp{L}(s1, s2) ≡ 0 ⇔
-      wcslen{L}(s1) ≡ wcslen{L}(s2) ∧
-      (∀ ℤ i; 0 ≤ i ≤ wcslen{L}(s1) ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic WcsNCmp {
-  logic ℤ wcsncmp{L}(wchar_t *s1, wchar_t *s2, ℤ n) 
-    reads *(s1+(0 .. n-1)), *(s2+(0 .. n-1));
-  
-  axiom wcsncmp_zero{L}:
-    ∀ wchar_t *s1, wchar_t *s2;
-    ∀ ℤ n;
-      wcsncmp{L}(s1, s2, n) ≡ 0 ⇔
-      (wcslen{L}(s1) < n ∧ wcscmp{L}(s1, s2) ≡ 0) ∨
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@ logic ℤ minimum(ℤ i, ℤ j) = i<j? i: j;
- */
-/*@ logic ℤ maximum(ℤ i, ℤ j) = i<j? j: i;
- */
-/*@
-predicate valid_string{L}(char *s) =
-  0 ≤ strlen{L}(s) ∧ \valid{L}(s+(0 .. strlen{L}(s)));
- */
-/*@
-predicate valid_read_string{L}(char *s) =
-  0 ≤ strlen{L}(s) ∧ \valid_read{L}(s+(0 .. strlen{L}(s)));
- */
-/*@
-predicate valid_string_or_null{L}(char *s) =
-  s ≡ \null ∨ valid_string{L}(s);
- */
-/*@
-predicate valid_wstring{L}(wchar_t *s) =
-  0 ≤ wcslen{L}(s) ∧ \valid{L}(s+(0 .. wcslen{L}(s)));
- */
-/*@
-predicate valid_wstring_or_null{L}(wchar_t *s) =
-  s ≡ \null ∨ valid_wstring{L}(s);
- */
-/*@ requires valid_string_src: valid_read_string(s);
-    ensures \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from *(s+(0 ..));
- */
-extern size_t strlen(char const *s);
-
-/*@ requires valid_string_src: valid_read_string(s);
-    ensures \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from *(s+(0 ..));
- */
-size_t __e_acsl_strlen(char const *s)
-{
-  size_t __retres;
-  __store_block((void *)(& s),8UL);
-  __retres = strlen(s);
-  __delete_block((void *)(& s));
-  return __retres;
-}
-
 int main(int argc, char **argv)
 {
   int __retres;
@@ -413,14 +11,14 @@ int main(int argc, char **argv)
     __store_block((void *)(& argv),8UL);
     __e_acsl_valid = __valid((void *)(& argc),sizeof(int));
     e_acsl_assert(__e_acsl_valid,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&argc)",12);
+                  (char *)"\\valid(&argc)",10);
   }
   /*@ assert \valid(&argv); */
   {
     int __e_acsl_valid_2;
     __e_acsl_valid_2 = __valid((void *)(& argv),sizeof(char **));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&argv)",13);
+                  (char *)"\\valid(&argv)",11);
   }
   /*@ assert ∀ int k; 0 ≤ k < argc ⇒ \valid(argv+k); */
   {
@@ -445,7 +43,7 @@ int main(int argc, char **argv)
     e_acsl_end_loop1: ;
     e_acsl_assert(__e_acsl_forall,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall int k; 0 <= k < argc ==> \\valid(argv+k)",
-                  14);
+                  12);
   }
   /*@ assert \block_length(argv) ≡ (argc+1)*sizeof(char *); */
   {
@@ -460,7 +58,7 @@ int main(int argc, char **argv)
                              (__mpz_struct const *)(__e_acsl));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
                   (char *)"\\block_length(argv) == (argc+1)*sizeof(char *)",
-                  15);
+                  13);
     __gmpz_clear(__e_acsl_block_length_2);
     __gmpz_clear(__e_acsl);
   }
@@ -469,9 +67,10 @@ int main(int argc, char **argv)
     int __e_acsl_valid_read;
     __e_acsl_valid_read = __valid_read((void *)(argv + argc),sizeof(char *));
     e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(argv+argc)",17);
+                  (char *)"mem_access: \\valid_read(argv+argc)",15);
+    /*@ assert Value: mem_access: \valid_read(argv+argc); */
     e_acsl_assert(*(argv + argc) == (void *)0,(char *)"Assertion",
-                  (char *)"main",(char *)"*(argv+argc) == \\null",17);
+                  (char *)"main",(char *)"*(argv+argc) == \\null",15);
   }
   /*@ assert ¬\valid(*(argv+argc)); */
   {
@@ -485,13 +84,14 @@ int main(int argc, char **argv)
       __e_acsl_valid_read_2 = __valid_read((void *)(argv + argc),
                                            sizeof(char *));
       e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(argv+argc)",18);
+                    (char *)"mem_access: \\valid_read(argv+argc)",16);
+      /*@ assert Value: mem_access: \valid_read(argv+argc); */
       __e_acsl_valid_4 = __valid((void *)*(argv + argc),sizeof(char));
       __e_acsl_and = __e_acsl_valid_4;
     }
     else __e_acsl_and = 0;
     e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(*(argv+argc))",18);
+                  (char *)"!\\valid(*(argv+argc))",16);
   }
   i = 0;
   while (i < argc) {
@@ -512,13 +112,13 @@ int main(int argc, char **argv)
           __e_acsl_valid_read_3 = __valid_read((void *)(argv + i),
                                                sizeof(char *));
           e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"main",
-                        (char *)"mem_access: \\valid_read(argv+i)",21);
+                        (char *)"mem_access: \\valid_read(argv+i)",19);
           __e_acsl_valid_5 = __valid((void *)*(argv + i),sizeof(char));
           __e_acsl_and_2 = __e_acsl_valid_5;
         }
         else __e_acsl_and_2 = 0;
         e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(*(argv+i))",21);
+                      (char *)"\\valid(*(argv+i))",19);
       }
       /*@ assert ∀ int k; 0 ≤ k ≤ len ⇒ \valid(*(argv+i)+k); */
       {
@@ -534,7 +134,7 @@ int main(int argc, char **argv)
             __e_acsl_valid_read_4 = __valid_read((void *)(argv + i),
                                                  sizeof(char *));
             e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",(char *)"main",
-                          (char *)"mem_access: \\valid_read(argv+i)",22);
+                          (char *)"mem_access: \\valid_read(argv+i)",20);
             __e_acsl_valid_6 = __valid((void *)(*(argv + i) + __e_acsl_k_2),
                                        sizeof(char));
             if (__e_acsl_valid_6) ;
@@ -548,7 +148,7 @@ int main(int argc, char **argv)
         e_acsl_end_loop2: ;
         e_acsl_assert(__e_acsl_forall_2,(char *)"Assertion",(char *)"main",
                       (char *)"\\forall int k; 0 <= k <= len ==> \\valid(*(argv+i)+k)",
-                      22);
+                      20);
       }
     }
     i ++;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs2.c
deleted file mode 100644
index 5af50703b3d18eca6c754877a78efdba183a27ff..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_mainargs2.c
+++ /dev/null
@@ -1,676 +0,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 long size_t;
-typedef int wchar_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __init_args(int argc_ref,
-                                                         char **argv_ref);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-extern  __attribute__((__FC_BUILTIN__)) void *__store_block(void *ptr,
-                                                            size_t size);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __delete_block(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ \block_length(\old(ptr));
-    assigns \result;
-    assigns \result \from ptr;
- */
-extern  __attribute__((__FC_BUILTIN__)) size_t __block_length(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@
-axiomatic MemCmp {
-  logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) 
-    reads \at(*(s1+(0 .. n-1)),L1), \at(*(s2+(0 .. n-1)),L2);
-  
-  axiom memcmp_zero{L1, L2}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L1, L2}(s1, s2, n) ≡ 0 ⇔
-      (∀ ℤ i; 0 ≤ i < n ⇒ \at(*(s1+i),L1) ≡ \at(*(s2+i),L2));
-  
-  }
- */
-/*@
-axiomatic MemChr {
-  logic 𝔹 memchr{L}(char *s, ℤ c, ℤ n) 
-    reads *(s+(0 .. n-1));
-  
-  axiom memchr_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-    ∀ ℤ n;
-      memchr{L}(s, c, n) ≡ \true ⇔
-      (∃ int i; 0 ≤ i < n ∧ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic MemSet {
-  logic 𝔹 memset{L}(char *s, ℤ c, ℤ n) 
-    reads *(s+(0 .. n-1));
-  
-  axiom memset_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-    ∀ ℤ n;
-      memset{L}(s, c, n) ≡ \true ⇔
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic StrLen {
-  logic ℤ strlen{L}(char *s) 
-    reads *(s+(0 ..));
-  
-  axiom strlen_pos_or_null{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ∧ (∀ ℤ j; 0 ≤ j < i ⇒ *(s+j) ≢ '\000') ∧
-      *(s+i) ≡ '\000' ⇒ strlen{L}(s) ≡ i;
-  
-  axiom strlen_neg{L}:
-    ∀ char *s;
-      (∀ ℤ i; 0 ≤ i ⇒ *(s+i) ≢ '\000') ⇒ strlen{L}(s) < 0;
-  
-  axiom strlen_before_null{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i < strlen{L}(s) ⇒ *(s+i) ≢ '\000';
-  
-  axiom strlen_at_null{L}:
-    ∀ char *s; 0 ≤ strlen{L}(s) ⇒ *(s+strlen{L}(s)) ≡ '\000';
-  
-  axiom strlen_not_zero{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≢ '\000' ⇒ i < strlen{L}(s);
-  
-  axiom strlen_zero{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-      0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≡ '\000' ⇒ i ≡ strlen{L}(s);
-  
-  axiom strlen_sup{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s) ≤ i;
-  
-  axiom strlen_shift{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ≤ strlen{L}(s) ⇒ strlen{L}(s+i) ≡ strlen{L}(s)-i;
-  
-  axiom strlen_create{L}:
-    ∀ char *s;
-    ∀ ℤ i; 0 ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s) ≤ i;
-  
-  axiom strlen_create_shift{L}:
-    ∀ char *s;
-    ∀ ℤ i;
-    ∀ ℤ k;
-      0 ≤ k ≤ i ∧ *(s+i) ≡ '\000' ⇒ 0 ≤ strlen{L}(s+k) ≤ i-k;
-  
-  axiom memcmp_strlen_left{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L, L}(s1, s2, n) ≡ 0 ∧ strlen{L}(s1) < n ⇒
-      strlen{L}(s1) ≡ strlen{L}(s2);
-  
-  axiom memcmp_strlen_right{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      memcmp{L, L}(s1, s2, n) ≡ 0 ∧ strlen{L}(s2) < n ⇒
-      strlen{L}(s1) ≡ strlen{L}(s2);
-  
-  axiom memcmp_strlen_shift_left{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ k, ℤ n;
-      memcmp{L, L}(s1, s2+k, n) ≡ 0 ≤ k ∧ strlen{L}(s1) < n ⇒
-      0 ≤ strlen{L}(s2) ≤ k+strlen{L}(s1);
-  
-  axiom memcmp_strlen_shift_right{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ k, ℤ n;
-      memcmp{L, L}(s1+k, s2, n) ≡ 0 ≤ k ∧ strlen{L}(s2) < n ⇒
-      0 ≤ strlen{L}(s1) ≤ k+strlen{L}(s2);
-  
-  }
- */
-/*@
-axiomatic StrCmp {
-  logic ℤ strcmp{L}(char *s1, char *s2) 
-    reads *(s1+(0 .. strlen{L}(s1))), *(s2+(0 .. strlen{L}(s2)));
-  
-  axiom strcmp_zero{L}:
-    ∀ char *s1, char *s2;
-      strcmp{L}(s1, s2) ≡ 0 ⇔
-      strlen{L}(s1) ≡ strlen{L}(s2) ∧
-      (∀ ℤ i; 0 ≤ i ≤ strlen{L}(s1) ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic StrNCmp {
-  logic ℤ strncmp{L}(char *s1, char *s2, ℤ n) 
-    reads *(s1+(0 .. n-1)), *(s2+(0 .. n-1));
-  
-  axiom strncmp_zero{L}:
-    ∀ char *s1, char *s2;
-    ∀ ℤ n;
-      strncmp{L}(s1, s2, n) ≡ 0 ⇔
-      (strlen{L}(s1) < n ∧ strcmp{L}(s1, s2) ≡ 0) ∨
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic StrChr {
-  logic 𝔹 strchr{L}(char *s, ℤ c) 
-    reads *(s+(0 .. strlen{L}(s)));
-  
-  axiom strchr_def{L}:
-    ∀ char *s;
-    ∀ ℤ c;
-      strchr{L}(s, c) ≡ \true ⇔
-      (∃ ℤ i; 0 ≤ i ≤ strlen{L}(s) ∧ *(s+i) ≡ c);
-  
-  }
- */
-/*@
-axiomatic WcsLen {
-  logic ℤ wcslen{L}(wchar_t *s) 
-    reads *(s+(0 ..));
-  
-  axiom wcslen_pos_or_null{L}:
-    ∀ wchar_t *s;
-    ∀ ℤ i;
-      0 ≤ i ∧ (∀ ℤ j; 0 ≤ j < i ⇒ *(s+j) ≢ 0) ∧ *(s+i) ≡ 0 ⇒
-      wcslen{L}(s) ≡ i;
-  
-  axiom wcslen_neg{L}:
-    ∀ wchar_t *s;
-      (∀ ℤ i; 0 ≤ i ⇒ *(s+i) ≢ 0) ⇒ wcslen{L}(s) < 0;
-  
-  axiom wcslen_before_null{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i < wcslen{L}(s) ⇒ *(s+i) ≢ 0;
-  
-  axiom wcslen_at_null{L}:
-    ∀ wchar_t *s; 0 ≤ wcslen{L}(s) ⇒ *(s+wcslen{L}(s)) ≡ 0;
-  
-  axiom wcslen_not_zero{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ≤ wcslen{L}(s) ∧ *(s+i) ≢ 0 ⇒ i < wcslen{L}(s);
-  
-  axiom wcslen_zero{L}:
-    ∀ wchar_t *s;
-    ∀ int i;
-      0 ≤ i ≤ wcslen{L}(s) ∧ *(s+i) ≡ 0 ⇒ i ≡ wcslen{L}(s);
-  
-  axiom wcslen_sup{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s) ≤ i;
-  
-  axiom wcslen_shift{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ≤ wcslen{L}(s) ⇒ wcslen{L}(s+i) ≡ wcslen{L}(s)-i;
-  
-  axiom wcslen_create{L}:
-    ∀ wchar_t *s;
-    ∀ int i; 0 ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s) ≤ i;
-  
-  axiom wcslen_create_shift{L}:
-    ∀ wchar_t *s;
-    ∀ int i;
-    ∀ int k;
-      0 ≤ k ≤ i ∧ *(s+i) ≡ 0 ⇒ 0 ≤ wcslen{L}(s+k) ≤ i-k;
-  
-  }
- */
-/*@
-axiomatic WcsCmp {
-  logic ℤ wcscmp{L}(wchar_t *s1, wchar_t *s2) 
-    reads *(s1+(0 .. wcslen{L}(s1))), *(s2+(0 .. wcslen{L}(s2)));
-  
-  axiom wcscmp_zero{L}:
-    ∀ wchar_t *s1, wchar_t *s2;
-      wcscmp{L}(s1, s2) ≡ 0 ⇔
-      wcslen{L}(s1) ≡ wcslen{L}(s2) ∧
-      (∀ ℤ i; 0 ≤ i ≤ wcslen{L}(s1) ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@
-axiomatic WcsNCmp {
-  logic ℤ wcsncmp{L}(wchar_t *s1, wchar_t *s2, ℤ n) 
-    reads *(s1+(0 .. n-1)), *(s2+(0 .. n-1));
-  
-  axiom wcsncmp_zero{L}:
-    ∀ wchar_t *s1, wchar_t *s2;
-    ∀ ℤ n;
-      wcsncmp{L}(s1, s2, n) ≡ 0 ⇔
-      (wcslen{L}(s1) < n ∧ wcscmp{L}(s1, s2) ≡ 0) ∨
-      (∀ ℤ i; 0 ≤ i < n ⇒ *(s1+i) ≡ *(s2+i));
-  
-  }
- */
-/*@ logic ℤ minimum(ℤ i, ℤ j) = i<j? i: j;
- */
-/*@ logic ℤ maximum(ℤ i, ℤ j) = i<j? j: i;
- */
-/*@
-predicate valid_string{L}(char *s) =
-  0 ≤ strlen{L}(s) ∧ \valid{L}(s+(0 .. strlen{L}(s)));
- */
-/*@
-predicate valid_read_string{L}(char *s) =
-  0 ≤ strlen{L}(s) ∧ \valid_read{L}(s+(0 .. strlen{L}(s)));
- */
-/*@
-predicate valid_string_or_null{L}(char *s) =
-  s ≡ \null ∨ valid_string{L}(s);
- */
-/*@
-predicate valid_wstring{L}(wchar_t *s) =
-  0 ≤ wcslen{L}(s) ∧ \valid{L}(s+(0 .. wcslen{L}(s)));
- */
-/*@
-predicate valid_wstring_or_null{L}(wchar_t *s) =
-  s ≡ \null ∨ valid_wstring{L}(s);
- */
-/*@ requires valid_string_src: valid_read_string(s);
-    ensures \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from *(s+(0 ..));
- */
-extern size_t strlen(char const *s);
-
-/*@ requires valid_string_src: valid_read_string(s);
-    ensures \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from *(s+(0 ..));
- */
-size_t __e_acsl_strlen(char const *s)
-{
-  size_t __retres;
-  __store_block((void *)(& s),8UL);
-  __retres = strlen(s);
-  __delete_block((void *)(& s));
-  return __retres;
-}
-
-int main(int argc, char **argv)
-{
-  int __retres;
-  int i;
-  __init_args(argc,argv);
-  /*@ assert \valid(&argc); */
-  {
-    int __e_acsl_valid;
-    __store_block((void *)(& argc),4UL);
-    __store_block((void *)(& argv),8UL);
-    __e_acsl_valid = __valid((void *)(& argc),sizeof(int));
-    e_acsl_assert(__e_acsl_valid,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&argc)",12);
-  }
-  /*@ assert \valid(&argv); */
-  {
-    int __e_acsl_valid_2;
-    __e_acsl_valid_2 = __valid((void *)(& argv),sizeof(char **));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&argv)",13);
-  }
-  /*@ assert ∀ int k; 0 ≤ k < argc ⇒ \valid(argv+k); */
-  {
-    int __e_acsl_forall;
-    mpz_t __e_acsl_k;
-    __e_acsl_forall = 1;
-    __gmpz_init(__e_acsl_k);
-    {
-      mpz_t __e_acsl;
-      __gmpz_init_set_si(__e_acsl,(long)0);
-      __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl));
-      __gmpz_clear(__e_acsl);
-    }
-    while (1) {
-      {
-        mpz_t __e_acsl_argc;
-        int __e_acsl_lt;
-        __gmpz_init_set_si(__e_acsl_argc,(long)argc);
-        __e_acsl_lt = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k),
-                                 (__mpz_struct const *)(__e_acsl_argc));
-        if (__e_acsl_lt < 0) ; else break;
-        __gmpz_clear(__e_acsl_argc);
-      }
-      {
-        unsigned long __e_acsl_k_2;
-        int __e_acsl_valid_3;
-        __e_acsl_k_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_k));
-        __e_acsl_valid_3 = __valid((void *)(argv + __e_acsl_k_2),
-                                   sizeof(char *));
-        if (__e_acsl_valid_3) ;
-        else {
-          __e_acsl_forall = 0;
-          goto e_acsl_end_loop1;
-        }
-      }
-      {
-        mpz_t __e_acsl_2;
-        mpz_t __e_acsl_add;
-        __gmpz_init_set_si(__e_acsl_2,1L);
-        __gmpz_init(__e_acsl_add);
-        __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_k),
-                   (__mpz_struct const *)(__e_acsl_2));
-        __gmpz_set(__e_acsl_k,(__mpz_struct const *)(__e_acsl_add));
-        __gmpz_clear(__e_acsl_2);
-        __gmpz_clear(__e_acsl_add);
-      }
-    }
-    e_acsl_end_loop1: ;
-    e_acsl_assert(__e_acsl_forall,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall int k; 0 <= k < argc ==> \\valid(argv+k)",
-                  14);
-    __gmpz_clear(__e_acsl_k);
-  }
-  /*@ assert \block_length(argv) ≡ (argc+1)*sizeof(char *); */
-  {
-    unsigned long __e_acsl_block_length;
-    mpz_t __e_acsl_block_length_2;
-    mpz_t __e_acsl_argc_2;
-    mpz_t __e_acsl_3;
-    mpz_t __e_acsl_add_2;
-    mpz_t __e_acsl_sizeof;
-    mpz_t __e_acsl_mul;
-    int __e_acsl_eq;
-    __e_acsl_block_length = __block_length((void *)argv);
-    __gmpz_init_set_ui(__e_acsl_block_length_2,__e_acsl_block_length);
-    __gmpz_init_set_si(__e_acsl_argc_2,(long)argc);
-    __gmpz_init_set_si(__e_acsl_3,(long)1);
-    __gmpz_init(__e_acsl_add_2);
-    __gmpz_add(__e_acsl_add_2,(__mpz_struct const *)(__e_acsl_argc_2),
-               (__mpz_struct const *)(__e_acsl_3));
-    __gmpz_init_set_si(__e_acsl_sizeof,8L);
-    __gmpz_init(__e_acsl_mul);
-    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl_add_2),
-               (__mpz_struct const *)(__e_acsl_sizeof));
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_block_length_2),
-                             (__mpz_struct const *)(__e_acsl_mul));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"\\block_length(argv) == (argc+1)*sizeof(char *)",
-                  15);
-    __gmpz_clear(__e_acsl_block_length_2);
-    __gmpz_clear(__e_acsl_argc_2);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_add_2);
-    __gmpz_clear(__e_acsl_sizeof);
-    __gmpz_clear(__e_acsl_mul);
-  }
-  /*@ assert *(argv+argc) ≡ \null; */
-  {
-    int __e_acsl_valid_read;
-    __e_acsl_valid_read = __valid_read((void *)(argv + (long)argc),
-                                       sizeof(char *));
-    e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(argv+(long)argc)",17);
-    e_acsl_assert(*(argv + (long)argc) == (void *)0,(char *)"Assertion",
-                  (char *)"main",(char *)"*(argv+argc) == \\null",17);
-  }
-  /*@ assert ¬\valid(*(argv+argc)); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    __e_acsl_initialized = __initialized((void *)(argv + (long)argc),
-                                         sizeof(char *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid_read_2;
-      int __e_acsl_valid_4;
-      __e_acsl_valid_read_2 = __valid_read((void *)(argv + (long)argc),
-                                           sizeof(char *));
-      e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(argv+(long)argc)",18);
-      __e_acsl_valid_4 = __valid((void *)*(argv + (long)argc),sizeof(char));
-      __e_acsl_and = __e_acsl_valid_4;
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(*(argv+argc))",18);
-  }
-  i = 0;
-  while (i < argc) {
-    {
-      int len;
-      size_t tmp;
-      tmp = __e_acsl_strlen((char const *)*(argv + i));
-      len = (int)tmp;
-      /*@ assert \valid(*(argv+i)); */
-      {
-        int __e_acsl_initialized_2;
-        int __e_acsl_and_2;
-        __e_acsl_initialized_2 = __initialized((void *)(argv + (long)i),
-                                               sizeof(char *));
-        if (__e_acsl_initialized_2) {
-          int __e_acsl_valid_read_3;
-          int __e_acsl_valid_5;
-          __e_acsl_valid_read_3 = __valid_read((void *)(argv + (long)i),
-                                               sizeof(char *));
-          e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"main",
-                        (char *)"mem_access: \\valid_read(argv+(long)i)",21);
-          __e_acsl_valid_5 = __valid((void *)*(argv + (long)i),sizeof(char));
-          __e_acsl_and_2 = __e_acsl_valid_5;
-        }
-        else __e_acsl_and_2 = 0;
-        e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(*(argv+i))",21);
-      }
-      /*@ assert ∀ int k; 0 ≤ k ≤ len ⇒ \valid(*(argv+i)+k); */
-      {
-        int __e_acsl_forall_2;
-        mpz_t __e_acsl_k_3;
-        __e_acsl_forall_2 = 1;
-        __gmpz_init(__e_acsl_k_3);
-        {
-          mpz_t __e_acsl_4;
-          __gmpz_init_set_si(__e_acsl_4,(long)0);
-          __gmpz_set(__e_acsl_k_3,(__mpz_struct const *)(__e_acsl_4));
-          __gmpz_clear(__e_acsl_4);
-        }
-        while (1) {
-          {
-            mpz_t __e_acsl_len;
-            int __e_acsl_le;
-            __gmpz_init_set_si(__e_acsl_len,(long)len);
-            __e_acsl_le = __gmpz_cmp((__mpz_struct const *)(__e_acsl_k_3),
-                                     (__mpz_struct const *)(__e_acsl_len));
-            if (__e_acsl_le <= 0) ; else break;
-            __gmpz_clear(__e_acsl_len);
-          }
-          {
-            unsigned long __e_acsl_k_4;
-            int __e_acsl_valid_read_4;
-            int __e_acsl_valid_6;
-            __e_acsl_k_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_k_3));
-            __e_acsl_valid_read_4 = __valid_read((void *)(argv + (long)i),
-                                                 sizeof(char *));
-            e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",(char *)"main",
-                          (char *)"mem_access: \\valid_read(argv+(long)i)",
-                          22);
-            __e_acsl_valid_6 = __valid((void *)(*(argv + (long)i) + __e_acsl_k_4),
-                                       sizeof(char));
-            if (__e_acsl_valid_6) ;
-            else {
-              __e_acsl_forall_2 = 0;
-              goto e_acsl_end_loop2;
-            }
-          }
-          {
-            mpz_t __e_acsl_5;
-            mpz_t __e_acsl_add_3;
-            __gmpz_init_set_si(__e_acsl_5,1L);
-            __gmpz_init(__e_acsl_add_3);
-            __gmpz_add(__e_acsl_add_3,(__mpz_struct const *)(__e_acsl_k_3),
-                       (__mpz_struct const *)(__e_acsl_5));
-            __gmpz_set(__e_acsl_k_3,(__mpz_struct const *)(__e_acsl_add_3));
-            __gmpz_clear(__e_acsl_5);
-            __gmpz_clear(__e_acsl_add_3);
-          }
-        }
-        e_acsl_end_loop2: ;
-        e_acsl_assert(__e_acsl_forall_2,(char *)"Assertion",(char *)"main",
-                      (char *)"\\forall int k; 0 <= k <= len ==> \\valid(*(argv+i)+k)",
-                      22);
-        __gmpz_clear(__e_acsl_k_3);
-      }
-    }
-    i ++;
-  }
-  __retres = 0;
-  __delete_block((void *)(& argc));
-  __delete_block((void *)(& argv));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize.c
index d3d869e4813eb64f528b87bc33d461a9dffeebbe..c8822b0182d5fa81c80e06d1ce6a96ecf260fd1f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize.c
@@ -1,242 +1,4 @@
 /* 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 long size_t;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-void *__realloc(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@ requires ptr ≡ \null ∨ \freeable(ptr);
-    assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from __fc_heap_status;
-    assigns \result \from size, ptr, __fc_heap_status;
-    frees ptr;
-    allocates \result;
-    
-    behavior alloc:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \result;
-    
-    behavior dealloc:
-      assumes ptr ≢ \null;
-      assumes is_allocable(size);
-      requires \freeable(ptr);
-      ensures \allocable(\old(ptr));
-      ensures \result ≡ \null ∨ \freeable(\result);
-      frees ptr;
-    
-    behavior fail:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \nothing;
-    
-    complete behaviors fail, dealloc, alloc;
-    disjoint behaviors dealloc, fail;
-    disjoint behaviors alloc, fail;
- */
-void *__e_acsl_realloc(void *ptr, size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  {
-    int __e_acsl_or;
-    __store_block((void *)(& ptr),8UL);
-    if (ptr == (void *)0) __e_acsl_or = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(ptr);
-      __e_acsl_or = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_or,(char *)"Precondition",(char *)"realloc",
-                  (char *)"ptr == \\null || \\freeable(ptr)",201);
-    __retres = __realloc(ptr,size);
-  }
-  __delete_block((void *)(& ptr));
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-void *__calloc(size_t nmemb, size_t size);
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
 int main(int argc, char **argv)
 {
   int __retres;
@@ -248,73 +10,73 @@ int main(int argc, char **argv)
   a = (char *)__e_acsl_malloc((unsigned long)7);
   /*@ assert __memory_size ≡ 7; */
   e_acsl_assert(__memory_size == (unsigned long)7,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 7",24);
+                (char *)"main",(char *)"__memory_size == 7",22);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_malloc((unsigned long)14);
   /*@ assert __memory_size ≡ 21; */
   e_acsl_assert(__memory_size == (unsigned long)21,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 21",26);
+                (char *)"main",(char *)"__memory_size == 21",24);
   __e_acsl_free((void *)a);
   /*@ assert __memory_size ≡ 14; */
   e_acsl_assert(__memory_size == (unsigned long)14,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 14",30);
+                (char *)"main",(char *)"__memory_size == 14",28);
   __full_init((void *)(& a));
   a = (char *)0;
   __e_acsl_free((void *)a);
   /*@ assert __memory_size ≡ 14; */
   e_acsl_assert(__memory_size == (unsigned long)14,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 14",35);
+                (char *)"main",(char *)"__memory_size == 14",33);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)b,(unsigned long)9);
   /*@ assert __memory_size ≡ 9; */
   e_acsl_assert(__memory_size == (unsigned long)9,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 9",39);
+                (char *)"main",(char *)"__memory_size == 9",37);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)b,(unsigned long)18);
   /*@ assert __memory_size ≡ 18; */
   e_acsl_assert(__memory_size == (unsigned long)18,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 18",43);
+                (char *)"main",(char *)"__memory_size == 18",41);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)b,(unsigned long)0);
   __full_init((void *)(& b));
   b = (char *)0;
   /*@ assert __memory_size ≡ 0; */
   e_acsl_assert(__memory_size == (unsigned long)0,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 0",48);
+                (char *)"main",(char *)"__memory_size == 0",46);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)b,(unsigned long)8);
   /*@ assert __memory_size ≡ 8; */
   e_acsl_assert(__memory_size == (unsigned long)8,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 8",52);
+                (char *)"main",(char *)"__memory_size == 8",50);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)0,(unsigned long)8);
   /*@ assert __memory_size ≡ 16; */
   e_acsl_assert(__memory_size == (unsigned long)16,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 16",56);
+                (char *)"main",(char *)"__memory_size == 16",54);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_realloc((void *)0,18446744073709551615UL);
   /*@ assert __memory_size ≡ 16; */
   e_acsl_assert(__memory_size == (unsigned long)16,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 16",60);
+                (char *)"main",(char *)"__memory_size == 16",58);
   /*@ assert b ≡ (char *)((void *)0); */
   e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",61);
+                (char *)"b == (char *)((void *)0)",59);
   __full_init((void *)(& b));
   b = (char *)__calloc(18446744073709551615UL,18446744073709551615UL);
   /*@ assert __memory_size ≡ 16; */
   e_acsl_assert(__memory_size == (unsigned long)16,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 16",65);
+                (char *)"main",(char *)"__memory_size == 16",63);
   /*@ assert b ≡ (char *)((void *)0); */
   e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",66);
+                (char *)"b == (char *)((void *)0)",64);
   __full_init((void *)(& b));
   b = (char *)__e_acsl_malloc(18446744073709551615UL);
   /*@ assert __memory_size ≡ 16; */
   e_acsl_assert(__memory_size == (unsigned long)16,(char *)"Assertion",
-                (char *)"main",(char *)"__memory_size == 16",70);
+                (char *)"main",(char *)"__memory_size == 16",68);
   /*@ assert b ≡ (char *)((void *)0); */
   e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",71);
+                (char *)"b == (char *)((void *)0)",69);
   __retres = 0;
   __delete_block((void *)(& b));
   __delete_block((void *)(& a));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize2.c
deleted file mode 100644
index 1b8a9bb8400e14cb31286b9bccb1178774abd827..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_memsize2.c
+++ /dev/null
@@ -1,490 +0,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 long size_t;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-void *__realloc(void *ptr, size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@ requires ptr ≡ \null ∨ \freeable(ptr);
-    assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from __fc_heap_status;
-    assigns \result \from size, ptr, __fc_heap_status;
-    frees ptr;
-    allocates \result;
-    
-    behavior alloc:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \result;
-    
-    behavior dealloc:
-      assumes ptr ≢ \null;
-      assumes is_allocable(size);
-      requires \freeable(ptr);
-      ensures \allocable(\old(ptr));
-      ensures \result ≡ \null ∨ \freeable(\result);
-      frees ptr;
-    
-    behavior fail:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from size, __fc_heap_status;
-      allocates \nothing;
-    
-    complete behaviors fail, dealloc, alloc;
-    disjoint behaviors dealloc, fail;
-    disjoint behaviors alloc, fail;
- */
-void *__e_acsl_realloc(void *ptr, size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  {
-    int __e_acsl_or;
-    __store_block((void *)(& ptr),8UL);
-    if (ptr == (void *)0) __e_acsl_or = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(ptr);
-      __e_acsl_or = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_or,(char *)"Precondition",(char *)"realloc",
-                  (char *)"ptr == \\null || \\freeable(ptr)",201);
-    __retres = __realloc(ptr,size);
-  }
-  __delete_block((void *)(& ptr));
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-void *__calloc(size_t nmemb, size_t size);
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
-int main(int argc, char **argv)
-{
-  int __retres;
-  char *a;
-  char *b;
-  __store_block((void *)(& b),8UL);
-  __store_block((void *)(& a),8UL);
-  __full_init((void *)(& a));
-  a = (char *)__e_acsl_malloc((unsigned long)7);
-  /*@ assert __memory_size ≡ 7; */
-  {
-    mpz_t __e_acsl___memory_size;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_ui(__e_acsl___memory_size,__memory_size);
-    __gmpz_init_set_si(__e_acsl,(long)7);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 7",24);
-    __gmpz_clear(__e_acsl___memory_size);
-    __gmpz_clear(__e_acsl);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_malloc((unsigned long)14);
-  /*@ assert __memory_size ≡ 21; */
-  {
-    mpz_t __e_acsl___memory_size_2;
-    mpz_t __e_acsl_2;
-    int __e_acsl_eq_2;
-    __gmpz_init_set_ui(__e_acsl___memory_size_2,__memory_size);
-    __gmpz_init_set_si(__e_acsl_2,(long)21);
-    __e_acsl_eq_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_2),
-                               (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 21",26);
-    __gmpz_clear(__e_acsl___memory_size_2);
-    __gmpz_clear(__e_acsl_2);
-  }
-  __e_acsl_free((void *)a);
-  /*@ assert __memory_size ≡ 14; */
-  {
-    mpz_t __e_acsl___memory_size_3;
-    mpz_t __e_acsl_3;
-    int __e_acsl_eq_3;
-    __gmpz_init_set_ui(__e_acsl___memory_size_3,__memory_size);
-    __gmpz_init_set_si(__e_acsl_3,(long)14);
-    __e_acsl_eq_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_3),
-                               (__mpz_struct const *)(__e_acsl_3));
-    e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 14",30);
-    __gmpz_clear(__e_acsl___memory_size_3);
-    __gmpz_clear(__e_acsl_3);
-  }
-  __full_init((void *)(& a));
-  a = (char *)0;
-  __e_acsl_free((void *)a);
-  /*@ assert __memory_size ≡ 14; */
-  {
-    mpz_t __e_acsl___memory_size_4;
-    mpz_t __e_acsl_4;
-    int __e_acsl_eq_4;
-    __gmpz_init_set_ui(__e_acsl___memory_size_4,__memory_size);
-    __gmpz_init_set_si(__e_acsl_4,(long)14);
-    __e_acsl_eq_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_4),
-                               (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 14",35);
-    __gmpz_clear(__e_acsl___memory_size_4);
-    __gmpz_clear(__e_acsl_4);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)b,(unsigned long)9);
-  /*@ assert __memory_size ≡ 9; */
-  {
-    mpz_t __e_acsl___memory_size_5;
-    mpz_t __e_acsl_5;
-    int __e_acsl_eq_5;
-    __gmpz_init_set_ui(__e_acsl___memory_size_5,__memory_size);
-    __gmpz_init_set_si(__e_acsl_5,(long)9);
-    __e_acsl_eq_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_5),
-                               (__mpz_struct const *)(__e_acsl_5));
-    e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 9",39);
-    __gmpz_clear(__e_acsl___memory_size_5);
-    __gmpz_clear(__e_acsl_5);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)b,(unsigned long)18);
-  /*@ assert __memory_size ≡ 18; */
-  {
-    mpz_t __e_acsl___memory_size_6;
-    mpz_t __e_acsl_6;
-    int __e_acsl_eq_6;
-    __gmpz_init_set_ui(__e_acsl___memory_size_6,__memory_size);
-    __gmpz_init_set_si(__e_acsl_6,(long)18);
-    __e_acsl_eq_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_6),
-                               (__mpz_struct const *)(__e_acsl_6));
-    e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 18",43);
-    __gmpz_clear(__e_acsl___memory_size_6);
-    __gmpz_clear(__e_acsl_6);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)b,(unsigned long)0);
-  __full_init((void *)(& b));
-  b = (char *)0;
-  /*@ assert __memory_size ≡ 0; */
-  {
-    mpz_t __e_acsl___memory_size_7;
-    mpz_t __e_acsl_7;
-    int __e_acsl_eq_7;
-    __gmpz_init_set_ui(__e_acsl___memory_size_7,__memory_size);
-    __gmpz_init_set_si(__e_acsl_7,(long)0);
-    __e_acsl_eq_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_7),
-                               (__mpz_struct const *)(__e_acsl_7));
-    e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 0",48);
-    __gmpz_clear(__e_acsl___memory_size_7);
-    __gmpz_clear(__e_acsl_7);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)b,(unsigned long)8);
-  /*@ assert __memory_size ≡ 8; */
-  {
-    mpz_t __e_acsl___memory_size_8;
-    mpz_t __e_acsl_8;
-    int __e_acsl_eq_8;
-    __gmpz_init_set_ui(__e_acsl___memory_size_8,__memory_size);
-    __gmpz_init_set_si(__e_acsl_8,(long)8);
-    __e_acsl_eq_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_8),
-                               (__mpz_struct const *)(__e_acsl_8));
-    e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 8",52);
-    __gmpz_clear(__e_acsl___memory_size_8);
-    __gmpz_clear(__e_acsl_8);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)0,(unsigned long)8);
-  /*@ assert __memory_size ≡ 16; */
-  {
-    mpz_t __e_acsl___memory_size_9;
-    mpz_t __e_acsl_9;
-    int __e_acsl_eq_9;
-    __gmpz_init_set_ui(__e_acsl___memory_size_9,__memory_size);
-    __gmpz_init_set_si(__e_acsl_9,(long)16);
-    __e_acsl_eq_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_9),
-                               (__mpz_struct const *)(__e_acsl_9));
-    e_acsl_assert(__e_acsl_eq_9 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 16",56);
-    __gmpz_clear(__e_acsl___memory_size_9);
-    __gmpz_clear(__e_acsl_9);
-  }
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_realloc((void *)0,18446744073709551615UL);
-  /*@ assert __memory_size ≡ 16; */
-  {
-    mpz_t __e_acsl___memory_size_10;
-    mpz_t __e_acsl_10;
-    int __e_acsl_eq_10;
-    __gmpz_init_set_ui(__e_acsl___memory_size_10,__memory_size);
-    __gmpz_init_set_si(__e_acsl_10,(long)16);
-    __e_acsl_eq_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_10),
-                                (__mpz_struct const *)(__e_acsl_10));
-    e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 16",60);
-    __gmpz_clear(__e_acsl___memory_size_10);
-    __gmpz_clear(__e_acsl_10);
-  }
-  /*@ assert b ≡ (char *)((void *)0); */
-  e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",61);
-  __full_init((void *)(& b));
-  b = (char *)__calloc(18446744073709551615UL,18446744073709551615UL);
-  /*@ assert __memory_size ≡ 16; */
-  {
-    mpz_t __e_acsl___memory_size_11;
-    mpz_t __e_acsl_11;
-    int __e_acsl_eq_11;
-    __gmpz_init_set_ui(__e_acsl___memory_size_11,__memory_size);
-    __gmpz_init_set_si(__e_acsl_11,(long)16);
-    __e_acsl_eq_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_11),
-                                (__mpz_struct const *)(__e_acsl_11));
-    e_acsl_assert(__e_acsl_eq_11 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 16",65);
-    __gmpz_clear(__e_acsl___memory_size_11);
-    __gmpz_clear(__e_acsl_11);
-  }
-  /*@ assert b ≡ (char *)((void *)0); */
-  e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",66);
-  __full_init((void *)(& b));
-  b = (char *)__e_acsl_malloc(18446744073709551615UL);
-  /*@ assert __memory_size ≡ 16; */
-  {
-    mpz_t __e_acsl___memory_size_12;
-    mpz_t __e_acsl_12;
-    int __e_acsl_eq_12;
-    __gmpz_init_set_ui(__e_acsl___memory_size_12,__memory_size);
-    __gmpz_init_set_si(__e_acsl_12,(long)16);
-    __e_acsl_eq_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl___memory_size_12),
-                                (__mpz_struct const *)(__e_acsl_12));
-    e_acsl_assert(__e_acsl_eq_12 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"__memory_size == 16",70);
-    __gmpz_clear(__e_acsl___memory_size_12);
-    __gmpz_clear(__e_acsl_12);
-  }
-  /*@ assert b ≡ (char *)((void *)0); */
-  e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                (char *)"b == (char *)((void *)0)",71);
-  __retres = 0;
-  __delete_block((void *)(& b));
-  __delete_block((void *)(& a));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
index f3bdecf27041c1435e609df8e25c86dda6a0eb81..14b567831761bce58a5f76a404ae0cb173e62c1b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -47,44 +7,44 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */
-  e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",7);
   /*@ requires x ≡ 0;
       ensures x ≥ 1; */
   {
     e_acsl_assert(x == 0,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 0",10);
+                  (char *)"x == 0",8);
     if (x) 
       /*@ assert \false; */
       e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",
-                    13);
+                    11);
     else {
       /*@ requires x ≡ 0;
           ensures x ≡ 1; */
       {
         e_acsl_assert(x == 0,(char *)"Precondition",(char *)"main",
-                      (char *)"x == 0",15);
+                      (char *)"x == 0",13);
         x ++;
         e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"main",
-                      (char *)"x == 1",16);
+                      (char *)"x == 1",14);
       }
       if (x) {
         /*@ requires x ≡ 1;
             ensures x ≡ 2; */
         {
           e_acsl_assert(x == 1,(char *)"Precondition",(char *)"main",
-                        (char *)"x == 1",19);
+                        (char *)"x == 1",17);
           x ++;
           e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"main",
-                        (char *)"x == 2",20);
+                        (char *)"x == 2",18);
         }
       }
       else 
         /*@ assert \false; */
         e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",
-                      23);
+                      21);
     }
     e_acsl_assert(x >= 1,(char *)"Postcondition",(char *)"main",
-                  (char *)"x >= 1",11);
+                  (char *)"x >= 1",9);
   }
   __retres = 0;
   return __retres;
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
deleted file mode 100644
index d9b8a0192ccdb250b328cec2f6c9131a51cecfe8..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c
+++ /dev/null
@@ -1,188 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  int y;
-  x = 0;
-  y = 1;
-  /*@ assert x < y; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl_y;
-    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((__mpz_struct const *)(__e_acsl_x),
-                             (__mpz_struct const *)(__e_acsl_y));
-    e_acsl_assert(__e_acsl_lt < 0,(char *)"Assertion",(char *)"main",
-                  (char *)"x < y",9);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl_y);
-  }
-  /*@ requires x ≡ 0;
-      ensures x ≥ 1; */
-  {
-    mpz_t __e_acsl_x_7;
-    mpz_t __e_acsl_6;
-    int __e_acsl_ge;
-    {
-      mpz_t __e_acsl_x_2;
-      mpz_t __e_acsl;
-      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((__mpz_struct const *)(__e_acsl_x_2),
-                               (__mpz_struct const *)(__e_acsl));
-      e_acsl_assert(__e_acsl_eq == 0,(char *)"Precondition",(char *)"main",
-                    (char *)"x == 0",10);
-      __gmpz_clear(__e_acsl_x_2);
-      __gmpz_clear(__e_acsl);
-      if (x) 
-        /*@ assert \false; */
-        e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",
-                      13);
-      else {
-        /*@ requires x ≡ 0;
-            ensures x ≡ 1; */
-        {
-          mpz_t __e_acsl_x_4;
-          mpz_t __e_acsl_3;
-          int __e_acsl_eq_3;
-          {
-            mpz_t __e_acsl_x_3;
-            mpz_t __e_acsl_2;
-            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((__mpz_struct const *)(__e_acsl_x_3),
-                                       (__mpz_struct const *)(__e_acsl_2));
-            e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Precondition",
-                          (char *)"main",(char *)"x == 0",15);
-            __gmpz_clear(__e_acsl_x_3);
-            __gmpz_clear(__e_acsl_2);
-            x ++;
-          }
-          __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((__mpz_struct const *)(__e_acsl_x_4),
-                                     (__mpz_struct const *)(__e_acsl_3));
-          e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Postcondition",
-                        (char *)"main",(char *)"x == 1",16);
-          __gmpz_clear(__e_acsl_x_4);
-          __gmpz_clear(__e_acsl_3);
-        }
-        if (x) {
-          /*@ requires x ≡ 1;
-              ensures x ≡ 2; */
-          {
-            mpz_t __e_acsl_x_6;
-            mpz_t __e_acsl_5;
-            int __e_acsl_eq_5;
-            {
-              mpz_t __e_acsl_x_5;
-              mpz_t __e_acsl_4;
-              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((__mpz_struct const *)(__e_acsl_x_5),
-                                         (__mpz_struct const *)(__e_acsl_4));
-              e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",
-                            (char *)"main",(char *)"x == 1",19);
-              __gmpz_clear(__e_acsl_x_5);
-              __gmpz_clear(__e_acsl_4);
-              x ++;
-            }
-            __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((__mpz_struct const *)(__e_acsl_x_6),
-                                       (__mpz_struct const *)(__e_acsl_5));
-            e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Postcondition",
-                          (char *)"main",(char *)"x == 2",20);
-            __gmpz_clear(__e_acsl_x_6);
-            __gmpz_clear(__e_acsl_5);
-          }
-        }
-        else 
-          /*@ assert \false; */
-          e_acsl_assert(0,(char *)"Assertion",(char *)"main",
-                        (char *)"\\false",23);
-      }
-    }
-    __gmpz_init_set_si(__e_acsl_x_7,(long)x);
-    __gmpz_init_set_si(__e_acsl_6,(long)1);
-    __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 *)"main",
-                  (char *)"x >= 1",11);
-    __gmpz_clear(__e_acsl_x_7);
-    __gmpz_clear(__e_acsl_6);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c
deleted file mode 100644
index 4fe3c73b67c674ba40d01151765379894d692504..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c
+++ /dev/null
@@ -1,57 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  /*@ assert x ≡ 0; */
-  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"main",(char *)"x == 0",8);
-  if (x) 
-    /*@ assert x ≢ 0; */
-    e_acsl_assert(x != 0,(char *)"Assertion",(char *)"main",(char *)"x != 0",
-                  9);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
deleted file mode 100644
index 676e7c3a328d60fe271ff5bc966d0862fd2be980..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c
+++ /dev/null
@@ -1,104 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  /*@ assert x ≡ 0; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_x),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0",8);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl);
-  }
-  if (x) {
-    /*@ assert x ≢ 0; */
-    {
-      mpz_t __e_acsl_x_2;
-      mpz_t __e_acsl_2;
-      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((__mpz_struct const *)(__e_acsl_x_2),
-                               (__mpz_struct const *)(__e_acsl_2));
-      e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                    (char *)"x != 0",9);
-      __gmpz_clear(__e_acsl_x_2);
-      __gmpz_clear(__e_acsl_2);
-    }
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
index a09b2333e5245328a47e607b26fad3b34f7ae9e2..1f61c8baa2a87d7269fbd7af3cfc1cfe7ae1e89d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c
@@ -1,50 +1,10 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   /*@ assert \null ≡ (void *)0; */
   e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",(char *)"main",
-                (char *)"\\null == (void *)0",8);
+                (char *)"\\null == (void *)0",6);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c
deleted file mode 100644
index a09b2333e5245328a47e607b26fad3b34f7ae9e2..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null2.c
+++ /dev/null
@@ -1,52 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  /*@ assert \null ≡ (void *)0; */
-  e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",(char *)"main",
-                (char *)"\\null == (void *)0",8);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
index 3cfb1dca11d84e641a0036ec3fcb0a9b4798bbe0..0dda9995aecd5dcfb65ee537f65f8434c4cd0b89 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c
@@ -1,57 +1,17 @@
 /* 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;
 enum bool {
     false = 0,
     true = 1
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   /*@ assert 'c' ≡ 'c'; */
   e_acsl_assert('c' == 'c',(char *)"Assertion",(char *)"main",
-                (char *)"\'c\' == \'c\'",12);
+                (char *)"\'c\' == \'c\'",10);
   /*@ assert false ≢ true; */
   e_acsl_assert(false != true,(char *)"Assertion",(char *)"main",
-                (char *)"false != true",13);
+                (char *)"false != true",11);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
deleted file mode 100644
index 20eb9f1b21fb95fe23807f3b629228cd348da651..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c
+++ /dev/null
@@ -1,101 +0,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;
-enum bool {
-    false = 0,
-    true = 1
-};
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  /*@ assert 'c' ≡ 'c'; */
-  {
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl,(long)'c');
-    __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 *)"main",
-                  (char *)"\'c\' == \'c\'",12);
-    __gmpz_clear(__e_acsl);
-  }
-  /*@ assert false ≢ true; */
-  {
-    mpz_t __e_acsl_2;
-    mpz_t __e_acsl_3;
-    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((__mpz_struct const *)(__e_acsl_2),
-                             (__mpz_struct const *)(__e_acsl_3));
-    e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                  (char *)"false != true",13);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_3);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
index 856c8b3ced8ed0a91cd30192fc0a1d12fda13e7e..47d6cc6c523f57252ed03cffc34c58bb7f62d947 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c
@@ -1,91 +1,13 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
   int x;
   int t[3];
   int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(t),12U);
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(t),12UL);
+  __store_block((void *)(& x),4UL);
   __full_init((void *)(& x));
   x = 1;
   __initialize((void *)(t),sizeof(int));
@@ -108,53 +30,48 @@ int main(void)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(__e_acsl_and,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(p)",13);
+                  (char *)"mem_access: \\valid_read(p)",11);
     e_acsl_assert(*p == 1,(char *)"Assertion",(char *)"main",
-                  (char *)"*p == 1",13);
+                  (char *)"*p == 1",11);
   }
   /*@ assert t[0] ≡ 2; */
   e_acsl_assert(t[0] == 2,(char *)"Assertion",(char *)"main",
-                (char *)"t[0] == 2",14);
+                (char *)"t[0] == 2",12);
   /*@ assert t[2] ≡ 4; */
   e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"main",
-                (char *)"t[2] == 4",15);
+                (char *)"t[2] == 4",13);
   /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */
   e_acsl_assert(t[(2 * 4) / 4] == 4,(char *)"Assertion",(char *)"main",
-                (char *)"t[(2*sizeof(int))/sizeof((int)0x0)] == 4",16);
+                (char *)"t[(2*sizeof(int))/sizeof((int)0x0)] == 4",14);
   {
     int i;
     i = 0;
     while (i < 2) {
       /*@ assert t[i] ≡ i+2; */
       e_acsl_assert(i < 3,(char *)"RTE",(char *)"main",
-                    (char *)"index_bound: i < 3",19);
+                    (char *)"index_bound: i < 3",17);
       e_acsl_assert(0 <= i,(char *)"RTE",(char *)"main",
-                    (char *)"index_bound: 0 <= i",19);
-      e_acsl_assert((long long)t[i] == (long long)i + (long long)2,
-                    (char *)"Assertion",(char *)"main",(char *)"t[i] == i+2",
-                    19);
+                    (char *)"index_bound: 0 <= i",17);
+      e_acsl_assert((long)t[i] == (long)i + (long)2,(char *)"Assertion",
+                    (char *)"main",(char *)"t[i] == i+2",17);
       /*@ assert t[2-i] ≡ 4-i; */
-      e_acsl_assert((long long)2 - (long long)i < (long long)3,(char *)"RTE",
-                    (char *)"main",
-                    (char *)"index_bound: (long long)(2-(long long)i) < 3",
-                    20);
-      e_acsl_assert(0LL <= (long long)2 - (long long)i,(char *)"RTE",
-                    (char *)"main",
-                    (char *)"index_bound: 0 <= (long long)(2-(long long)i)",
-                    20);
-      e_acsl_assert((long long)t[(long long)2 - (long long)i] == (long long)4 - (long long)i,
+      e_acsl_assert((long)2 - (long)i < (long)3,(char *)"RTE",(char *)"main",
+                    (char *)"index_bound: (long)(2-(long)i) < 3",18);
+      e_acsl_assert(0L <= (long)2 - (long)i,(char *)"RTE",(char *)"main",
+                    (char *)"index_bound: 0 <= (long)(2-(long)i)",18);
+      e_acsl_assert((long)t[(long)2 - (long)i] == (long)4 - (long)i,
                     (char *)"Assertion",(char *)"main",
-                    (char *)"t[2-i] == 4-i",20);
+                    (char *)"t[2-i] == 4-i",18);
       /*@ assert *(&t[2]-i) ≡ 4-i; */
       {
         int __e_acsl_valid_read_2;
         __e_acsl_valid_read_2 = __valid_read((void *)(& t[2] - i),
                                              sizeof(int));
         e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(&t[2]-i)",21);
-        e_acsl_assert((long long)*(& t[2] - i) == (long long)4 - (long long)i,
+                      (char *)"mem_access: \\valid_read(&t[2]-i)",19);
+        e_acsl_assert((long)*(& t[2] - i) == (long)4 - (long)i,
                       (char *)"Assertion",(char *)"main",
-                      (char *)"*(&t[2]-i) == 4-i",21);
+                      (char *)"*(&t[2]-i) == 4-i",19);
       }
       i ++;
     }
@@ -175,9 +92,9 @@ int main(void)
     }
     else __e_acsl_and_2 = 0;
     e_acsl_assert(__e_acsl_and_2,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(p)",27);
+                  (char *)"mem_access: \\valid_read(p)",25);
     e_acsl_assert(*p == 5,(char *)"Assertion",(char *)"main",
-                  (char *)"*p == 5",27);
+                  (char *)"*p == 5",25);
   }
   __retres = 0;
   __delete_block((void *)(& p));
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
deleted file mode 100644
index b58a645ffe756bac21f4d5fb5fbedc6fd85c0f0b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c
+++ /dev/null
@@ -1,352 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  int t[3];
-  int *p;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(t),12U);
-  __store_block((void *)(& x),4U);
-  __full_init((void *)(& x));
-  x = 1;
-  __initialize((void *)(t),sizeof(int));
-  t[0] = 2;
-  __initialize((void *)(& t[1]),sizeof(int));
-  t[1] = 3;
-  __initialize((void *)(& t[2]),sizeof(int));
-  t[2] = 4;
-  __full_init((void *)(& p));
-  p = & x;
-  /*@ assert *p ≡ 1; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_2;
-    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((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"*p == 1",13);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_2);
-  }
-  /*@ assert t[0] ≡ 2; */
-  {
-    mpz_t __e_acsl_3;
-    mpz_t __e_acsl_4;
-    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((__mpz_struct const *)(__e_acsl_3),
-                               (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"t[0] == 2",14);
-    __gmpz_clear(__e_acsl_3);
-    __gmpz_clear(__e_acsl_4);
-  }
-  /*@ assert t[2] ≡ 4; */
-  {
-    mpz_t __e_acsl_5;
-    mpz_t __e_acsl_6;
-    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((__mpz_struct const *)(__e_acsl_5),
-                               (__mpz_struct const *)(__e_acsl_6));
-    e_acsl_assert(__e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"t[2] == 4",15);
-    __gmpz_clear(__e_acsl_5);
-    __gmpz_clear(__e_acsl_6);
-  }
-  /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */
-  {
-    mpz_t __e_acsl_7;
-    mpz_t __e_acsl_sizeof;
-    mpz_t __e_acsl_mul;
-    mpz_t __e_acsl_sizeof_2;
-    mpz_t __e_acsl_8;
-    int __e_acsl_div_guard;
-    mpz_t __e_acsl_div;
-    unsigned long __e_acsl_9;
-    mpz_t __e_acsl_10;
-    mpz_t __e_acsl_11;
-    int __e_acsl_eq_4;
-    __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,(__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((__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 *)"main",(char *)"sizeof((int)0x0) == 0",16);
-    __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((__mpz_struct const *)(__e_acsl_10),
-                               (__mpz_struct const *)(__e_acsl_11));
-    e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"t[(2*sizeof(int))/sizeof((int)0x0)] == 4",16);
-    __gmpz_clear(__e_acsl_7);
-    __gmpz_clear(__e_acsl_sizeof);
-    __gmpz_clear(__e_acsl_mul);
-    __gmpz_clear(__e_acsl_sizeof_2);
-    __gmpz_clear(__e_acsl_8);
-    __gmpz_clear(__e_acsl_div);
-    __gmpz_clear(__e_acsl_10);
-    __gmpz_clear(__e_acsl_11);
-  }
-  {
-    int i;
-    i = 0;
-    while (i < 2) {
-      /*@ assert t[i] ≡ i+2; */
-      {
-        mpz_t __e_acsl_12;
-        mpz_t __e_acsl_i;
-        mpz_t __e_acsl_13;
-        mpz_t __e_acsl_add;
-        int __e_acsl_eq_5;
-        __gmpz_init_set_si(__e_acsl_12,(long)t[i]);
-        __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,(__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 *)"main",
-                      (char *)"t[i] == i+2",19);
-        __gmpz_clear(__e_acsl_12);
-        __gmpz_clear(__e_acsl_i);
-        __gmpz_clear(__e_acsl_13);
-        __gmpz_clear(__e_acsl_add);
-      }
-      /*@ assert t[2-i] ≡ 4-i; */
-      {
-        mpz_t __e_acsl_14;
-        mpz_t __e_acsl_i_2;
-        mpz_t __e_acsl_sub;
-        unsigned long __e_acsl_15;
-        mpz_t __e_acsl_16;
-        mpz_t __e_acsl_17;
-        mpz_t __e_acsl_sub_2;
-        int __e_acsl_eq_6;
-        __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,(__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,(__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 *)"main",
-                      (char *)"t[2-i] == 4-i",20);
-        __gmpz_clear(__e_acsl_14);
-        __gmpz_clear(__e_acsl_i_2);
-        __gmpz_clear(__e_acsl_sub);
-        __gmpz_clear(__e_acsl_16);
-        __gmpz_clear(__e_acsl_17);
-        __gmpz_clear(__e_acsl_sub_2);
-      }
-      /*@ assert *(&t[2]-i) ≡ 4-i; */
-      {
-        mpz_t __e_acsl_18;
-        mpz_t __e_acsl_19;
-        mpz_t __e_acsl_i_3;
-        mpz_t __e_acsl_sub_3;
-        int __e_acsl_eq_7;
-        __gmpz_init_set_si(__e_acsl_18,(long)*(& t[2] - (long)i));
-        __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,(__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 *)"main",
-                      (char *)"*(&t[2]-i) == 4-i",21);
-        __gmpz_clear(__e_acsl_18);
-        __gmpz_clear(__e_acsl_19);
-        __gmpz_clear(__e_acsl_i_3);
-        __gmpz_clear(__e_acsl_sub_3);
-      }
-      i ++;
-    }
-  }
-  __full_init((void *)(& p));
-  p = & t[2];
-  __initialize((void *)(& t[2]),sizeof(int));
-  t[2] = 5;
-  /*@ assert *p ≡ 5; */
-  {
-    mpz_t __e_acsl_20;
-    mpz_t __e_acsl_21;
-    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((__mpz_struct const *)(__e_acsl_20),
-                               (__mpz_struct const *)(__e_acsl_21));
-    e_acsl_assert(__e_acsl_eq_8 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"*p == 5",27);
-    __gmpz_clear(__e_acsl_20);
-    __gmpz_clear(__e_acsl_21);
-  }
-  __retres = 0;
-  __delete_block((void *)(& p));
-  __delete_block((void *)(t));
-  __delete_block((void *)(& x));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init.c
index 7eba374f37b83e18e221e1675afa3a6442d0732a..475128740b1e45a9bdef683e1ac84aa4509cfe29 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init.c
@@ -1,103 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int *A;
 int *B;
 void f(void)
@@ -109,18 +10,18 @@ void f(void)
 void g(int *C, int *D)
 {
   /*@ assert \initialized(&C); */
-  __store_block((void *)(& C),4U);
+  __store_block((void *)(& C),8UL);
   e_acsl_assert(1,(char *)"Assertion",(char *)"g",
-                (char *)"\\initialized(&C)",19);
+                (char *)"\\initialized(&C)",16);
   __delete_block((void *)(& C));
   return;
 }
 
 void __e_acsl_memory_init(void)
 {
-  __store_block((void *)(& B),4U);
+  __store_block((void *)(& B),8UL);
   __full_init((void *)(& B));
-  __store_block((void *)(& A),4U);
+  __store_block((void *)(& A),8UL);
   __full_init((void *)(& A));
   return;
 }
@@ -131,8 +32,8 @@ int main(void)
   int *x;
   int *y;
   __e_acsl_memory_init();
-  __store_block((void *)(& y),4U);
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(& y),8UL);
+  __store_block((void *)(& x),8UL);
   B = (int *)__e_acsl_malloc(sizeof(int));
   __full_init((void *)(& y));
   y = (int *)__e_acsl_malloc(sizeof(int));
@@ -141,13 +42,13 @@ int main(void)
   f();
   /*@ assert \initialized(&A); */
   e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                (char *)"\\initialized(&A)",28);
+                (char *)"\\initialized(&A)",25);
   /*@ assert \initialized(&x); */
   {
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)(& x),sizeof(int *));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&x)",29);
+                  (char *)"\\initialized(&x)",26);
   }
   g(x,y);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init2.c
deleted file mode 100644
index 7eba374f37b83e18e221e1675afa3a6442d0732a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr_init2.c
+++ /dev/null
@@ -1,162 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int *A;
-int *B;
-void f(void)
-{
-  A = B;
-  return;
-}
-
-void g(int *C, int *D)
-{
-  /*@ assert \initialized(&C); */
-  __store_block((void *)(& C),4U);
-  e_acsl_assert(1,(char *)"Assertion",(char *)"g",
-                (char *)"\\initialized(&C)",19);
-  __delete_block((void *)(& C));
-  return;
-}
-
-void __e_acsl_memory_init(void)
-{
-  __store_block((void *)(& B),4U);
-  __full_init((void *)(& B));
-  __store_block((void *)(& A),4U);
-  __full_init((void *)(& A));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int *x;
-  int *y;
-  __e_acsl_memory_init();
-  __store_block((void *)(& y),4U);
-  __store_block((void *)(& x),4U);
-  B = (int *)__e_acsl_malloc(sizeof(int));
-  __full_init((void *)(& y));
-  y = (int *)__e_acsl_malloc(sizeof(int));
-  __full_init((void *)(& x));
-  x = y;
-  f();
-  /*@ assert \initialized(&A); */
-  e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                (char *)"\\initialized(&A)",28);
-  /*@ assert \initialized(&x); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)(& x),sizeof(int *));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&x)",29);
-  }
-  g(x,y);
-  __retres = 0;
-  __delete_block((void *)(& B));
-  __delete_block((void *)(& A));
-  __delete_block((void *)(& y));
-  __delete_block((void *)(& x));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
index e2992629f11b5c954e9c0b134993096a447fdd7e..7afe9f98fcea7da81889cb38008267e61b36c15c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ ensures \result ≡ (int)(\old(x)-\old(x)); */
 int f(int x)
 {
@@ -55,9 +15,9 @@ int __e_acsl_f(int x)
   __e_acsl_at_2 = x;
   __e_acsl_at = x;
   __retres = f(x);
-  e_acsl_assert(__retres == (int)((long long)__e_acsl_at - (long long)__e_acsl_at_2),
+  e_acsl_assert(__retres == (int)((long)__e_acsl_at - (long)__e_acsl_at_2),
                 (char *)"Postcondition",(char *)"f",
-                (char *)"\\result == (int)(\\old(x)-\\old(x))",7);
+                (char *)"\\result == (int)(\\old(x)-\\old(x))",5);
   return __retres;
 }
 
@@ -74,7 +34,7 @@ int __e_acsl_g(int x)
   int __retres;
   __retres = g(x);
   e_acsl_assert(__retres == Y,(char *)"Postcondition",(char *)"g",
-                (char *)"\\result == Y",18);
+                (char *)"\\result == Y",16);
   return __retres;
 }
 
@@ -92,7 +52,7 @@ int __e_acsl_h(void)
   int __retres;
   __retres = h();
   e_acsl_assert(__retres == 0,(char *)"Postcondition",(char *)"h",
-                (char *)"\\result == 0",23);
+                (char *)"\\result == 0",21);
   return __retres;
 }
 
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
deleted file mode 100644
index c8306f004fe026b866e5b75d76866f3715e5c540..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c
+++ /dev/null
@@ -1,197 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid_read(z);
-    assigns \result;
-    assigns \result \from *z; */
-extern  __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ ensures \result ≡ (int)(\old(x)-\old(x)); */
-int f(int x)
-{
-  x = 0;
-  return x;
-}
-
-/*@ ensures \result ≡ (int)(\old(x)-\old(x)); */
-int __e_acsl_f(int x)
-{
-  int __e_acsl_at_2;
-  int __e_acsl_at;
-  int __retres;
-  __e_acsl_at_2 = x;
-  __e_acsl_at = x;
-  __retres = f(x);
-  {
-    mpz_t __e_acsl_result;
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_sub;
-    unsigned long __e_acsl_2;
-    mpz_t __e_acsl_cast;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_result,(long)__retres);
-    __gmpz_init_set_si(__e_acsl,(long)__e_acsl_at);
-    __gmpz_init(__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((__mpz_struct const *)(__e_acsl_result),
-                             (__mpz_struct const *)(__e_acsl_cast));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\result == (int)(\\old(x)-\\old(x))",7);
-    __gmpz_clear(__e_acsl_result);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_sub);
-    __gmpz_clear(__e_acsl_cast);
-    return __retres;
-  }
-}
-
-int Y = 1;
-/*@ ensures \result ≡ Y; */
-int g(int x)
-{
-  return x;
-}
-
-/*@ ensures \result ≡ Y; */
-int __e_acsl_g(int x)
-{
-  int __retres;
-  __retres = g(x);
-  {
-    mpz_t __e_acsl_result;
-    mpz_t __e_acsl_Y;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_result,(long)__retres);
-    __gmpz_init_set_si(__e_acsl_Y,(long)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 *)"g",
-                  (char *)"\\result == Y",18);
-    __gmpz_clear(__e_acsl_result);
-    __gmpz_clear(__e_acsl_Y);
-    return __retres;
-  }
-}
-
-/*@ ensures \result ≡ 0; */
-int h(void)
-{
-  int __retres;
-  __retres = 0;
-  return __retres;
-}
-
-/*@ ensures \result ≡ 0; */
-int __e_acsl_h(void)
-{
-  int __retres;
-  __retres = h();
-  {
-    mpz_t __e_acsl_result;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_result),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"h",
-                  (char *)"\\result == 0",23);
-    __gmpz_clear(__e_acsl_result);
-    __gmpz_clear(__e_acsl);
-    return __retres;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  __e_acsl_f(1);
-  __e_acsl_g(Y);
-  __e_acsl_h();
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
index 7c3daa2acdceb95c1bbdddc0d17711abdfdd685e..0df54195f104c351d694929c2739eea003cb1856 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -47,7 +7,7 @@ int main(void)
   x ++;
   /*@ assert sizeof(int) ≡ sizeof(x); */
   e_acsl_assert(4 == 4,(char *)"Assertion",(char *)"main",
-                (char *)"sizeof(int) == sizeof(x)",10);
+                (char *)"sizeof(int) == sizeof(x)",8);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
deleted file mode 100644
index e6821c6545f986b0225e6c62a576de27cb0e429c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c
+++ /dev/null
@@ -1,89 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  x ++;
-  /*@ assert sizeof(int) ≡ sizeof(x); */
-  {
-    mpz_t __e_acsl_sizeof;
-    mpz_t __e_acsl_sizeof_2;
-    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((__mpz_struct const *)(__e_acsl_sizeof),
-                             (__mpz_struct const *)(__e_acsl_sizeof_2));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"sizeof(int) == sizeof(x)",10);
-    __gmpz_clear(__e_acsl_sizeof);
-    __gmpz_clear(__e_acsl_sizeof_2);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout.c
index dcf3ab86d76f91686823a34b45ebfbaeeca36f97..f2ce24f1452338f75e1df12f08217242082115de 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout.c
@@ -1,126 +1,6 @@
 /* Generated by Frama-C */
 char *__e_acsl_literal_string_2;
 char *__e_acsl_literal_string;
-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 long size_t;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-extern FILE *stdout;
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
-/*@ ensures \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 512-1]);
-    assigns \result;
-    assigns \result \from *(filename+(..)), *(mode+(..)), __p_fc_fopen;
- */
-extern FILE *fopen(char const *filename, char const *mode);
-
-/*@ ensures \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 512-1]);
-    assigns \result;
-    assigns \result \from *(filename+(..)), *(mode+(..)), __p_fc_fopen;
- */
-FILE *__e_acsl_fopen(char const *filename, char const *mode)
-{
-  FILE *__retres;
-  __retres = fopen(filename,mode);
-  return __retres;
-}
-
 void __e_acsl_memory_init(void)
 {
   __e_acsl_literal_string_2 = "wb";
@@ -148,7 +28,7 @@ int main(void)
   f2 = __e_acsl_fopen(__e_acsl_literal_string,__e_acsl_literal_string_2);
   /*@ assert f ≡ __fc_stdout; */
   e_acsl_assert(f == stdout,(char *)"Assertion",(char *)"main",
-                (char *)"f == __fc_stdout",13);
+                (char *)"f == __fc_stdout",11);
   __retres = 0;
   __delete_block((void *)(& stdout));
   __delete_block((void *)(& f));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout2.c
deleted file mode 100644
index dcf3ab86d76f91686823a34b45ebfbaeeca36f97..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stdout2.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Generated by Frama-C */
-char *__e_acsl_literal_string_2;
-char *__e_acsl_literal_string;
-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 long size_t;
-typedef unsigned int ino_t;
-typedef unsigned int gid_t;
-typedef unsigned int uid_t;
-typedef long time_t;
-typedef unsigned int blkcnt_t;
-typedef unsigned int blksize_t;
-typedef unsigned int dev_t;
-typedef unsigned int mode_t;
-typedef unsigned int nlink_t;
-typedef long off_t;
-struct stat {
-   dev_t st_dev ;
-   ino_t st_ino ;
-   mode_t st_mode ;
-   nlink_t st_nlink ;
-   uid_t st_uid ;
-   gid_t st_gid ;
-   dev_t st_rdev ;
-   off_t st_size ;
-   time_t st_atime ;
-   time_t st_mtime ;
-   time_t st_ctime ;
-   blksize_t st_blksize ;
-   blkcnt_t st_blocks ;
-};
-struct __fc_pos_t {
-   unsigned long __fc_stdio_position ;
-};
-typedef struct __fc_pos_t fpos_t;
-struct __fc_FILE {
-   unsigned int __fc_stdio_id ;
-   fpos_t __fc_position ;
-   char __fc_error ;
-   char __fc_eof ;
-   int __fc_flags ;
-   struct stat *__fc_inode ;
-   unsigned char *__fc_real_data ;
-   int __fc_real_data_max_size ;
-};
-typedef struct __fc_FILE FILE;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void __literal_string(void *ptr);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-extern FILE *stdout;
-
-FILE __fc_fopen[512];
-FILE * const __p_fc_fopen = __fc_fopen;
-/*@ ensures \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 512-1]);
-    assigns \result;
-    assigns \result \from *(filename+(..)), *(mode+(..)), __p_fc_fopen;
- */
-extern FILE *fopen(char const *filename, char const *mode);
-
-/*@ ensures \result ≡ \null ∨ \subset(\result, &__fc_fopen[0 .. 512-1]);
-    assigns \result;
-    assigns \result \from *(filename+(..)), *(mode+(..)), __p_fc_fopen;
- */
-FILE *__e_acsl_fopen(char const *filename, char const *mode)
-{
-  FILE *__retres;
-  __retres = fopen(filename,mode);
-  return __retres;
-}
-
-void __e_acsl_memory_init(void)
-{
-  __e_acsl_literal_string_2 = "wb";
-  __store_block((void *)__e_acsl_literal_string_2,sizeof("wb"));
-  __full_init((void *)__e_acsl_literal_string_2);
-  __literal_string((void *)__e_acsl_literal_string_2);
-  __e_acsl_literal_string = "/tmp/foo";
-  __store_block((void *)__e_acsl_literal_string,sizeof("/tmp/foo"));
-  __full_init((void *)__e_acsl_literal_string);
-  __literal_string((void *)__e_acsl_literal_string);
-  __store_block((void *)(& stdout),8UL);
-  __full_init((void *)(& stdout));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  FILE *f;
-  FILE *f2;
-  __e_acsl_memory_init();
-  __store_block((void *)(& f),8UL);
-  __full_init((void *)(& f));
-  f = stdout;
-  f2 = __e_acsl_fopen(__e_acsl_literal_string,__e_acsl_literal_string_2);
-  /*@ assert f ≡ __fc_stdout; */
-  e_acsl_assert(f == stdout,(char *)"Assertion",(char *)"main",
-                (char *)"f == __fc_stdout",13);
-  __retres = 0;
-  __delete_block((void *)(& stdout));
-  __delete_block((void *)(& f));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
index dbada0dda058055449e510f927e7765e00b196fa..666381e892b1de40b033946e2a4aca7720dcc5bb 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -50,27 +10,27 @@ int main(void)
   {
     x = 1;
     e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 1",9);
+                  (char *)"x == 1",8);
   }
   /*@ ensures x ≡ 2;
       ensures y ≡ 2; */
   {
     x = 2;
     e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 2",12);
+                  (char *)"x == 2",11);
     e_acsl_assert(y == 2,(char *)"Postcondition",(char *)"main",
-                  (char *)"y == 2",13);
+                  (char *)"y == 2",12);
   }
   /*@ requires x ≡ 2; */
   e_acsl_assert(x == 2,(char *)"Precondition",(char *)"main",
-                (char *)"x == 2",16);
+                (char *)"x == 2",15);
   x ++;
   /*@ requires x ≡ 3;
       requires y ≡ 2; */
   e_acsl_assert(x == 3,(char *)"Precondition",(char *)"main",
-                (char *)"x == 3",19);
+                (char *)"x == 3",18);
   e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                (char *)"y == 2",20);
+                (char *)"y == 2",19);
   x += y;
   /*@ behavior b1:
         requires x ≡ 5;
@@ -83,18 +43,16 @@ int main(void)
   */
   {
     e_acsl_assert(x == 5,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 5",24);
-    e_acsl_assert((long long)x == (long long)3 + (long long)y,
-                  (char *)"Precondition",(char *)"main",(char *)"x == 3+y",
-                  27);
+                  (char *)"x == 5",23);
+    e_acsl_assert((long)x == (long)3 + (long)y,(char *)"Precondition",
+                  (char *)"main",(char *)"x == 3+y",26);
     e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                  (char *)"y == 2",28);
+                  (char *)"y == 2",27);
     x = 3;
     e_acsl_assert(x == 3,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 3",25);
-    e_acsl_assert((long long)x == (long long)y + (long long)1,
-                  (char *)"Postcondition",(char *)"main",(char *)"x == y+1",
-                  29);
+                  (char *)"x == 3",24);
+    e_acsl_assert((long)x == (long)y + (long)1,(char *)"Postcondition",
+                  (char *)"main",(char *)"x == y+1",28);
   }
   /*@ behavior b1:
         assumes x ≡ 1;
@@ -114,34 +72,34 @@ int main(void)
     int __e_acsl_implies_3;
     if (! (x == 1)) __e_acsl_implies = 1; else __e_acsl_implies = x == 0;
     e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 1 ==> x == 0",34);
+                  (char *)"x == 1 ==> x == 0",33);
     if (x == 3) __e_acsl_and = y == 2; else __e_acsl_and = 0;
     if (! __e_acsl_and) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = x == 3;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 3 && y == 2 ==> x == 3",38);
+                  (char *)"x == 3 && y == 2 ==> x == 3",37);
     if (x == 3) __e_acsl_and_2 = y == 2; else __e_acsl_and_2 = 0;
     if (! __e_acsl_and_2) __e_acsl_implies_3 = 1;
-    else __e_acsl_implies_3 = (long long)x + (long long)y == (long long)5;
+    else __e_acsl_implies_3 = (long)x + (long)y == (long)5;
     e_acsl_assert(__e_acsl_implies_3,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 3 && y == 2 ==> x+y == 5",39);
+                  (char *)"x == 3 && y == 2 ==> x+y == 5",38);
     x += y;
   }
   /*@ requires x ≡ 5; */
   e_acsl_assert(x == 5,(char *)"Precondition",(char *)"main",
-                (char *)"x == 5",42);
+                (char *)"x == 5",41);
   /*@ requires y ≡ 2; */
   e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                (char *)"y == 2",43);
+                (char *)"y == 2",42);
   x += y;
   /*@ requires x ≡ 7;
       ensures x ≡ 7; */
   {
     e_acsl_assert(x == 7,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 7",46);
+                  (char *)"x == 7",45);
     __retres = 0;
     e_acsl_assert(x == 7,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 7",47);
+                  (char *)"x == 7",46);
   }
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
deleted file mode 100644
index ac6f0177bbb32b082aaa78486d555bcbdba4e47a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c
+++ /dev/null
@@ -1,423 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  int y;
-  x = 0;
-  y = 2;
-  /*@ ensures x ≡ 1; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    x = 1;
-    __gmpz_init_set_si(__e_acsl_x,(long)x);
-    __gmpz_init_set_si(__e_acsl,(long)1);
-    __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 *)"main",
-                  (char *)"x == 1",9);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl);
-  }
-  /*@ ensures x ≡ 2;
-      ensures y ≡ 2; */
-  {
-    mpz_t __e_acsl_x_2;
-    mpz_t __e_acsl_2;
-    int __e_acsl_eq_2;
-    mpz_t __e_acsl_y;
-    int __e_acsl_eq_3;
-    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((__mpz_struct const *)(__e_acsl_x_2),
-                               (__mpz_struct const *)(__e_acsl_2));
-    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 2",12);
-    __gmpz_init_set_si(__e_acsl_y,(long)y);
-    __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 *)"main",
-                  (char *)"y == 2",13);
-    __gmpz_clear(__e_acsl_x_2);
-    __gmpz_clear(__e_acsl_2);
-    __gmpz_clear(__e_acsl_y);
-  }
-  /*@ requires x ≡ 2; */
-  {
-    mpz_t __e_acsl_x_3;
-    mpz_t __e_acsl_3;
-    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((__mpz_struct const *)(__e_acsl_x_3),
-                               (__mpz_struct const *)(__e_acsl_3));
-    e_acsl_assert(__e_acsl_eq_4 == 0,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 2",16);
-    __gmpz_clear(__e_acsl_x_3);
-    __gmpz_clear(__e_acsl_3);
-    x ++;
-  }
-  /*@ requires x ≡ 3;
-      requires y ≡ 2; */
-  {
-    mpz_t __e_acsl_x_4;
-    mpz_t __e_acsl_4;
-    int __e_acsl_eq_5;
-    mpz_t __e_acsl_y_2;
-    mpz_t __e_acsl_5;
-    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((__mpz_struct const *)(__e_acsl_x_4),
-                               (__mpz_struct const *)(__e_acsl_4));
-    e_acsl_assert(__e_acsl_eq_5 == 0,(char *)"Precondition",(char *)"main",
-                  (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((__mpz_struct const *)(__e_acsl_y_2),
-                               (__mpz_struct const *)(__e_acsl_5));
-    e_acsl_assert(__e_acsl_eq_6 == 0,(char *)"Precondition",(char *)"main",
-                  (char *)"y == 2",20);
-    __gmpz_clear(__e_acsl_x_4);
-    __gmpz_clear(__e_acsl_4);
-    __gmpz_clear(__e_acsl_y_2);
-    __gmpz_clear(__e_acsl_5);
-    x += y;
-  }
-  /*@ behavior b1:
-        requires x ≡ 5;
-        ensures x ≡ 3;
-      
-      behavior b2:
-        requires x ≡ 3+y;
-        requires y ≡ 2;
-        ensures x ≡ y+1;
-  */
-  {
-    mpz_t __e_acsl_x_6;
-    mpz_t __e_acsl_9;
-    int __e_acsl_eq_10;
-    mpz_t __e_acsl_y_4;
-    mpz_t __e_acsl_10;
-    mpz_t __e_acsl_add_2;
-    int __e_acsl_eq_11;
-    {
-      mpz_t __e_acsl_x_5;
-      mpz_t __e_acsl_6;
-      int __e_acsl_eq_7;
-      mpz_t __e_acsl_7;
-      mpz_t __e_acsl_y_3;
-      mpz_t __e_acsl_add;
-      int __e_acsl_eq_8;
-      mpz_t __e_acsl_8;
-      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((__mpz_struct const *)(__e_acsl_x_5),
-                                 (__mpz_struct const *)(__e_acsl_6));
-      e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Precondition",(char *)"main",
-                    (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,(__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 *)"main",
-                    (char *)"x == 3+y",27);
-      __gmpz_init_set_si(__e_acsl_8,(long)2);
-      __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 *)"main",
-                    (char *)"y == 2",28);
-      __gmpz_clear(__e_acsl_x_5);
-      __gmpz_clear(__e_acsl_6);
-      __gmpz_clear(__e_acsl_7);
-      __gmpz_clear(__e_acsl_y_3);
-      __gmpz_clear(__e_acsl_add);
-      __gmpz_clear(__e_acsl_8);
-      x = 3;
-    }
-    __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((__mpz_struct const *)(__e_acsl_x_6),
-                                (__mpz_struct const *)(__e_acsl_9));
-    e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Postcondition",(char *)"main",
-                  (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,(__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 *)"main",
-                  (char *)"x == y+1",29);
-    __gmpz_clear(__e_acsl_x_6);
-    __gmpz_clear(__e_acsl_9);
-    __gmpz_clear(__e_acsl_y_4);
-    __gmpz_clear(__e_acsl_10);
-    __gmpz_clear(__e_acsl_add_2);
-  }
-  /*@ behavior b1:
-        assumes x ≡ 1;
-        requires x ≡ 0;
-      
-      behavior b2:
-        assumes x ≡ 3;
-        assumes y ≡ 2;
-        requires x ≡ 3;
-        requires x+y ≡ 5;
-  */
-  {
-    mpz_t __e_acsl_x_7;
-    mpz_t __e_acsl_11;
-    int __e_acsl_eq_12;
-    int __e_acsl_implies;
-    mpz_t __e_acsl_13;
-    int __e_acsl_eq_14;
-    int __e_acsl_and;
-    int __e_acsl_implies_2;
-    int __e_acsl_eq_17;
-    int __e_acsl_and_2;
-    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((__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;
-      mpz_t __e_acsl_12;
-      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((__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);
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 1 ==> x == 0",34);
-    __gmpz_init_set_si(__e_acsl_13,(long)3);
-    __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((__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);
-    }
-    else __e_acsl_and = 0;
-    if (! __e_acsl_and) __e_acsl_implies_2 = 1;
-    else {
-      mpz_t __e_acsl_x_9;
-      mpz_t __e_acsl_15;
-      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((__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 *)"main",
-                  (char *)"x == 3 && y == 2 ==> x == 3",38);
-    __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((__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);
-    }
-    else __e_acsl_and_2 = 0;
-    if (! __e_acsl_and_2) __e_acsl_implies_3 = 1;
-    else {
-      mpz_t __e_acsl_x_10;
-      mpz_t __e_acsl_y_7;
-      mpz_t __e_acsl_add_3;
-      mpz_t __e_acsl_17;
-      int __e_acsl_eq_19;
-      __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,(__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((__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);
-      __gmpz_clear(__e_acsl_add_3);
-      __gmpz_clear(__e_acsl_17);
-    }
-    e_acsl_assert(__e_acsl_implies_3,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 3 && y == 2 ==> x+y == 5",39);
-    __gmpz_clear(__e_acsl_x_7);
-    __gmpz_clear(__e_acsl_11);
-    __gmpz_clear(__e_acsl_13);
-    x += y;
-  }
-  /*@ requires x ≡ 5; */
-  {
-    mpz_t __e_acsl_x_11;
-    mpz_t __e_acsl_18;
-    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((__mpz_struct const *)(__e_acsl_x_11),
-                                (__mpz_struct const *)(__e_acsl_18));
-    e_acsl_assert(__e_acsl_eq_20 == 0,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 5",42);
-    __gmpz_clear(__e_acsl_x_11);
-    __gmpz_clear(__e_acsl_18);
-    /*@ requires y ≡ 2; */
-    {
-      mpz_t __e_acsl_y_8;
-      mpz_t __e_acsl_19;
-      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((__mpz_struct const *)(__e_acsl_y_8),
-                                  (__mpz_struct const *)(__e_acsl_19));
-      e_acsl_assert(__e_acsl_eq_21 == 0,(char *)"Precondition",
-                    (char *)"main",(char *)"y == 2",43);
-      __gmpz_clear(__e_acsl_y_8);
-      __gmpz_clear(__e_acsl_19);
-      x += y;
-    }
-  }
-  /*@ requires x ≡ 7;
-      ensures x ≡ 7; */
-  {
-    mpz_t __e_acsl_x_13;
-    mpz_t __e_acsl_21;
-    int __e_acsl_eq_23;
-    {
-      mpz_t __e_acsl_x_12;
-      mpz_t __e_acsl_20;
-      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((__mpz_struct const *)(__e_acsl_x_12),
-                                  (__mpz_struct const *)(__e_acsl_20));
-      e_acsl_assert(__e_acsl_eq_22 == 0,(char *)"Precondition",
-                    (char *)"main",(char *)"x == 7",46);
-      __gmpz_clear(__e_acsl_x_12);
-      __gmpz_clear(__e_acsl_20);
-      __retres = 0;
-    }
-    __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((__mpz_struct const *)(__e_acsl_x_13),
-                                (__mpz_struct const *)(__e_acsl_21));
-    e_acsl_assert(__e_acsl_eq_23 == 0,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 7",47);
-    __gmpz_clear(__e_acsl_x_13);
-    __gmpz_clear(__e_acsl_21);
-  }
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
index c7f61875787758513755bd9b4326dfd98efc3e98..27e8e5cb7c879b4ad6467ae6eb3e370c33dc4667 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -46,7 +6,7 @@ int main(void)
   x = 0;
   x ++;
   /*@ assert \true; */
-  e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"\\true",10);
+  e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"\\true",8);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c
deleted file mode 100644
index c7f61875787758513755bd9b4326dfd98efc3e98..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true2.c
+++ /dev/null
@@ -1,54 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  int x;
-  x = 0;
-  x ++;
-  /*@ assert \true; */
-  e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"\\true",10);
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
index 146b775b2f6bf29a8c7b7ccd6441a77c5e4f41d3..c8a8865a4fd4162952bcc2cdf6b2c2c75082903d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef.c
@@ -1,45 +1,5 @@
 /* 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;
 typedef unsigned char uint8;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -47,7 +7,7 @@ int main(void)
   x = (unsigned char)0;
   /*@ assert x ≡ 0; */
   e_acsl_assert((int)x == 0,(char *)"Assertion",(char *)"main",
-                (char *)"x == 0",11);
+                (char *)"x == 0",9);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
deleted file mode 100644
index 09cb51fe38a3edcc4963c0386f163914229ba686..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c
+++ /dev/null
@@ -1,99 +0,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;
-typedef unsigned char uint8;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * /*[1]*/ z,
-                                                                unsigned long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-int main(void)
-{
-  int __retres;
-  uint8 x;
-  x = (unsigned char)0;
-  /*@ assert x ≡ 0; */
-  {
-    mpz_t __e_acsl_x;
-    mpz_t __e_acsl;
-    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((__mpz_struct const *)(__e_acsl_x),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0",11);
-    __gmpz_clear(__e_acsl_x);
-    __gmpz_clear(__e_acsl);
-  }
-  __retres = 0;
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid.c
index aeef2091f8929b09f759b0997fed1aa7b0980417..d0efabe52040bca9d9340ae942d540a1c44de193 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid.c
@@ -1,166 +1,4 @@
 /* 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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int *X;
 int Z;
 /*@ requires \valid(x);
@@ -182,7 +20,7 @@ int *f(int *x)
     }
     else __e_acsl_and = 0;
     e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"f",
-                  (char *)"!\\valid(y)",19);
+                  (char *)"!\\valid(y)",17);
   }
   __full_init((void *)(& y));
   y = x;
@@ -191,7 +29,7 @@ int *f(int *x)
     int __e_acsl_valid_2;
     __e_acsl_valid_2 = __valid((void *)x,sizeof(int));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"f",
-                  (char *)"\\valid(x)",21);
+                  (char *)"\\valid(x)",19);
   }
   __delete_block((void *)(& x));
   __delete_block((void *)(& y));
@@ -209,14 +47,14 @@ int *__e_acsl_f(int *x)
     __store_block((void *)(& x),8UL);
     __e_acsl_valid = __valid((void *)x,sizeof(int));
     e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"f",
-                  (char *)"\\valid(x)",15);
+                  (char *)"\\valid(x)",13);
     __retres = f(x);
   }
   {
     int __e_acsl_valid_2;
     __e_acsl_valid_2 = __valid((void *)__retres,sizeof(int));
     e_acsl_assert(__e_acsl_valid_2,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\valid(\\result)",16);
+                  (char *)"\\valid(\\result)",14);
     __delete_block((void *)(& x));
     __delete_block((void *)(& __retres));
     return __retres;
@@ -254,13 +92,13 @@ void g(void)
       }
       else __e_acsl_and = 0;
       e_acsl_assert(__e_acsl_and,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(p)",30);
+                    (char *)"mem_access: \\valid_read(p)",28);
       __e_acsl_valid = __valid((void *)*p,sizeof(int));
       __e_acsl_and_2 = __e_acsl_valid;
     }
     else __e_acsl_and_2 = 0;
     e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"g",
-                  (char *)"\\valid(*p)",30);
+                  (char *)"\\valid(*p)",28);
   }
   __delete_block((void *)(& p));
   __delete_block((void *)(& u));
@@ -326,7 +164,7 @@ int main(void)
     }
     else __e_acsl_and_4 = 0;
     e_acsl_assert(__e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",35);
+                  (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",33);
   }
   __full_init((void *)(& a));
   a = (int *)__e_acsl_malloc(sizeof(int));
@@ -363,7 +201,7 @@ int main(void)
     }
     else __e_acsl_and_8 = 0;
     e_acsl_assert(__e_acsl_and_8,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",37);
+                  (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",35);
   }
   X = a;
   /*@ assert \valid(a) ∧ ¬\valid(b) ∧ \valid(X); */
@@ -399,7 +237,7 @@ int main(void)
     }
     else __e_acsl_and_12 = 0;
     e_acsl_assert(__e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",39);
+                  (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",37);
   }
   __full_init((void *)(& b));
   b = __e_acsl_f(& n);
@@ -436,7 +274,7 @@ int main(void)
     }
     else __e_acsl_and_16 = 0;
     e_acsl_assert(__e_acsl_and_16,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",41);
+                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",39);
   }
   X = b;
   /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */
@@ -472,7 +310,7 @@ int main(void)
     }
     else __e_acsl_and_20 = 0;
     e_acsl_assert(__e_acsl_and_20,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",43);
+                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",41);
   }
   __full_init((void *)(& c));
   c = & a;
@@ -495,13 +333,13 @@ int main(void)
       }
       else __e_acsl_and_21 = 0;
       e_acsl_assert(__e_acsl_and_21,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(c)",46);
+                    (char *)"mem_access: \\valid_read(c)",44);
       __e_acsl_valid_16 = __valid((void *)*c,sizeof(int));
       __e_acsl_and_22 = __e_acsl_valid_16;
     }
     else __e_acsl_and_22 = 0;
     e_acsl_assert(__e_acsl_and_22,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(*c)",46);
+                  (char *)"\\valid(*c)",44);
   }
   /*@ assert \valid(*(*d)); */
   {
@@ -510,7 +348,7 @@ int main(void)
     int __e_acsl_and_26;
     __e_acsl_valid_read_2 = __valid_read((void *)d,sizeof(int **));
     e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(d)",47);
+                  (char *)"mem_access: \\valid_read(d)",45);
     __e_acsl_initialized_13 = __initialized((void *)*d,sizeof(int *));
     if (__e_acsl_initialized_13) {
       int __e_acsl_initialized_14;
@@ -532,13 +370,13 @@ int main(void)
         }
         else __e_acsl_and_23 = 0;
         e_acsl_assert(__e_acsl_and_23,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(d)",47);
+                      (char *)"mem_access: \\valid_read(d)",45);
         __e_acsl_valid_read_4 = __valid_read((void *)*d,sizeof(int *));
         __e_acsl_and_24 = __e_acsl_valid_read_4;
       }
       else __e_acsl_and_24 = 0;
       e_acsl_assert(__e_acsl_and_24,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(*d)",47);
+                    (char *)"mem_access: \\valid_read(*d)",45);
       __e_acsl_initialized_16 = __initialized((void *)(& d),sizeof(int ***));
       if (__e_acsl_initialized_16) {
         int __e_acsl_valid_read_5;
@@ -547,13 +385,13 @@ int main(void)
       }
       else __e_acsl_and_25 = 0;
       e_acsl_assert(__e_acsl_and_25,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(d)",47);
+                    (char *)"mem_access: \\valid_read(d)",45);
       __e_acsl_valid_17 = __valid((void *)*(*d),sizeof(int));
       __e_acsl_and_26 = __e_acsl_valid_17;
     }
     else __e_acsl_and_26 = 0;
     e_acsl_assert(__e_acsl_and_26,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(*(*d))",47);
+                  (char *)"\\valid(*(*d))",45);
   }
   __e_acsl_free((void *)a);
   /*@ assert ¬\valid(a) ∧ \valid(b) ∧ \valid(X); */
@@ -565,6 +403,7 @@ int main(void)
     __e_acsl_initialized_17 = __initialized((void *)(& a),sizeof(int *));
     if (__e_acsl_initialized_17) {
       int __e_acsl_valid_18;
+      /*@ assert Value: dangling_pointer: ¬\dangling(&a); */
       __e_acsl_valid_18 = __valid((void *)a,sizeof(int));
       __e_acsl_and_27 = __e_acsl_valid_18;
     }
@@ -589,14 +428,14 @@ int main(void)
     }
     else __e_acsl_and_30 = 0;
     e_acsl_assert(__e_acsl_and_30,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",49);
+                  (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",47);
   }
   /*@ assert \valid(&Z); */
   {
     int __e_acsl_valid_21;
     __e_acsl_valid_21 = __valid((void *)(& Z),sizeof(int));
     e_acsl_assert(__e_acsl_valid_21,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&Z)",50);
+                  (char *)"\\valid(&Z)",48);
   }
   g();
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid2.c
deleted file mode 100644
index aeef2091f8929b09f759b0997fed1aa7b0980417..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid2.c
+++ /dev/null
@@ -1,614 +0,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 long size_t;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),8UL);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),8UL);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4UL);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int *X;
-int Z;
-/*@ requires \valid(x);
-    ensures \valid(\result); */
-int *f(int *x)
-{
-  int *y;
-  __store_block((void *)(& y),8UL);
-  /*@ assert ¬\valid(y); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    __store_block((void *)(& x),8UL);
-    __e_acsl_initialized = __initialized((void *)(& y),sizeof(int *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid;
-      __e_acsl_valid = __valid((void *)y,sizeof(int));
-      __e_acsl_and = __e_acsl_valid;
-    }
-    else __e_acsl_and = 0;
-    e_acsl_assert(! __e_acsl_and,(char *)"Assertion",(char *)"f",
-                  (char *)"!\\valid(y)",19);
-  }
-  __full_init((void *)(& y));
-  y = x;
-  /*@ assert \valid(x); */
-  {
-    int __e_acsl_valid_2;
-    __e_acsl_valid_2 = __valid((void *)x,sizeof(int));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Assertion",(char *)"f",
-                  (char *)"\\valid(x)",21);
-  }
-  __delete_block((void *)(& x));
-  __delete_block((void *)(& y));
-  return y;
-}
-
-/*@ requires \valid(x);
-    ensures \valid(\result); */
-int *__e_acsl_f(int *x)
-{
-  int *__retres;
-  __store_block((void *)(& __retres),8UL);
-  {
-    int __e_acsl_valid;
-    __store_block((void *)(& x),8UL);
-    __e_acsl_valid = __valid((void *)x,sizeof(int));
-    e_acsl_assert(__e_acsl_valid,(char *)"Precondition",(char *)"f",
-                  (char *)"\\valid(x)",15);
-    __retres = f(x);
-  }
-  {
-    int __e_acsl_valid_2;
-    __e_acsl_valid_2 = __valid((void *)__retres,sizeof(int));
-    e_acsl_assert(__e_acsl_valid_2,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\valid(\\result)",16);
-    __delete_block((void *)(& x));
-    __delete_block((void *)(& __retres));
-    return __retres;
-  }
-}
-
-void g(void)
-{
-  int m;
-  int *u;
-  int **p;
-  __store_block((void *)(& p),8UL);
-  __store_block((void *)(& u),8UL);
-  __store_block((void *)(& m),4UL);
-  __full_init((void *)(& p));
-  p = & u;
-  __full_init((void *)(& u));
-  u = & m;
-  __full_init((void *)(& m));
-  m = 123;
-  /*@ assert \valid(*p); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and_2;
-    __e_acsl_initialized = __initialized((void *)p,sizeof(int *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_initialized_2;
-      int __e_acsl_and;
-      int __e_acsl_valid;
-      __e_acsl_initialized_2 = __initialized((void *)(& p),sizeof(int **));
-      if (__e_acsl_initialized_2) {
-        int __e_acsl_valid_read;
-        __e_acsl_valid_read = __valid_read((void *)p,sizeof(int *));
-        __e_acsl_and = __e_acsl_valid_read;
-      }
-      else __e_acsl_and = 0;
-      e_acsl_assert(__e_acsl_and,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(p)",30);
-      __e_acsl_valid = __valid((void *)*p,sizeof(int));
-      __e_acsl_and_2 = __e_acsl_valid;
-    }
-    else __e_acsl_and_2 = 0;
-    e_acsl_assert(__e_acsl_and_2,(char *)"Assertion",(char *)"g",
-                  (char *)"\\valid(*p)",30);
-  }
-  __delete_block((void *)(& p));
-  __delete_block((void *)(& u));
-  __delete_block((void *)(& m));
-  return;
-}
-
-void __e_acsl_memory_init(void)
-{
-  __store_block((void *)(& Z),4UL);
-  __full_init((void *)(& Z));
-  __store_block((void *)(& X),8UL);
-  __full_init((void *)(& X));
-  return;
-}
-
-int main(void)
-{
-  int __retres;
-  int *a;
-  int *b;
-  int **c;
-  int ***d;
-  int n;
-  __e_acsl_memory_init();
-  __store_block((void *)(& n),4UL);
-  __store_block((void *)(& d),8UL);
-  __store_block((void *)(& c),8UL);
-  __store_block((void *)(& b),8UL);
-  __store_block((void *)(& a),8UL);
-  __full_init((void *)(& n));
-  n = 0;
-  /*@ assert ¬\valid(a) ∧ ¬\valid(b) ∧ ¬\valid(X); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    int __e_acsl_and_3;
-    int __e_acsl_and_4;
-    __e_acsl_initialized = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid;
-      __e_acsl_valid = __valid((void *)a,sizeof(int));
-      __e_acsl_and = __e_acsl_valid;
-    }
-    else __e_acsl_and = 0;
-    if (! __e_acsl_and) {
-      int __e_acsl_initialized_2;
-      int __e_acsl_and_2;
-      __e_acsl_initialized_2 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_2) {
-        int __e_acsl_valid_2;
-        __e_acsl_valid_2 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_2 = __e_acsl_valid_2;
-      }
-      else __e_acsl_and_2 = 0;
-      __e_acsl_and_3 = ! __e_acsl_and_2;
-    }
-    else __e_acsl_and_3 = 0;
-    if (__e_acsl_and_3) {
-      int __e_acsl_valid_3;
-      __e_acsl_valid_3 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_4 = ! __e_acsl_valid_3;
-    }
-    else __e_acsl_and_4 = 0;
-    e_acsl_assert(__e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",35);
-  }
-  __full_init((void *)(& a));
-  a = (int *)__e_acsl_malloc(sizeof(int));
-  /*@ assert \valid(a) ∧ ¬\valid(b) ∧ ¬\valid(X); */
-  {
-    int __e_acsl_initialized_3;
-    int __e_acsl_and_5;
-    int __e_acsl_and_7;
-    int __e_acsl_and_8;
-    __e_acsl_initialized_3 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_3) {
-      int __e_acsl_valid_4;
-      __e_acsl_valid_4 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_5 = __e_acsl_valid_4;
-    }
-    else __e_acsl_and_5 = 0;
-    if (__e_acsl_and_5) {
-      int __e_acsl_initialized_4;
-      int __e_acsl_and_6;
-      __e_acsl_initialized_4 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_4) {
-        int __e_acsl_valid_5;
-        __e_acsl_valid_5 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_6 = __e_acsl_valid_5;
-      }
-      else __e_acsl_and_6 = 0;
-      __e_acsl_and_7 = ! __e_acsl_and_6;
-    }
-    else __e_acsl_and_7 = 0;
-    if (__e_acsl_and_7) {
-      int __e_acsl_valid_6;
-      __e_acsl_valid_6 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_8 = ! __e_acsl_valid_6;
-    }
-    else __e_acsl_and_8 = 0;
-    e_acsl_assert(__e_acsl_and_8,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",37);
-  }
-  X = a;
-  /*@ assert \valid(a) ∧ ¬\valid(b) ∧ \valid(X); */
-  {
-    int __e_acsl_initialized_5;
-    int __e_acsl_and_9;
-    int __e_acsl_and_11;
-    int __e_acsl_and_12;
-    __e_acsl_initialized_5 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_5) {
-      int __e_acsl_valid_7;
-      __e_acsl_valid_7 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_9 = __e_acsl_valid_7;
-    }
-    else __e_acsl_and_9 = 0;
-    if (__e_acsl_and_9) {
-      int __e_acsl_initialized_6;
-      int __e_acsl_and_10;
-      __e_acsl_initialized_6 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_6) {
-        int __e_acsl_valid_8;
-        __e_acsl_valid_8 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_10 = __e_acsl_valid_8;
-      }
-      else __e_acsl_and_10 = 0;
-      __e_acsl_and_11 = ! __e_acsl_and_10;
-    }
-    else __e_acsl_and_11 = 0;
-    if (__e_acsl_and_11) {
-      int __e_acsl_valid_9;
-      __e_acsl_valid_9 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_12 = __e_acsl_valid_9;
-    }
-    else __e_acsl_and_12 = 0;
-    e_acsl_assert(__e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",39);
-  }
-  __full_init((void *)(& b));
-  b = __e_acsl_f(& n);
-  /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */
-  {
-    int __e_acsl_initialized_7;
-    int __e_acsl_and_13;
-    int __e_acsl_and_15;
-    int __e_acsl_and_16;
-    __e_acsl_initialized_7 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_7) {
-      int __e_acsl_valid_10;
-      __e_acsl_valid_10 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_13 = __e_acsl_valid_10;
-    }
-    else __e_acsl_and_13 = 0;
-    if (__e_acsl_and_13) {
-      int __e_acsl_initialized_8;
-      int __e_acsl_and_14;
-      __e_acsl_initialized_8 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_8) {
-        int __e_acsl_valid_11;
-        __e_acsl_valid_11 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_14 = __e_acsl_valid_11;
-      }
-      else __e_acsl_and_14 = 0;
-      __e_acsl_and_15 = __e_acsl_and_14;
-    }
-    else __e_acsl_and_15 = 0;
-    if (__e_acsl_and_15) {
-      int __e_acsl_valid_12;
-      __e_acsl_valid_12 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_16 = __e_acsl_valid_12;
-    }
-    else __e_acsl_and_16 = 0;
-    e_acsl_assert(__e_acsl_and_16,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",41);
-  }
-  X = b;
-  /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */
-  {
-    int __e_acsl_initialized_9;
-    int __e_acsl_and_17;
-    int __e_acsl_and_19;
-    int __e_acsl_and_20;
-    __e_acsl_initialized_9 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_9) {
-      int __e_acsl_valid_13;
-      __e_acsl_valid_13 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_17 = __e_acsl_valid_13;
-    }
-    else __e_acsl_and_17 = 0;
-    if (__e_acsl_and_17) {
-      int __e_acsl_initialized_10;
-      int __e_acsl_and_18;
-      __e_acsl_initialized_10 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_10) {
-        int __e_acsl_valid_14;
-        __e_acsl_valid_14 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_18 = __e_acsl_valid_14;
-      }
-      else __e_acsl_and_18 = 0;
-      __e_acsl_and_19 = __e_acsl_and_18;
-    }
-    else __e_acsl_and_19 = 0;
-    if (__e_acsl_and_19) {
-      int __e_acsl_valid_15;
-      __e_acsl_valid_15 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_20 = __e_acsl_valid_15;
-    }
-    else __e_acsl_and_20 = 0;
-    e_acsl_assert(__e_acsl_and_20,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b) && \\valid(X)",43);
-  }
-  __full_init((void *)(& c));
-  c = & a;
-  __full_init((void *)(& d));
-  d = & c;
-  /*@ assert \valid(*c); */
-  {
-    int __e_acsl_initialized_11;
-    int __e_acsl_and_22;
-    __e_acsl_initialized_11 = __initialized((void *)c,sizeof(int *));
-    if (__e_acsl_initialized_11) {
-      int __e_acsl_initialized_12;
-      int __e_acsl_and_21;
-      int __e_acsl_valid_16;
-      __e_acsl_initialized_12 = __initialized((void *)(& c),sizeof(int **));
-      if (__e_acsl_initialized_12) {
-        int __e_acsl_valid_read;
-        __e_acsl_valid_read = __valid_read((void *)c,sizeof(int *));
-        __e_acsl_and_21 = __e_acsl_valid_read;
-      }
-      else __e_acsl_and_21 = 0;
-      e_acsl_assert(__e_acsl_and_21,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(c)",46);
-      __e_acsl_valid_16 = __valid((void *)*c,sizeof(int));
-      __e_acsl_and_22 = __e_acsl_valid_16;
-    }
-    else __e_acsl_and_22 = 0;
-    e_acsl_assert(__e_acsl_and_22,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(*c)",46);
-  }
-  /*@ assert \valid(*(*d)); */
-  {
-    int __e_acsl_valid_read_2;
-    int __e_acsl_initialized_13;
-    int __e_acsl_and_26;
-    __e_acsl_valid_read_2 = __valid_read((void *)d,sizeof(int **));
-    e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(d)",47);
-    __e_acsl_initialized_13 = __initialized((void *)*d,sizeof(int *));
-    if (__e_acsl_initialized_13) {
-      int __e_acsl_initialized_14;
-      int __e_acsl_and_24;
-      int __e_acsl_initialized_16;
-      int __e_acsl_and_25;
-      int __e_acsl_valid_17;
-      __e_acsl_initialized_14 = __initialized((void *)d,sizeof(int **));
-      if (__e_acsl_initialized_14) {
-        int __e_acsl_initialized_15;
-        int __e_acsl_and_23;
-        int __e_acsl_valid_read_4;
-        __e_acsl_initialized_15 = __initialized((void *)(& d),
-                                                sizeof(int ***));
-        if (__e_acsl_initialized_15) {
-          int __e_acsl_valid_read_3;
-          __e_acsl_valid_read_3 = __valid_read((void *)d,sizeof(int **));
-          __e_acsl_and_23 = __e_acsl_valid_read_3;
-        }
-        else __e_acsl_and_23 = 0;
-        e_acsl_assert(__e_acsl_and_23,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(d)",47);
-        __e_acsl_valid_read_4 = __valid_read((void *)*d,sizeof(int *));
-        __e_acsl_and_24 = __e_acsl_valid_read_4;
-      }
-      else __e_acsl_and_24 = 0;
-      e_acsl_assert(__e_acsl_and_24,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(*d)",47);
-      __e_acsl_initialized_16 = __initialized((void *)(& d),sizeof(int ***));
-      if (__e_acsl_initialized_16) {
-        int __e_acsl_valid_read_5;
-        __e_acsl_valid_read_5 = __valid_read((void *)d,sizeof(int **));
-        __e_acsl_and_25 = __e_acsl_valid_read_5;
-      }
-      else __e_acsl_and_25 = 0;
-      e_acsl_assert(__e_acsl_and_25,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(d)",47);
-      __e_acsl_valid_17 = __valid((void *)*(*d),sizeof(int));
-      __e_acsl_and_26 = __e_acsl_valid_17;
-    }
-    else __e_acsl_and_26 = 0;
-    e_acsl_assert(__e_acsl_and_26,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(*(*d))",47);
-  }
-  __e_acsl_free((void *)a);
-  /*@ assert ¬\valid(a) ∧ \valid(b) ∧ \valid(X); */
-  {
-    int __e_acsl_initialized_17;
-    int __e_acsl_and_27;
-    int __e_acsl_and_29;
-    int __e_acsl_and_30;
-    __e_acsl_initialized_17 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_17) {
-      int __e_acsl_valid_18;
-      __e_acsl_valid_18 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_27 = __e_acsl_valid_18;
-    }
-    else __e_acsl_and_27 = 0;
-    if (! __e_acsl_and_27) {
-      int __e_acsl_initialized_18;
-      int __e_acsl_and_28;
-      __e_acsl_initialized_18 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_18) {
-        int __e_acsl_valid_19;
-        __e_acsl_valid_19 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_28 = __e_acsl_valid_19;
-      }
-      else __e_acsl_and_28 = 0;
-      __e_acsl_and_29 = __e_acsl_and_28;
-    }
-    else __e_acsl_and_29 = 0;
-    if (__e_acsl_and_29) {
-      int __e_acsl_valid_20;
-      __e_acsl_valid_20 = __valid((void *)X,sizeof(int));
-      __e_acsl_and_30 = __e_acsl_valid_20;
-    }
-    else __e_acsl_and_30 = 0;
-    e_acsl_assert(__e_acsl_and_30,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",49);
-  }
-  /*@ assert \valid(&Z); */
-  {
-    int __e_acsl_valid_21;
-    __e_acsl_valid_21 = __valid((void *)(& Z),sizeof(int));
-    e_acsl_assert(__e_acsl_valid_21,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(&Z)",50);
-  }
-  g();
-  __retres = 0;
-  __delete_block((void *)(& Z));
-  __delete_block((void *)(& X));
-  __delete_block((void *)(& n));
-  __delete_block((void *)(& d));
-  __delete_block((void *)(& c));
-  __delete_block((void *)(& b));
-  __delete_block((void *)(& a));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
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 9298497a1ff5db75741a00f45d3d769bf9f69bd1..4be590b8ffb86a000eba31459d37cb4973adf222 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
@@ -1,178 +1,12 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int main(void)
 {
   int __retres;
   int *a;
   int *b;
   int n;
-  __store_block((void *)(& b),4U);
-  __store_block((void *)(& a),4U);
+  __store_block((void *)(& b),8UL);
+  __store_block((void *)(& a),8UL);
   n = 0;
   /*@ assert ¬\valid(a) ∧ ¬\valid(b); */
   {
@@ -200,7 +34,7 @@ int main(void)
     }
     else __e_acsl_and_3 = 0;
     e_acsl_assert(__e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b)",12);
+                  (char *)"!\\valid(a) && !\\valid(b)",10);
   }
   __full_init((void *)(& a));
   a = (int *)__e_acsl_malloc(sizeof(int));
@@ -234,7 +68,7 @@ int main(void)
     }
     else __e_acsl_and_6 = 0;
     e_acsl_assert(__e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b)",16);
+                  (char *)"\\valid(a) && \\valid(b)",14);
   }
   /*@ assert *b ≡ n; */
   {
@@ -248,9 +82,9 @@ int main(void)
     }
     else __e_acsl_and_7 = 0;
     e_acsl_assert(__e_acsl_and_7,(char *)"RTE",(char *)"main",
-                  (char *)"mem_access: \\valid_read(b)",17);
+                  (char *)"mem_access: \\valid_read(b)",15);
     e_acsl_assert(*b == n,(char *)"Assertion",(char *)"main",
-                  (char *)"*b == n",17);
+                  (char *)"*b == n",15);
   }
   __e_acsl_free((void *)b);
   /*@ assert ¬\valid(a) ∧ ¬\valid(b); */
@@ -261,6 +95,7 @@ int main(void)
     __e_acsl_initialized_6 = __initialized((void *)(& a),sizeof(int *));
     if (__e_acsl_initialized_6) {
       int __e_acsl_valid_5;
+      /*@ assert Value: dangling_pointer: ¬\dangling(&a); */
       __e_acsl_valid_5 = __valid((void *)a,sizeof(int));
       __e_acsl_and_8 = __e_acsl_valid_5;
     }
@@ -271,6 +106,7 @@ int main(void)
       __e_acsl_initialized_7 = __initialized((void *)(& b),sizeof(int *));
       if (__e_acsl_initialized_7) {
         int __e_acsl_valid_6;
+        /*@ assert Value: dangling_pointer: ¬\dangling(&b); */
         __e_acsl_valid_6 = __valid((void *)b,sizeof(int));
         __e_acsl_and_9 = __e_acsl_valid_6;
       }
@@ -279,7 +115,7 @@ int main(void)
     }
     else __e_acsl_and_10 = 0;
     e_acsl_assert(__e_acsl_and_10,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b)",19);
+                  (char *)"!\\valid(a) && !\\valid(b)",17);
   }
   __retres = 0;
   __delete_block((void *)(& b));
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
deleted file mode 100644
index 74650f013f2d505d7b3962151d85a55cbacdb41d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c
+++ /dev/null
@@ -1,303 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int main(void)
-{
-  int __retres;
-  int *a;
-  int *b;
-  int n;
-  __store_block((void *)(& b),4U);
-  __store_block((void *)(& a),4U);
-  n = 0;
-  /*@ assert ¬\valid(a) ∧ ¬\valid(b); */
-  {
-    int __e_acsl_initialized;
-    int __e_acsl_and;
-    int __e_acsl_and_3;
-    __e_acsl_initialized = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized) {
-      int __e_acsl_valid;
-      __e_acsl_valid = __valid((void *)a,sizeof(int));
-      __e_acsl_and = __e_acsl_valid;
-    }
-    else __e_acsl_and = 0;
-    if (! __e_acsl_and) {
-      int __e_acsl_initialized_2;
-      int __e_acsl_and_2;
-      __e_acsl_initialized_2 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_2) {
-        int __e_acsl_valid_2;
-        __e_acsl_valid_2 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_2 = __e_acsl_valid_2;
-      }
-      else __e_acsl_and_2 = 0;
-      __e_acsl_and_3 = ! __e_acsl_and_2;
-    }
-    else __e_acsl_and_3 = 0;
-    e_acsl_assert(__e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b)",12);
-  }
-  __full_init((void *)(& a));
-  a = (int *)__e_acsl_malloc(sizeof(int));
-  __initialize((void *)a,sizeof(int));
-  *a = n;
-  __full_init((void *)(& b));
-  b = a;
-  /*@ assert \valid(a) ∧ \valid(b); */
-  {
-    int __e_acsl_initialized_3;
-    int __e_acsl_and_4;
-    int __e_acsl_and_6;
-    __e_acsl_initialized_3 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_3) {
-      int __e_acsl_valid_3;
-      __e_acsl_valid_3 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_4 = __e_acsl_valid_3;
-    }
-    else __e_acsl_and_4 = 0;
-    if (__e_acsl_and_4) {
-      int __e_acsl_initialized_4;
-      int __e_acsl_and_5;
-      __e_acsl_initialized_4 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_4) {
-        int __e_acsl_valid_4;
-        __e_acsl_valid_4 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_5 = __e_acsl_valid_4;
-      }
-      else __e_acsl_and_5 = 0;
-      __e_acsl_and_6 = __e_acsl_and_5;
-    }
-    else __e_acsl_and_6 = 0;
-    e_acsl_assert(__e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                  (char *)"\\valid(a) && \\valid(b)",16);
-  }
-  /*@ assert *b ≡ n; */
-  {
-    mpz_t __e_acsl;
-    mpz_t __e_acsl_n;
-    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((__mpz_struct const *)(__e_acsl),
-                             (__mpz_struct const *)(__e_acsl_n));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"*b == n",17);
-    __gmpz_clear(__e_acsl);
-    __gmpz_clear(__e_acsl_n);
-  }
-  __e_acsl_free((void *)b);
-  /*@ assert ¬\valid(a) ∧ ¬\valid(b); */
-  {
-    int __e_acsl_initialized_5;
-    int __e_acsl_and_7;
-    int __e_acsl_and_9;
-    __e_acsl_initialized_5 = __initialized((void *)(& a),sizeof(int *));
-    if (__e_acsl_initialized_5) {
-      int __e_acsl_valid_5;
-      __e_acsl_valid_5 = __valid((void *)a,sizeof(int));
-      __e_acsl_and_7 = __e_acsl_valid_5;
-    }
-    else __e_acsl_and_7 = 0;
-    if (! __e_acsl_and_7) {
-      int __e_acsl_initialized_6;
-      int __e_acsl_and_8;
-      __e_acsl_initialized_6 = __initialized((void *)(& b),sizeof(int *));
-      if (__e_acsl_initialized_6) {
-        int __e_acsl_valid_6;
-        __e_acsl_valid_6 = __valid((void *)b,sizeof(int));
-        __e_acsl_and_8 = __e_acsl_valid_6;
-      }
-      else __e_acsl_and_8 = 0;
-      __e_acsl_and_9 = ! __e_acsl_and_8;
-    }
-    else __e_acsl_and_9 = 0;
-    e_acsl_assert(__e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                  (char *)"!\\valid(a) && !\\valid(b)",19);
-  }
-  __retres = 0;
-  __delete_block((void *)(& b));
-  __delete_block((void *)(& a));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract.c
index 6b59fc96e3cc0306e04073eddbe39a644a1e4818..fa2f19d9a10039567d3d3ff5bea533651dbd80c7 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract.c
@@ -1,89 +1,8 @@
 /* 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 list {
    int element ;
    struct list *next ;
 };
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 /*@ behavior B1:
       assumes l ≡ \null;
       ensures \result ≡ \old(l);
@@ -96,8 +15,8 @@ predicate diffSize{L1, L2}(ℤ i) =
 struct list *f(struct list *l)
 {
   struct list *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& l),4U);
+  __store_block((void *)(& __retres),8UL);
+  __store_block((void *)(& l),8UL);
   if (l == (struct list *)0) {
     __full_init((void *)(& __retres));
     __retres = l;
@@ -132,9 +51,9 @@ struct list *__e_acsl_f(struct list *l)
   struct list *__e_acsl_at_2;
   int __e_acsl_at;
   struct list *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& l),4U);
-  __store_block((void *)(& __e_acsl_at_4),4U);
+  __store_block((void *)(& __retres),8UL);
+  __store_block((void *)(& l),8UL);
+  __store_block((void *)(& __e_acsl_at_4),8UL);
   __e_acsl_at_4 = l;
   {
     int __e_acsl_valid;
@@ -151,7 +70,8 @@ struct list *__e_acsl_f(struct list *l)
         __e_acsl_valid_read = __valid_read((void *)(& l->next),
                                            sizeof(struct list *));
         e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                      (char *)"mem_access: \\valid_read(&l->next)",21);
+                      (char *)"mem_access: \\valid_read(&l->next)",19);
+        /*@ assert Value: mem_access: \valid_read(&l->next); */
         __e_acsl_valid_2 = __valid((void *)l->next,sizeof(struct list));
         __e_acsl_and = __e_acsl_valid_2;
       }
@@ -161,9 +81,9 @@ struct list *__e_acsl_f(struct list *l)
     else __e_acsl_and_2 = 0;
     __e_acsl_at_3 = __e_acsl_and_2;
   }
-  __store_block((void *)(& __e_acsl_at_2),4U);
+  __store_block((void *)(& __e_acsl_at_2),8UL);
   __e_acsl_at_2 = l;
-  __store_block((void *)(& __e_acsl_at),4U);
+  __store_block((void *)(& __e_acsl_at),4UL);
   __e_acsl_at = l == (void *)0;
   __retres = f(l);
   {
@@ -172,12 +92,12 @@ struct list *__e_acsl_f(struct list *l)
     if (! __e_acsl_at) __e_acsl_implies = 1;
     else __e_acsl_implies = __retres == __e_acsl_at_2;
     e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\old(l == \\null) ==> \\result == \\old(l)",18);
+                  (char *)"\\old(l == \\null) ==> \\result == \\old(l)",16);
     if (! __e_acsl_at_3) __e_acsl_implies_2 = 1;
     else __e_acsl_implies_2 = __retres == __e_acsl_at_4;
     e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"f",
                   (char *)"\\old(!\\valid(l) && !\\valid(l->next)) ==> \\result == \\old(l)",
-                  22);
+                  20);
     __delete_block((void *)(& l));
     __delete_block((void *)(& __retres));
     return __retres;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract2.c
deleted file mode 100644
index 6b59fc96e3cc0306e04073eddbe39a644a1e4818..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_in_contract2.c
+++ /dev/null
@@ -1,196 +0,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 list {
-   int element ;
-   struct list *next ;
-};
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 __full_init(void *ptr);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures \result ≡ 1 ⇒ \valid((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid(void *ptr, size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ensures \result ≡ 0 ∨ \result ≡ 1;
-    ensures
-      \result ≡ 1 ⇒ \initialized((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
-/*@ behavior B1:
-      assumes l ≡ \null;
-      ensures \result ≡ \old(l);
-    
-    behavior B2:
-      assumes ¬\valid(l);
-      assumes ¬\valid(l->next);
-      ensures \result ≡ \old(l);
- */
-struct list *f(struct list *l)
-{
-  struct list *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& l),4U);
-  if (l == (struct list *)0) {
-    __full_init((void *)(& __retres));
-    __retres = l;
-    goto return_label;
-  }
-  if (l->next == (struct list *)0) {
-    __full_init((void *)(& __retres));
-    __retres = l;
-    goto return_label;
-  }
-  __full_init((void *)(& __retres));
-  __retres = (struct list *)0;
-  return_label:
-    __delete_block((void *)(& l));
-    __delete_block((void *)(& __retres));
-    return __retres;
-}
-
-/*@ behavior B1:
-      assumes l ≡ \null;
-      ensures \result ≡ \old(l);
-    
-    behavior B2:
-      assumes ¬\valid(l);
-      assumes ¬\valid(l->next);
-      ensures \result ≡ \old(l);
- */
-struct list *__e_acsl_f(struct list *l)
-{
-  struct list *__e_acsl_at_4;
-  int __e_acsl_at_3;
-  struct list *__e_acsl_at_2;
-  int __e_acsl_at;
-  struct list *__retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& l),4U);
-  __store_block((void *)(& __e_acsl_at_4),4U);
-  __e_acsl_at_4 = l;
-  {
-    int __e_acsl_valid;
-    int __e_acsl_and_2;
-    __e_acsl_valid = __valid((void *)l,sizeof(struct list));
-    if (! __e_acsl_valid) {
-      int __e_acsl_initialized;
-      int __e_acsl_and;
-      __e_acsl_initialized = __initialized((void *)(& l->next),
-                                           sizeof(struct list *));
-      if (__e_acsl_initialized) {
-        int __e_acsl_valid_read;
-        int __e_acsl_valid_2;
-        __e_acsl_valid_read = __valid_read((void *)(& l->next),
-                                           sizeof(struct list *));
-        e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                      (char *)"mem_access: \\valid_read(&l->next)",21);
-        __e_acsl_valid_2 = __valid((void *)l->next,sizeof(struct list));
-        __e_acsl_and = __e_acsl_valid_2;
-      }
-      else __e_acsl_and = 0;
-      __e_acsl_and_2 = ! __e_acsl_and;
-    }
-    else __e_acsl_and_2 = 0;
-    __e_acsl_at_3 = __e_acsl_and_2;
-  }
-  __store_block((void *)(& __e_acsl_at_2),4U);
-  __e_acsl_at_2 = l;
-  __store_block((void *)(& __e_acsl_at),4U);
-  __e_acsl_at = l == (void *)0;
-  __retres = f(l);
-  {
-    int __e_acsl_implies;
-    int __e_acsl_implies_2;
-    if (! __e_acsl_at) __e_acsl_implies = 1;
-    else __e_acsl_implies = __retres == __e_acsl_at_2;
-    e_acsl_assert(__e_acsl_implies,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\old(l == \\null) ==> \\result == \\old(l)",18);
-    if (! __e_acsl_at_3) __e_acsl_implies_2 = 1;
-    else __e_acsl_implies_2 = __retres == __e_acsl_at_4;
-    e_acsl_assert(__e_acsl_implies_2,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\old(!\\valid(l) && !\\valid(l->next)) ==> \\result == \\old(l)",
-                  22);
-    __delete_block((void *)(& l));
-    __delete_block((void *)(& __retres));
-    return __retres;
-  }
-}
-
-int main(void)
-{
-  int __retres;
-  __e_acsl_f((struct list *)0);
-  __retres = 0;
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector.c
index a26c08d266e91ab8a0978b18714f50348a7a2480..3633303ec934faf30a57e26397fd2d5ae7c32367 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector.c
@@ -1,162 +1,12 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
 int LAST;
 int *new_inversed(int len, int *v)
 {
   int i;
   int *p;
-  __store_block((void *)(& p),4U);
+  __store_block((void *)(& p),8UL);
   __full_init((void *)(& p));
-  p = (int *)__e_acsl_malloc(sizeof(int) * (unsigned int)len);
+  p = (int *)__e_acsl_malloc(sizeof(int) * (unsigned long)len);
   i = 0;
   while (i < len) {
     __initialize((void *)(p + i),sizeof(int));
@@ -173,8 +23,8 @@ int main(void)
   int x;
   int v1[3];
   int *v2;
-  __store_block((void *)(& v2),4U);
-  __store_block((void *)(v1),12U);
+  __store_block((void *)(& v2),8UL);
+  __store_block((void *)(v1),12UL);
   x = 3;
   __initialize((void *)(v1),sizeof(int));
   v1[0] = 1;
@@ -188,7 +38,7 @@ int main(void)
     int __e_acsl_initialized;
     __e_acsl_initialized = __initialized((void *)(& v1[2]),sizeof(int));
     e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&v1[2])",26);
+                  (char *)"\\initialized(&v1[2])",24);
   }
   __full_init((void *)(& v2));
   v2 = new_inversed(3,v1);
@@ -198,11 +48,12 @@ int main(void)
     int __e_acsl_initialized_2;
     __e_acsl_initialized_2 = __initialized((void *)(v2 + 2),sizeof(int));
     e_acsl_assert(__e_acsl_initialized_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(v2+2)",29);
+                  (char *)"\\initialized(v2+2)",27);
   }
   /*@ assert LAST ≡ 1; */
+  /*@ assert Value: initialisation: \initialized(&LAST); */
   e_acsl_assert(LAST == 1,(char *)"Assertion",(char *)"main",
-                (char *)"LAST == 1",30);
+                (char *)"LAST == 1",28);
   __e_acsl_free((void *)v2);
   __retres = 0;
   __delete_block((void *)(& v2));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c
deleted file mode 100644
index 43a45615da21bc5072da755ca69bfe80abdf789d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c
+++ /dev/null
@@ -1,249 +0,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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-void *__malloc(size_t size);
-
-void __free(void *p);
-
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ assigns \result;
-    assigns \result \from ptr; */
-extern  __attribute__((__FC_BUILTIN__)) int __freeable(void *ptr);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __initialized(void *ptr,
-                                                          size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@ assigns __fc_heap_status, \result;
-    assigns __fc_heap_status \from size, __fc_heap_status;
-    assigns \result \from size, __fc_heap_status;
-    allocates \result;
-    
-    behavior allocation:
-      assumes is_allocable(size);
-      ensures \fresh{Old, Here}(\result,\old(size));
-      assigns __fc_heap_status, \result;
-      assigns __fc_heap_status \from size, __fc_heap_status;
-      assigns \result \from size, __fc_heap_status;
-    
-    behavior no_allocation:
-      assumes ¬is_allocable(size);
-      ensures \result ≡ \null;
-      assigns \result;
-      assigns \result \from \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_allocation, allocation;
-    disjoint behaviors no_allocation, allocation;
- */
-void *__e_acsl_malloc(size_t size)
-{
-  void *__retres;
-  __store_block((void *)(& __retres),4U);
-  __retres = __malloc(size);
-  __delete_block((void *)(& __retres));
-  return __retres;
-}
-
-/*@ assigns __fc_heap_status;
-    assigns __fc_heap_status \from __fc_heap_status;
-    frees p;
-    
-    behavior deallocation:
-      assumes p ≢ \null;
-      requires freeable: \freeable(p);
-      ensures \allocable(\old(p));
-      assigns __fc_heap_status;
-      assigns __fc_heap_status \from __fc_heap_status;
-    
-    behavior no_deallocation:
-      assumes p ≡ \null;
-      assigns \nothing;
-      allocates \nothing;
-    
-    complete behaviors no_deallocation, deallocation;
-    disjoint behaviors no_deallocation, deallocation;
- */
-void __e_acsl_free(void *p)
-{
-  int __e_acsl_at;
-  {
-    int __e_acsl_implies;
-    __store_block((void *)(& p),4U);
-    if (! (p != (void *)0)) __e_acsl_implies = 1;
-    else {
-      int __e_acsl_freeable;
-      __e_acsl_freeable = __freeable(p);
-      __e_acsl_implies = __e_acsl_freeable;
-    }
-    e_acsl_assert(__e_acsl_implies,(char *)"Precondition",(char *)"free",
-                  (char *)"p != \\null ==> \\freeable(p)",178);
-    __store_block((void *)(& __e_acsl_at),4U);
-    __e_acsl_at = p != (void *)0;
-    __free(p);
-  }
-  __delete_block((void *)(& p));
-  return;
-}
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
-
-*/
-int LAST;
-int *new_inversed(int len, int *v)
-{
-  int i;
-  int *p;
-  __store_block((void *)(& p),4U);
-  __full_init((void *)(& p));
-  p = (int *)__e_acsl_malloc(sizeof(int) * (unsigned int)len);
-  i = 0;
-  while (i < len) {
-    __initialize((void *)(p + i),sizeof(int));
-    *(p + i) = *(v + ((len - i) - 1));
-    i ++;
-  }
-  __delete_block((void *)(& p));
-  return p;
-}
-
-int main(void)
-{
-  int __retres;
-  int x;
-  int v1[3];
-  int *v2;
-  __store_block((void *)(& v2),4U);
-  __store_block((void *)(v1),12U);
-  x = 3;
-  __initialize((void *)(v1),sizeof(int));
-  v1[0] = 1;
-  __initialize((void *)(& v1[1]),sizeof(int));
-  v1[1] = 2;
-  __initialize((void *)(& v1[2]),sizeof(int));
-  v1[2] = x;
-  LAST = v1[2];
-  /*@ assert \initialized(&v1[2]); */
-  {
-    int __e_acsl_initialized;
-    __e_acsl_initialized = __initialized((void *)(& v1[2]),sizeof(int));
-    e_acsl_assert(__e_acsl_initialized,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&v1[2])",26);
-  }
-  __full_init((void *)(& v2));
-  v2 = new_inversed(3,v1);
-  LAST = *(v2 + 2);
-  /*@ assert \initialized(v2+2); */
-  {
-    int __e_acsl_initialized_2;
-    __e_acsl_initialized_2 = __initialized((void *)(v2 + (long)2),
-                                           sizeof(int));
-    e_acsl_assert(__e_acsl_initialized_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(v2+2)",29);
-  }
-  /*@ assert LAST ≡ 1; */
-  {
-    mpz_t __e_acsl_LAST;
-    mpz_t __e_acsl;
-    int __e_acsl_eq;
-    __gmpz_init_set_si(__e_acsl_LAST,(long)LAST);
-    __gmpz_init_set_si(__e_acsl,(long)1);
-    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_LAST),
-                             (__mpz_struct const *)(__e_acsl));
-    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"LAST == 1",30);
-    __gmpz_clear(__e_acsl_LAST);
-    __gmpz_clear(__e_acsl);
-  }
-  __e_acsl_free((void *)v2);
-  __retres = 0;
-  __delete_block((void *)(& v2));
-  __delete_block((void *)(v1));
-  __e_acsl_memory_clean();
-  return __retres;
-}
-
-
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.0.res.oracle
deleted file mode 100644
index 7cff290b275d8f4e24d70c347dd3f46a64df9c2b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.0.res.oracle
+++ /dev/null
@@ -1,25 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  G ∈ {0}
-  P ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialize
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid
-[value] using specification for function __initialized
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.1.res.oracle
deleted file mode 100644
index 91c132e3a5a8f7b1d88dfed2352302cc7c2f0048..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.1.res.oracle
+++ /dev/null
@@ -1,27 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  G ∈ {0}
-  P ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialize
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1478.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.0.res.oracle
deleted file mode 100644
index d19125c9928b692c449c286979527491007caaef..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.0.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  a ∈ {0}
-  b ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function e_acsl_assert
-[value] using specification for function __initialized
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.1.res.oracle
deleted file mode 100644
index d19125c9928b692c449c286979527491007caaef..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.1.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  a ∈ {0}
-  b ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function e_acsl_assert
-[value] using specification for function __initialized
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1478.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/init.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.0.res.oracle
deleted file mode 100644
index c23dbf0116b90a43d690e5ac4edad3a1d95dc58f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.0.res.oracle
+++ /dev/null
@@ -1,17 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-tests/e-acsl-runtime/invariant.i:8:[value] entering loop for the first time
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/invariant.i:10:[kernel] warning: signed overflow. assert x+i ≤ 2147483647;
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index 097c17aa47de4a463334f05f7d6bc509f5867f7d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle
+++ /dev/null
@@ -1,20 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-tests/e-acsl-runtime/invariant.i:8:[value] entering loop for the first time
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/invariant.i:10:[kernel] warning: signed overflow. assert x+i ≤ 2147483647;
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1700.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.0.res.oracle
deleted file mode 100644
index 6dce2057d115e695e8f1317f9befcc3796e6b93f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.0.res.oracle
+++ /dev/null
@@ -1,15 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index 1e90496d9c4ef17f4d8bafec3db447d73b400b88..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle
+++ /dev/null
@@ -1,19 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1700.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.0.res.oracle
deleted file mode 100644
index 044d08c5d631bfcc524a1c04f938d880702f1141..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.0.res.oracle
+++ /dev/null
@@ -1,17 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-tests/e-acsl-runtime/lazy.i:17:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/lazy.i:18:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/lazy.i:19:[value] warning: assertion got status unknown.
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index 9be75f5ecfa652d68514833cbf17f937eafc1fa6..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle
+++ /dev/null
@@ -1,26 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_init
-tests/e-acsl-runtime/lazy.i:12:[value] warning: assertion 'E_ACSL' got status invalid (stopping propagation).
-tests/e-acsl-runtime/lazy.i:14:[value] warning: assertion 'E_ACSL' got status invalid (stopping propagation).
-tests/e-acsl-runtime/lazy.i:16:[value] warning: assertion 'E_ACSL' got status invalid (stopping propagation).
-tests/e-acsl-runtime/lazy.i:17:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/lazy.i:18:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/lazy.i:19:[value] warning: assertion got status unknown.
-[value] using specification for function __gmpz_init_set
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.err.log b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1700.err.log
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..e40764ddf4589c73b74f12aeecaa81a0b50b8b34
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle
@@ -0,0 +1,5 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+tests/e-acsl-runtime/lazy.i:15:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/lazy.i:16:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/lazy.i:17:[value] warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.0.res.oracle
deleted file mode 100644
index 0c2754d6b55e4db46c632db9b7533c36142f9ab6..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.0.res.oracle
+++ /dev/null
@@ -1,31 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  A[0..9] ∈ {0}
-tests/e-acsl-runtime/linear_search.i:30:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:9:[value] warning: function __e_acsl_search: precondition got status unknown.
-tests/e-acsl-runtime/linear_search.i:9:[value] entering loop for the first time
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/linear_search.i:14:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:11:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:9:[value] warning: function search: precondition got status unknown.
-tests/e-acsl-runtime/linear_search.i:20:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:20:[value] warning: loop invariant got status unknown.
-tests/e-acsl-runtime/linear_search.i:21:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:12:[value] warning: function search, behavior exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:15:[value] warning: function search, behavior not_exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:12:[value] warning: function __e_acsl_search, behavior exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:15:[value] warning: function __e_acsl_search, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:33:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/linear_search.i:36:[value] warning: assertion got status unknown.
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index 3fc3a773adc49ec26062657e4ddce027cfa61838..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle
+++ /dev/null
@@ -1,44 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  A[0..9] ∈ {0}
-tests/e-acsl-runtime/linear_search.i:30:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:9:[value] warning: function __e_acsl_search: precondition got status unknown.
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_clear
-tests/e-acsl-runtime/linear_search.i:9:[value] entering loop for the first time
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_get_ui
-tests/e-acsl-runtime/linear_search.i:9:[kernel] warning: accessing out of bounds index. assert __e_acsl_i_2 < 10;
-[value] using specification for function __gmpz_add
-tests/e-acsl-runtime/linear_search.i:9:[kernel] warning: accessing out of bounds index. assert __e_acsl_3 < 10;
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/linear_search.i:14:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:14:[kernel] warning: accessing out of bounds index. assert __e_acsl_j_4 < 10;
-tests/e-acsl-runtime/linear_search.i:11:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:11:[kernel] warning: accessing out of bounds index. assert __e_acsl_j_2 < 10;
-tests/e-acsl-runtime/linear_search.i:9:[value] warning: function search: precondition got status unknown.
-tests/e-acsl-runtime/linear_search.i:20:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:20:[kernel] warning: accessing out of bounds index. assert __e_acsl_i_2 < 10;
-tests/e-acsl-runtime/linear_search.i:20:[value] warning: loop invariant got status unknown.
-tests/e-acsl-runtime/linear_search.i:21:[value] entering loop for the first time
-tests/e-acsl-runtime/linear_search.i:20:[kernel] warning: accessing out of bounds index. assert __e_acsl_i_4 < 10;
-tests/e-acsl-runtime/linear_search.i:12:[value] warning: function search, behavior exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:15:[value] warning: function search, behavior not_exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:12:[value] warning: function __e_acsl_search, behavior exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:15:[value] warning: function __e_acsl_search, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/linear_search.i:33:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/linear_search.i:36:[value] warning: assertion got status unknown.
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.log b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1700.res.log
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..16c1ee21a29a4be635de1d028dde5e7f4a8a9238
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle
@@ -0,0 +1,12 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+tests/e-acsl-runtime/linear_search.i:7:[value] warning: function __e_acsl_search: precondition got status unknown.
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/e-acsl-runtime/linear_search.i:7:[value] warning: function search: precondition got status unknown.
+tests/e-acsl-runtime/linear_search.i:18:[value] warning: loop invariant got status unknown.
+tests/e-acsl-runtime/linear_search.i:10:[value] warning: function search, behavior exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
+tests/e-acsl-runtime/linear_search.i:13:[value] warning: function search, behavior not_exists: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
+tests/e-acsl-runtime/linear_search.i:10:[value] warning: function __e_acsl_search, behavior exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
+tests/e-acsl-runtime/linear_search.i:13:[value] warning: function __e_acsl_search, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
+tests/e-acsl-runtime/linear_search.i:31:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/linear_search.i:34:[value] warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.0.res.oracle
deleted file mode 100644
index db70db6e090a3ef3ef3ec981520781fa5467e18b..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.0.res.oracle
+++ /dev/null
@@ -1,34 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  T ∈ {{ "bar" }}
-  G ∈ {0}
-  S ∈ {{ "foo" }}
-  S2 ∈ {{ "foo2" }}
-  IDX ∈ {1}
-  G2 ∈ {2}
-  U ∈ {{ "baz" }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-  __e_acsl_literal_string_4 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.1.res.oracle
deleted file mode 100644
index dcc82287939e3ee20dcfca37f1382d8ed32f34b5..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.1.res.oracle
+++ /dev/null
@@ -1,37 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  T ∈ {{ "bar" }}
-  G ∈ {0}
-  S ∈ {{ "foo" }}
-  S2 ∈ {{ "foo2" }}
-  IDX ∈ {1}
-  G2 ∈ {2}
-  U ∈ {{ "baz" }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  __e_acsl_literal_string_3 ∈ {0}
-  __e_acsl_literal_string_4 ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function __valid
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1717.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d38262de6812ddcc3976738685340153a7a48ad6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/literal_string.res.oracle
@@ -0,0 +1,3 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.1.res.oracle
deleted file mode 100644
index 954b596c4564fe2101c6113d14e67a2ca20c2aca..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.1.res.oracle
+++ /dev/null
@@ -1,35 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialize
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156_0
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1717.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.res.oracle
similarity index 54%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.res.oracle
index 512eccd64dea1799e476e543a7a9838f06477949..f4aebc5fd5b524a7ff39e51e89201d9af27b8dae 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/localvar.res.oracle
@@ -1,10 +1,10 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/localvar.c:24:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/localvar.c:24:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/localvar.c:26:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/localvar.c:24:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -13,27 +13,6 @@ FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `assigns claus
 FRAMAC_SHARE/libc/stdlib.h:165:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __initialize
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156_0
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.0.res.oracle
deleted file mode 100644
index 34f20cf19c253e09f0de059456214d2c02ce6fcb..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.0.res.oracle
+++ /dev/null
@@ -1,20 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-tests/e-acsl-runtime/loop.i:21:[value] warning: loop invariant got status unknown.
-[value] Semantic level unrolling superposing up to 100 states
-tests/e-acsl-runtime/loop.i:21:[value] entering loop for the first time
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status invalid.
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing uninitialized left-value.
-                  assert \initialized(&t[__e_acsl_k_2][__e_acsl_l_2]);
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.1.res.oracle
deleted file mode 100644
index 2a9a74a05aa97d694e0cfb1a62dfe96163b5dc64..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.1.res.oracle
+++ /dev/null
@@ -1,37 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status invalid.
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_get_ui
-tests/e-acsl-runtime/loop.i:21:[value] completely invalid value in evaluation of
-        argument (long)t[__e_acsl_k_2][__e_acsl_l_2]
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing out of bounds index. assert __e_acsl_k_2 < 10;
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing out of bounds index. assert __e_acsl_l_2 < 15;
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing uninitialized left-value.
-                  assert \initialized(&t[__e_acsl_k_2][__e_acsl_l_2]);
-[value] using specification for function __gmpz_add
-tests/e-acsl-runtime/loop.i:21:[value] warning: loop invariant got status unknown.
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing out of bounds index. assert __e_acsl_k_4 < 10;
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing out of bounds index. assert __e_acsl_l_4 < 15;
-tests/e-acsl-runtime/loop.i:21:[kernel] warning: accessing uninitialized left-value.
-                  assert \initialized(&t[__e_acsl_k_4][__e_acsl_l_4]);
-[value] using specification for function __gmpz_mul
-[value] Semantic level unrolling superposing up to 100 states
-tests/e-acsl-runtime/loop.i:21:[value] entering loop for the first time
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1718.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..a52629d32feae47f2ec4844496cbb2f6704824b8
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/loop.res.oracle
@@ -0,0 +1,6 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+tests/e-acsl-runtime/loop.i:19:[value] warning: loop invariant got status unknown.
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status invalid.
+tests/e-acsl-runtime/loop.i:19:[kernel] warning: accessing uninitialized left-value.
+                  assert \initialized(&t[__e_acsl_k_2][__e_acsl_l_2]);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.0.res.oracle
deleted file mode 100644
index 570e5a2cd7ddf866a6a3442f37e6d744e161c11d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.0.res.oracle
+++ /dev/null
@@ -1,48 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] warning: annotating undefined function `strlen':
-                  the generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-FRAMAC_SHARE/libc/string.h:91:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/string.h:91:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/string.h:93:[e-acsl] warning: E-ACSL construct `applying logic function' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __init_args
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/mainargs.c:14:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/mainargs.c:14:[value] entering loop for the first time
-tests/e-acsl-runtime/mainargs.c:15:[value] warning: assertion got status unknown.
-[value] using specification for function __block_length
-tests/e-acsl-runtime/mainargs.c:17:[value] warning: assertion got status unknown.
-[value] using specification for function __valid_read
-tests/e-acsl-runtime/mainargs.c:17:[kernel] warning: out of bounds read. assert \valid_read(argv+argc);
-tests/e-acsl-runtime/mainargs.c:18:[value] warning: assertion got status unknown.
-[value] using specification for function __initialized
-tests/e-acsl-runtime/mainargs.c:18:[kernel] warning: out of bounds read. assert \valid_read(argv+argc);
-tests/e-acsl-runtime/mainargs.c:19:[value] entering loop for the first time
-FRAMAC_SHARE/libc/string.h:91:[value] warning: function __e_acsl_strlen: precondition 'valid_string_src' got status unknown.
-[value] using specification for function strlen
-FRAMAC_SHARE/libc/string.h:91:[value] warning: function strlen: precondition 'valid_string_src' got status unknown.
-FRAMAC_SHARE/libc/string.h:91:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic functions or predicates
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/string.h:93:[value] warning: function __e_acsl_strlen: postcondition got status unknown.
-tests/e-acsl-runtime/mainargs.c:21:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/mainargs.c:22:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/mainargs.c:22:[value] entering loop for the first time
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.1.res.oracle
deleted file mode 100644
index 2a1ee9c62a4fb78cb8039f24823f045324341114..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.1.res.oracle
+++ /dev/null
@@ -1,57 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] warning: annotating undefined function `strlen':
-                  the generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-tests/e-acsl-runtime/mainargs.c:9:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/mainargs.c:9:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/string.h:93:[e-acsl] warning: E-ACSL construct `applying logic function' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __init_args
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/mainargs.c:14:[value] warning: assertion got status unknown.
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_clear
-tests/e-acsl-runtime/mainargs.c:14:[value] entering loop for the first time
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_get_ui
-[value] using specification for function __gmpz_add
-tests/e-acsl-runtime/mainargs.c:15:[value] warning: assertion got status unknown.
-[value] using specification for function __block_length
-[value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_mul
-tests/e-acsl-runtime/mainargs.c:17:[value] warning: assertion got status unknown.
-[value] using specification for function __valid_read
-tests/e-acsl-runtime/mainargs.c:17:[kernel] warning: out of bounds read. assert \valid_read(argv+(long)argc);
-tests/e-acsl-runtime/mainargs.c:18:[value] warning: assertion got status unknown.
-[value] using specification for function __initialized
-tests/e-acsl-runtime/mainargs.c:18:[kernel] warning: out of bounds read. assert \valid_read(argv+(long)argc);
-tests/e-acsl-runtime/mainargs.c:19:[value] entering loop for the first time
-FRAMAC_SHARE/libc/string.h:91:[value] warning: function __e_acsl_strlen: precondition 'valid_string_src' got status unknown.
-[value] using specification for function strlen
-FRAMAC_SHARE/libc/string.h:91:[value] warning: function strlen: precondition 'valid_string_src' got status unknown.
-FRAMAC_SHARE/libc/string.h:91:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic functions or predicates
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/string.h:93:[value] warning: function __e_acsl_strlen: postcondition got status unknown.
-tests/e-acsl-runtime/mainargs.c:21:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/mainargs.c:22:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/mainargs.c:22:[value] entering loop for the first time
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1718.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..877580b4914a2bf9de3c763e69515aee5ae2650a
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/mainargs.res.oracle
@@ -0,0 +1,23 @@
+[e-acsl] beginning translation.
+[e-acsl] warning: annotating undefined function `strlen':
+                  the generated program may miss memory instrumentation
+                  if there are memory-related annotations.
+FRAMAC_SHARE/libc/string.h:91:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
+                  Ignoring annotation.
+FRAMAC_SHARE/libc/string.h:91:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+                  Ignoring annotation.
+FRAMAC_SHARE/libc/string.h:93:[e-acsl] warning: E-ACSL construct `applying logic function' is not yet supported.
+                  Ignoring annotation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/e-acsl-runtime/mainargs.c:12:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/mainargs.c:13:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/mainargs.c:15:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/mainargs.c:15:[kernel] warning: out of bounds read. assert \valid_read(argv+argc);
+tests/e-acsl-runtime/mainargs.c:16:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/mainargs.c:16:[kernel] warning: out of bounds read. assert \valid_read(argv+argc);
+FRAMAC_SHARE/libc/string.h:91:[value] warning: function __e_acsl_strlen: precondition 'valid_string_src' got status unknown.
+FRAMAC_SHARE/libc/string.h:91:[value] warning: function strlen: precondition 'valid_string_src' got status unknown.
+FRAMAC_SHARE/libc/string.h:93:[value] warning: function __e_acsl_strlen: postcondition got status unknown.
+tests/e-acsl-runtime/mainargs.c:19:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/mainargs.c:20:[value] warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.1.res.oracle
deleted file mode 100644
index d832fd1ab14dd163ae0b56d3592049f0695477e9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.1.res.oracle
+++ /dev/null
@@ -1,56 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] warning: annotating undefined function `realloc':
-                  the generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:200:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:200:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:214:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:214:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:146:[kernel] warning: Neither code nor specification for function calloc, generating default assigns from the prototype
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __malloc
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/memsize.c:24:[value] warning: assertion got status unknown.
-[value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-tests/e-acsl-runtime/memsize.c:26:[value] warning: assertion got status invalid (stopping propagation).
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1837.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.res.oracle
similarity index 78%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.res.oracle
index 615aab08721db66c094c650ae74d98e0e4c402d6..6a958b8cf7e10db63f2799c7ebe8da55e869c90b 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/memsize.res.oracle
@@ -6,11 +6,11 @@ FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is no
 FRAMAC_SHARE/libc/stdlib.h:200:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:200:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/memsize.c:19:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/memsize.c:19:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/memsize.c:21:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/memsize.c:19:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -39,25 +39,7 @@ FRAMAC_SHARE/libc/stdlib.h:222:[e-acsl] warning: E-ACSL construct `logic functio
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:146:[kernel] warning: Neither code nor specification for function calloc, generating default assigns from the prototype
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __malloc
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/memsize.c:24:[value] warning: assertion got status unknown.
-[value] using specification for function e_acsl_assert
-tests/e-acsl-runtime/memsize.c:26:[value] warning: assertion got status invalid (stopping propagation).
-[value] done for function main
+tests/e-acsl-runtime/memsize.c:22:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/memsize.c:24:[value] warning: assertion got status invalid (stopping propagation).
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index af524ffc3d7df40abb2b39677fbbaa828e6cb126..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle
+++ /dev/null
@@ -1,18 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/bts/oracle/bts1837.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.1.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/null.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index af524ffc3d7df40abb2b39677fbbaa828e6cb126..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle
+++ /dev/null
@@ -1,18 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/addrOf.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index f70ee1b37e083b860a60e77ebb9112d9eec0566e..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle
+++ /dev/null
@@ -1,35 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialize
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_mul
-[value] using specification for function __gmpz_tdiv_q
-[value] using specification for function __gmpz_get_ui
-tests/e-acsl-runtime/ptr.i:16:[kernel] warning: accessing out of bounds index. assert __e_acsl_9 < 3;
-tests/e-acsl-runtime/ptr.i:18:[value] entering loop for the first time
-[value] using specification for function __gmpz_add
-[value] using specification for function __gmpz_sub
-tests/e-acsl-runtime/ptr.i:20:[kernel] warning: accessing out of bounds index. assert __e_acsl_15 < 3;
-tests/e-acsl-runtime/ptr.i:19:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/ptr.i:20:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/ptr.i:21:[value] warning: assertion got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..cb2edfc413183ec48da669340f4d7caa61774ee5
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle
@@ -0,0 +1,6 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/e-acsl-runtime/ptr.i:17:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/ptr.i:18:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/ptr.i:19:[value] warning: assertion got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.1.res.oracle
deleted file mode 100644
index 2e95ba4b0343eb3ad517b7c0837febe7ea59e5de..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.1.res.oracle
+++ /dev/null
@@ -1,34 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  A ∈ {0}
-  B ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __malloc
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function e_acsl_assert
-[value] using specification for function __initialized
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/alias.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.res.oracle
similarity index 58%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.res.oracle
index 21b5d6c647fff39a396d068a1984811e2898f579..08a001af3487d1390dd71628ca1d6882decb27fe 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr_init.res.oracle
@@ -1,10 +1,10 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/ptr_init.c:19:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/ptr_init.c:19:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/ptr_init.c:22:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/ptr_init.c:19:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -13,26 +13,6 @@ FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `assigns claus
 FRAMAC_SHARE/libc/stdlib.h:165:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  A ∈ {0}
-  B ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __malloc
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function e_acsl_assert
-[value] using specification for function __initialized
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.0.res.oracle
deleted file mode 100644
index e0ebf45e128eca822961123d7e337097f902e58f..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.0.res.oracle
+++ /dev/null
@@ -1,30 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-tests/e-acsl-runtime/quantif.i:11:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:11:[value] entering loop for the first time
-[value] using specification for function e_acsl_assert
-tests/e-acsl-runtime/quantif.i:12:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:12:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:13:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:13:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:14:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:14:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:18:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:18:[value] entering loop for the first time
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/quantif.i:23:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:23:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:27:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:27:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:28:[value] entering loop for the first time
-[value] done for function main
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
deleted file mode 100644
index 5f380012785867d1870e6f42134ee0204da33a35..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle
+++ /dev/null
@@ -1,39 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-tests/e-acsl-runtime/quantif.i:11:[value] warning: assertion got status unknown.
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_set
-[value] using specification for function __gmpz_clear
-tests/e-acsl-runtime/quantif.i:11:[value] entering loop for the first time
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_add
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/quantif.i:12:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:12:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:13:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:13:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:14:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:14:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:18:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:18:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:23:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:23:[value] entering loop for the first time
-tests/e-acsl-runtime/quantif.i:27:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/quantif.i:27:[value] entering loop for the first time
-[value] using specification for function __gmpz_tdiv_r
-tests/e-acsl-runtime/quantif.i:28:[value] entering loop for the first time
-[value] using specification for function __gmpz_tdiv_q
-[value] using specification for function __gmpz_mul
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.0.res.oracle
deleted file mode 100644
index 053606fa32ae592711d0f4658dcbef26a2718cd6..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.0.res.oracle
+++ /dev/null
@@ -1,15 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  Y ∈ {1}
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index f17905f024ed6ed8e75e085bcaaf314b4880723e..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle
+++ /dev/null
@@ -1,22 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  Y ∈ {1}
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_sub
-[value] using specification for function __gmpz_get_ui
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index af524ffc3d7df40abb2b39677fbbaa828e6cb126..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle
+++ /dev/null
@@ -1,18 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.0.res.oracle
deleted file mode 100644
index a0141f070c9fed6e0f9642d4663b8e597e06497d..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.0.res.oracle
+++ /dev/null
@@ -1,55 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] warning: annotating undefined function `fopen':
-                  the generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-tests/e-acsl-runtime/stdout.c:10:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdio.h:107:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  stdout ∈ {{ NULL ; &S___fc_stdout[0] }}
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  S___fc_stdout[0]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof} ∈
-               [--..--]
-               [0].[bits 80 to 95] ∈ UNINITIALIZED
-               [0].__fc_flags ∈ [--..--]
-               [0].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_0_S___fc_stdout[0] }}
-               [0].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_0_S___fc_stdout[0] }}
-               {[0].__fc_real_data_max_size; [1]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof}} ∈
-               [--..--]
-               [1].[bits 80 to 95] ∈ UNINITIALIZED
-               [1].__fc_flags ∈ [--..--]
-               [1].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_1_S___fc_stdout[0] }}
-               [1].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_1_S___fc_stdout[0] }}
-               [1].__fc_real_data_max_size ∈ [--..--]
-  S___fc_inode_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_inode_1_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_1_S___fc_stdout[0..1] ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function fopen
-tests/e-acsl-runtime/stdout.c:13:[value] warning: assertion got status unknown.
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.1.res.oracle
deleted file mode 100644
index 764e042f2f333a33526fced0f43038e5f282a50c..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.1.res.oracle
+++ /dev/null
@@ -1,55 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] warning: annotating undefined function `fopen':
-                  the generated program may miss memory instrumentation
-                  if there are memory-related annotations.
-tests/e-acsl-runtime/stdout.c:10:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdio.h:106:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  stdout ∈ {{ NULL ; &S___fc_stdout[0] }}
-  __fc_fopen[0..511] ∈ {0}
-  __p_fc_fopen ∈ {{ &__fc_fopen[0] }}
-  __e_acsl_literal_string ∈ {0}
-  __e_acsl_literal_string_2 ∈ {0}
-  S___fc_stdout[0]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof} ∈
-               [--..--]
-               [0].[bits 80 to 95] ∈ UNINITIALIZED
-               [0].__fc_flags ∈ [--..--]
-               [0].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_0_S___fc_stdout[0] }}
-               [0].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_0_S___fc_stdout[0] }}
-               {[0].__fc_real_data_max_size; [1]{.__fc_stdio_id; .__fc_position; .__fc_error; .__fc_eof}} ∈
-               [--..--]
-               [1].[bits 80 to 95] ∈ UNINITIALIZED
-               [1].__fc_flags ∈ [--..--]
-               [1].__fc_inode ∈
-               {{ NULL ; &S___fc_inode_1_S___fc_stdout[0] }}
-               [1].__fc_real_data ∈
-               {{ NULL ; &S___fc_real_data_1_S___fc_stdout[0] }}
-               [1].__fc_real_data_max_size ∈ [--..--]
-  S___fc_inode_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_0_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_inode_1_S___fc_stdout[0..1] ∈ [--..--]
-  S___fc_real_data_1_S___fc_stdout[0..1] ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __literal_string
-[value] using specification for function fopen
-tests/e-acsl-runtime/stdout.c:13:[value] warning: assertion got status unknown.
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..584c002a065b4729fa6871fc2a19c05b105002fc
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stdout.res.oracle
@@ -0,0 +1,11 @@
+[e-acsl] beginning translation.
+[e-acsl] warning: annotating undefined function `fopen':
+                  the generated program may miss memory instrumentation
+                  if there are memory-related annotations.
+tests/e-acsl-runtime/stdout.c:8:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+                  Ignoring annotation.
+FRAMAC_SHARE/libc/stdio.h:107:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
+                  Ignoring annotation.
+[e-acsl] translation done in project "e-acsl".
+tests/e-acsl-runtime/stdout.c:11:[value] warning: assertion got status unknown.
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.1.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/true.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.0.res.oracle
deleted file mode 100644
index f0d9dbf6c715c6fb6e5314a8a737295cb93f35a9..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.0.res.oracle
+++ /dev/null
@@ -1,14 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function e_acsl_assert
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index b6b4bb04ed95620cf6071c806d0b3e188597abe7..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle
+++ /dev/null
@@ -1,19 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_clear
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.1.res.oracle
deleted file mode 100644
index 15bf91ef5f0af8deb2f8ed5be276f1fde3307a33..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.1.res.oracle
+++ /dev/null
@@ -1,52 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-  Z ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __valid_read
-FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
-FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-tests/e-acsl-runtime/valid.c:49:[value] completely invalid value in evaluation of
-        argument (void *)a
-tests/e-acsl-runtime/valid.c:49:[kernel] warning: accessing left-value that contains escaping addresses.
-                  assert ¬\dangling(&a);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.res.oracle
similarity index 58%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.res.oracle
index 444b435a3dcd2efd9b4b2bfbd31680e9c5207978..99decb60aa72f1df7f7bf1953b2a1cd852921b5a 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid.res.oracle
@@ -1,11 +1,11 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/valid.c:31:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/valid.c:31:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/valid.c:33:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/valid.c:31:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -21,40 +21,10 @@ FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns claus
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  X ∈ {0}
-  Z ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __full_init
-[value] using specification for function __initialized
-[value] using specification for function __valid
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __valid_read
 FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
 FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-tests/e-acsl-runtime/valid.c:49:[value] completely invalid value in evaluation of
-        argument (void *)a
-tests/e-acsl-runtime/valid.c:49:[kernel] warning: accessing left-value that contains escaping addresses.
+tests/e-acsl-runtime/valid.c:47:[kernel] warning: accessing left-value that contains escaping addresses.
                   assert ¬\dangling(&a);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
deleted file mode 100644
index abe5975be18e431dca83df14b958c9756ac86608..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.1.res.oracle
+++ /dev/null
@@ -1,57 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialize
-[value] using specification for function __valid
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
-FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-tests/e-acsl-runtime/valid_alias.c:19:[value] completely invalid value in evaluation of
-        argument (void *)a
-tests/e-acsl-runtime/valid_alias.c:19:[kernel] warning: accessing left-value that contains escaping addresses.
-                  assert ¬\dangling(&a);
-tests/e-acsl-runtime/valid_alias.c:19:[value] completely invalid value in evaluation of
-        argument (void *)b
-tests/e-acsl-runtime/valid_alias.c:19:[kernel] warning: accessing left-value that contains escaping addresses.
-                  assert ¬\dangling(&b);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/call.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
similarity index 53%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
index ee78cd2f531c426b963ff033754a2fb576bc14a5..8acfb7597ac1ae755a0191949369c03f75a50d98 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_alias.res.oracle
@@ -1,11 +1,11 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/valid_alias.c:8:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/valid_alias.c:8:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/valid_alias.c:10:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/valid_alias.c:8:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -21,43 +21,12 @@ FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns claus
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-[value] using specification for function __initialize
-[value] using specification for function __valid
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __valid_read
 FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
 FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-tests/e-acsl-runtime/valid_alias.c:19:[value] completely invalid value in evaluation of
-        argument (void *)a
-tests/e-acsl-runtime/valid_alias.c:19:[kernel] warning: accessing left-value that contains escaping addresses.
+tests/e-acsl-runtime/valid_alias.c:17:[kernel] warning: accessing left-value that contains escaping addresses.
                   assert ¬\dangling(&a);
-tests/e-acsl-runtime/valid_alias.c:19:[value] completely invalid value in evaluation of
-        argument (void *)b
-tests/e-acsl-runtime/valid_alias.c:19:[kernel] warning: accessing left-value that contains escaping addresses.
+tests/e-acsl-runtime/valid_alias.c:17:[kernel] warning: accessing left-value that contains escaping addresses.
                   assert ¬\dangling(&b);
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.0.res.oracle
deleted file mode 100644
index 3ae32e3ef4f528f185deee6287ac47b57d7de41a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.0.res.oracle
+++ /dev/null
@@ -1,25 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/valid_in_contract.c:21:[value] completely invalid value in evaluation of
-        argument (void *)l->next
-tests/e-acsl-runtime/valid_in_contract.c:21:[kernel] warning: out of bounds read. assert \valid_read(&l->next);
-[value] using specification for function __full_init
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.1.res.oracle
deleted file mode 100644
index 3ae32e3ef4f528f185deee6287ac47b57d7de41a..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.1.res.oracle
+++ /dev/null
@@ -1,25 +0,0 @@
-[e-acsl] beginning translation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-[value] using specification for function __store_block
-[value] using specification for function __valid
-[value] using specification for function __initialized
-[value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/valid_in_contract.c:21:[value] completely invalid value in evaluation of
-        argument (void *)l->next
-tests/e-acsl-runtime/valid_in_contract.c:21:[kernel] warning: out of bounds read. assert \valid_read(&l->next);
-[value] using specification for function __full_init
-[value] using specification for function __delete_block
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.0.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..1cf290859e3eb762f48b7c24f2b29514cbc694e6
--- /dev/null
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/valid_in_contract.res.oracle
@@ -0,0 +1,4 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/e-acsl-runtime/valid_in_contract.c:19:[kernel] warning: out of bounds read. assert \valid_read(&l->next);
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.0.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.0.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.1.err.oracle
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.1.res.oracle
deleted file mode 100644
index 0055ceb37e74217117f644469918125c5c364961..0000000000000000000000000000000000000000
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.1.res.oracle
+++ /dev/null
@@ -1,53 +0,0 @@
-[e-acsl] beginning translation.
-FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
-                  Ignoring annotation.
-FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
-[e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  LAST ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
-FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
-FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
-FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/vector.c:16:[value] entering loop for the first time
-tests/e-acsl-runtime/vector.c:29:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/vector.c:30:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/vector.c:30:[kernel] warning: accessing uninitialized left-value. assert \initialized(&LAST);
-[value] using specification for function __gmpz_init_set_si
-[value] using specification for function __gmpz_cmp
-[value] using specification for function __gmpz_clear
-FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
-FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.err.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.err.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.0.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.res.oracle
similarity index 58%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.0.res.oracle
rename to src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.res.oracle
index e1d8fe9f8046126203e87bd5af370b27d8a23cdf..58cae1e86ed66a56fac1deb2b112e2940fb03678 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.0.res.oracle
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/vector.res.oracle
@@ -1,11 +1,11 @@
 [e-acsl] beginning translation.
 FRAMAC_SHARE/libc/stdlib.h:174:[e-acsl] warning: E-ACSL construct `\allocable' is not yet supported. Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:156:[e-acsl] warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
+tests/e-acsl-runtime/vector.c:19:[e-acsl] warning: E-ACSL construct `complete behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
+tests/e-acsl-runtime/vector.c:19:[e-acsl] warning: E-ACSL construct `disjoint behaviors' is not yet supported.
                   Ignoring annotation.
-tests/e-acsl-runtime/vector.c:21:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
+tests/e-acsl-runtime/vector.c:19:[e-acsl] warning: E-ACSL construct `assigns clause in behavior' is not yet supported.
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:160:[e-acsl] warning: E-ACSL construct `logic function application' is not yet supported.
                   Ignoring annotation.
@@ -21,38 +21,11 @@ FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `assigns claus
                   Ignoring annotation.
 FRAMAC_SHARE/libc/stdlib.h:177:[e-acsl] warning: E-ACSL construct `\allocate' is not yet supported. Ignoring annotation.
 [e-acsl] translation done in project "e-acsl".
-[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 ∈ {32767}
-  __fc_heap_status ∈ [--..--]
-  __e_acsl_init ∈ [--..--]
-  __e_acsl_internal_heap ∈ [--..--]
-  __memory_size ∈ [--..--]
-  LAST ∈ {0}
-[value] using specification for function __store_block
-[value] using specification for function __initialize
-[value] using specification for function __initialized
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-[value] using specification for function __full_init
-FRAMAC_SHARE/libc/stdlib.h:156:[value] allocating variable __malloc___e_acsl_malloc_l156
-[value] using specification for function __delete_block
 FRAMAC_SHARE/libc/stdlib.h:163:[value] warning: function __e_acsl_malloc, behavior allocation: postcondition got status unknown. (Behavior may be inactive, no reduction performed.)
 FRAMAC_SHARE/libc/stdlib.h:168:[value] warning: function __e_acsl_malloc, behavior no_allocation: postcondition got status invalid. (Behavior may be inactive, no reduction performed.)
-tests/e-acsl-runtime/vector.c:16:[value] entering loop for the first time
-tests/e-acsl-runtime/vector.c:29:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/vector.c:30:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/vector.c:30:[kernel] warning: accessing uninitialized left-value. assert \initialized(&LAST);
+tests/e-acsl-runtime/vector.c:27:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/vector.c:28:[value] warning: assertion got status unknown.
+tests/e-acsl-runtime/vector.c:28:[kernel] warning: accessing uninitialized left-value. assert \initialized(&LAST);
 FRAMAC_SHARE/libc/stdlib.h:178:[value] warning: function __e_acsl_free, behavior deallocation: precondition 'freeable' got status unknown.
-[value] using specification for function __freeable
-:0:[value] Assigning imprecise value to __e_acsl_implies.
-        The imprecision originates from Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}
-FRAMAC_SHARE/libc/stdlib.h:178:[value] Reading left-value __e_acsl_implies.
-        It contains a garbled mix of {__malloc___e_acsl_malloc_l156} because of
-        Arithmetic {FRAMAC_SHARE/libc/stdlib.h:178}.
 FRAMAC_SHARE/libc/stdlib.h:180:[value] warning: function __e_acsl_free, behavior deallocation: postcondition got status unknown.
-[value] using specification for function __e_acsl_memory_clean
-[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i b/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i
index 86759b11e3156fdbf7d8908034e1e744c7779fbb..b5112129a7c74e5a585f5a08d8147453b9e16c28 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: non integer constants
-   EXECNOW: LOG gen_other_constants.c BIN gen_other_constants.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/other_constants.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_other_constants.c > /dev/null && ./gcc_runtime.sh other_constants
-   EXECNOW: LOG gen_other_constants2.c BIN gen_other_constants2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/other_constants.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_other_constants2.c > /dev/null && ./gcc_runtime.sh other_constants2
 */
 
 enum bool { false, true };
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i
index 1a25c90c0aea1b8263d6cf1fd5c9761337318a15..36faea67dda9885871ce4e746a40ef4955be0112 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: pointers and pointer arithmetic
-   EXECNOW: LOG gen_ptr.c BIN gen_ptr.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ptr.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ptr.c > /dev/null && ./gcc_runtime.sh ptr
-   EXECNOW: LOG gen_ptr2.c BIN gen_ptr2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ptr.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ptr2.c > /dev/null && ./gcc_runtime.sh ptr2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr_init.c b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr_init.c
index 60163f51c1e9181454e9ca99cdb23a6c715246e0..e97796dbcbc048a6483d75ee56dd85168fcf253d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr_init.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr_init.c
@@ -1,8 +1,5 @@
 /* run.config
    COMMENT: initialized and function calls
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\""
-   EXECNOW: LOG gen_ptr_init.c BIN gen_ptr_init.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ptr_init.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ptr_init.c > /dev/null && ./gcc_runtime.sh ptr_init
-   EXECNOW: LOG gen_ptr_init2.c BIN gen_ptr_init2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/ptr_init.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_ptr_init2.c > /dev/null && ./gcc_runtime.sh ptr_init2
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/result.i b/src/plugins/e-acsl/tests/e-acsl-runtime/result.i
index 12f04ceec132415a4a447d86f0d8ba0e5f7aac14..2391f60ce1497aabecd05a8bcf851db361ac671f 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/result.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/result.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: \result
-   EXECNOW: LOG gen_result.c BIN gen_result.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/result.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_result.c > /dev/null && ./gcc_runtime.sh result
-   EXECNOW: LOG gen_result2.c BIN gen_result2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/result.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_result2.c > /dev/null && ./gcc_runtime.sh result2 -Wno-unused-but-set-variable
 */
 
 /*@ ensures \result == (int)(x - x); */
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i b/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i
index 59dc3db917257e50bf82f60eba06d199e5e8d2ab..d52b87d39370fc4866257084e6c9d500d8cae218 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: sizeof
-   EXECNOW: LOG gen_sizeof.c BIN gen_sizeof.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/sizeof.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_sizeof.c > /dev/null && ./gcc_runtime.sh sizeof
-   EXECNOW: LOG gen_sizeof2.c BIN gen_sizeof2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/sizeof.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_sizeof2.c > /dev/null && ./gcc_runtime.sh sizeof2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/stdout.c b/src/plugins/e-acsl/tests/e-acsl-runtime/stdout.c
index d548394d253a3a74420e3c0d4434a4b47390d147..55c056b57660a4e88b01d4f7630298be591527f1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/stdout.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/stdout.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: __fc_stdout et __fc_fopen
    STDOPT: #"-pp-annot"
-   EXECNOW: LOG gen_stdout.c BIN gen_stdout.out @frama-c@ -machdep x86_64 -pp-annot -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/stdout.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stdout.c > /dev/null && ./gcc_runtime.sh stdout
-   EXECNOW: LOG gen_stdout2.c BIN gen_stdout2.out @frama-c@ -machdep x86_64 -pp-annot -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/stdout.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stdout2.c > /dev/null && ./gcc_runtime.sh stdout2
 */
 
 #include<stdio.h>
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i
index 9c0cd4bd9bd63294e80fc8763a44932f8dc1f16e..8634ee2698015c6309ec97a8463c87387b51e126 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i
@@ -1,8 +1,7 @@
 /* run.config
    COMMENT: stmt contract
-   EXECNOW: LOG gen_stmt_contract.c BIN gen_stmt_contract.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/stmt_contract.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract.c > /dev/null && ./gcc_runtime.sh stmt_contract
-   EXECNOW: LOG gen_stmt_contract2.c BIN gen_stmt_contract2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/stmt_contract.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract2.c > /dev/null && ./gcc_runtime.sh stmt_contract2
 */
+
 int main(void) {
   int x = 0, y = 2;
   // one ensures
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/test_config b/src/plugins/e-acsl/tests/e-acsl-runtime/test_config
index 31618f99b7d448ba68098010412e63a4a40aaa34..7fcf7b9d2e714ac757d167181a6f0b53154052c1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/test_config
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/test_config
@@ -1,2 +1,3 @@
-OPT: -check -e-acsl -then-last -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
-OPT: -check -e-acsl -e-acsl-gmp-only -then-last -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
+LOG: gen_@PTEST_NAME@.c
+OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/e-acsl-runtime/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -val -value-verbose 0
+EXECNOW: ./scripts/testrun.sh @PTEST_NAME@ e-acsl-runtime "" "--frama-c=@frama-c@"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/true.i b/src/plugins/e-acsl/tests/e-acsl-runtime/true.i
index 1e7b96ed15cb3c4f88e426696e3aaf5285d7b474..d1624aa2f4f730b24a3d5299672c0ada2d3e77fd 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/true.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/true.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: assert \true
-   EXECNOW: LOG gen_true.c BIN gen_true.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/true.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_true.c > /dev/null && ./gcc_runtime.sh true
-   EXECNOW: LOG gen_true2.c BIN gen_true2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/true.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_true2.c > /dev/null && ./gcc_runtime.sh true2
 */
 int main(void) {
   int x = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/typedef.i b/src/plugins/e-acsl/tests/e-acsl-runtime/typedef.i
index 67dec6370db44c230a587712078e2bbd35693588..afbbc15a43a2494579bbadc35c131c2e4f2590b8 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/typedef.i
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/typedef.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: typedef (from a Bernard's bug report)
-   EXECNOW: LOG gen_typedef.c BIN gen_typedef.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/typedef.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_typedef.c > /dev/null && ./gcc_runtime.sh typedef
-   EXECNOW: LOG gen_typedef2.c BIN gen_typedef2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/typedef.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_typedef2.c > /dev/null && ./gcc_runtime.sh typedef2
 */
 
 typedef unsigned char uint8;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/valid.c b/src/plugins/e-acsl/tests/e-acsl-runtime/valid.c
index db9e09a076b76b7fd9566d8c8f5a886b6d6250f7..f133b8ddf7a55fb76c3e2f65eaf298c30bb167a4 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/valid.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/valid.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: \valid
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_valid.c BIN gen_valid.out @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid.c > /dev/null && ./gcc_runtime.sh valid
-   EXECNOW: LOG gen_valid2.c BIN gen_valid2.out @frama-c@ -machdep x86_64 -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid2.c > /dev/null && ./gcc_runtime.sh valid2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/valid_alias.c b/src/plugins/e-acsl/tests/e-acsl-runtime/valid_alias.c
index b1f71d717ffe3839c4b9e8ff04ec446888bf1629..e86575cde11c5bf04d07dd3dfc3e3141d7477e64 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/valid_alias.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/valid_alias.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: \valid in presence of aliasing
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_valid_alias.c BIN gen_valid_alias.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid_alias.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid_alias.c > /dev/null && ./gcc_runtime.sh valid_alias
-   EXECNOW: LOG gen_valid_alias2.c BIN gen_valid_alias2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid_alias.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid_alias2.c > /dev/null && ./gcc_runtime.sh valid_alias2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include "stdlib.h"
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/valid_in_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/valid_in_contract.c
index 0d9017f796fac19ea2488261c1b22c0717e2eb73..aaac90174fa104ff5897bab9e9c8b070e4aab943 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/valid_in_contract.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/valid_in_contract.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: function contract involving \valid
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_valid_in_contract.c BIN gen_valid_in_contract.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid_in_contract.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid_in_contract.c > /dev/null && ./gcc_runtime.sh valid_in_contract
-   EXECNOW: LOG gen_valid_in_contract2.c BIN gen_valid_in_contract2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/valid_in_contract.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_valid_in_contract2.c > /dev/null && ./gcc_runtime.sh valid_in_contract2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include <stdlib.h>
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/vector.c b/src/plugins/e-acsl/tests/e-acsl-runtime/vector.c
index dcbcd63f998039beccdeaea000e573fcaa92b200..ac3ed643aac4f34e9dedbd7a7f07dc96c5cb1234 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/vector.c
+++ b/src/plugins/e-acsl/tests/e-acsl-runtime/vector.c
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: function call + initialized
-   STDOPT: #"-cpp-extra-args=\"-I`@frama-c@ -print-share-path`/libc\"" +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
-   EXECNOW: LOG gen_vector.c BIN gen_vector.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/vector.c -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_vector.c > /dev/null && ./gcc_runtime.sh vector
-   EXECNOW: LOG gen_vector2.c BIN gen_vector2.out @frama-c@ -cpp-extra-args="-I`@frama-c@ -print-share-path`/libc" -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/vector.c -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_vector2.c > /dev/null && ./gcc_runtime.sh vector2
+   STDOPT: +"-val-builtin __malloc:Frama_C_alloc_size -val-builtin __free:Frama_C_free"
 */
 
 #include<stdlib.h>
diff --git a/src/plugins/e-acsl/tests/gmp/README.md b/src/plugins/e-acsl/tests/gmp/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6ba931bda4209542e62d5c4a7f685296e0932d52
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/README.md
@@ -0,0 +1 @@
+Like e-acsl-runtime, but also test the -e-acsl-gmp-only mode.
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i b/src/plugins/e-acsl/tests/gmp/arith.i
similarity index 58%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/arith.i
rename to src/plugins/e-acsl/tests/gmp/arith.i
index 793007db3ac6e1863a80df6ebc0fdd375bf5774b..9b63a0fabbe6f610f8ec9ccc9effdff631584998 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i
+++ b/src/plugins/e-acsl/tests/gmp/arith.i
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: arithmetic operations
    COMMENT: add the last assertion when fixing BTS #751
-   EXECNOW: LOG gen_arith.c BIN gen_arith.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/arith.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_arith.c > /dev/null && ./gcc_runtime.sh arith
-   EXECNOW: LOG gen_arith2.c BIN gen_arith2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_arith2.c > /dev/null && ./gcc_runtime.sh arith2
 */
 
 int main(void) {
@@ -17,7 +15,7 @@ int main(void) {
   /*@ assert x-1 == -4; */ ;
   /*@ assert x*3 == -9; */ ;
   /*@ assert x/3 == -1; */ ;
-  /*@ assert 0xfffffffffff/0xfffffffffff == 1; */ ;
+  /*@ assert 0xffffffffffffffffffffff/0xffffffffffffffffffffff == 1; */ ;
   /*@ assert x % 2 == -1; */ ;
   /*@ assert -3 % -2 == -1; */ ;
   /*@ assert 3 % -2 == 1; */ ;
diff --git a/src/plugins/e-acsl/tests/gmp/array.i b/src/plugins/e-acsl/tests/gmp/array.i
new file mode 100644
index 0000000000000000000000000000000000000000..8e988f14f86815cf8dbb0be0a22f8864ab29c7ba
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/array.i
@@ -0,0 +1,17 @@
+/* run.config
+   COMMENT: arrays
+   STDOPT: #"-slevel 5"
+*/
+
+int T1[3],T2[4];
+
+int main(void) {
+
+  for(int i = 0; i < 3; i++) T1[i] = i;
+  for(int i = 0; i < 4; i++) T2[i] = 2*i;
+
+  /*@ assert T1[0] == T2[0]; */
+  /*@ assert T1[1] != T2[1]; */
+
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i b/src/plugins/e-acsl/tests/gmp/at.i
similarity index 66%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/at.i
rename to src/plugins/e-acsl/tests/gmp/at.i
index 6c4e69866e4f1a293a98cadd68daf50ec4497e8a..589c9671f18d9e6b019bcb56e5586db36c57cb49 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i
+++ b/src/plugins/e-acsl/tests/gmp/at.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: \at
-   EXECNOW: LOG gen_at.c BIN gen_at.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/at.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_at.c > /dev/null && ./gcc_runtime.sh at -Wno-unused-label
-   EXECNOW: LOG gen_at2.c BIN gen_at2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/at.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_at2.c > /dev/null && ./gcc_runtime.sh at2 -Wno-unused-label
 */
 
 int A = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i b/src/plugins/e-acsl/tests/gmp/cast.i
similarity index 50%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/cast.i
rename to src/plugins/e-acsl/tests/gmp/cast.i
index b5f005b2ed4d11c5d521d2f3de00877ca4b00748..3f77c78e5d24c20a6e420a817ea4b5321ecc3ebd 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i
+++ b/src/plugins/e-acsl/tests/gmp/cast.i
@@ -1,8 +1,6 @@
 /* run.config
    COMMENT: cast
    STDOPT: #"-no-warn-signed-downcast" #"-no-warn-unsigned-downcast"
-   EXECNOW: LOG gen_cast.c BIN gen_cast.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/cast.i -e-acsl -no-warn-signed-downcast -no-warn-unsigned-downcast -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_cast.c > /dev/null && ./gcc_runtime.sh cast
-   EXECNOW: LOG gen_cast2.c BIN gen_cast2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/cast.i -e-acsl-gmp-only -no-warn-signed-downcast -no-warn-unsigned-downcast -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_cast2.c > /dev/null && ./gcc_runtime.sh cast2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i b/src/plugins/e-acsl/tests/gmp/comparison.i
similarity index 55%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i
rename to src/plugins/e-acsl/tests/gmp/comparison.i
index 3bae6308b5844ada219b99a3a15cdfaee9c0ee9a..3c74cd1d2e52df0154ec185cd836d41e40e6971e 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i
+++ b/src/plugins/e-acsl/tests/gmp/comparison.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: comparison operators
-   EXECNOW: LOG gen_comparison.c BIN gen_comparison.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/comparison.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_comparison.c > /dev/null && ./gcc_runtime.sh comparison
-   EXECNOW: LOG gen_comparison2.c BIN gen_comparison2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/comparison.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_comparison2.c > /dev/null && ./gcc_runtime.sh comparison2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/gmp/integer_constant.i b/src/plugins/e-acsl/tests/gmp/integer_constant.i
new file mode 100644
index 0000000000000000000000000000000000000000..059857733e5890e34bfe6c0ca04848561833c1f5
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/integer_constant.i
@@ -0,0 +1,14 @@
+/* run.config
+   COMMENT: integer constant + a stmt after the assertion
+*/
+int main(void) {
+  int x;
+  /*@ assert 0 == 0; */ x = 0;
+  x++; /* prevent GCC's warning */
+  /*@ assert 0 != 1; */
+  /*@ assert 1152921504606846975 == 0xfffffffffffffff; */
+
+  /*@ assert 0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff; */
+
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/gmp/longlong.i b/src/plugins/e-acsl/tests/gmp/longlong.i
new file mode 100644
index 0000000000000000000000000000000000000000..7345030a089ce9722b763043e6163fcadf48c51a
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/longlong.i
@@ -0,0 +1,19 @@
+/* run.config
+   COMMENT: upgrading longlong to GMP
+   STDOPT: +"-no-eva -val-ignore-recursive-calls"
+*/
+
+unsigned long long my_pow(unsigned int x, unsigned int n) {
+  int tmp;
+  if (n <= 1) return 1;
+  tmp = my_pow(x, n / 2);
+  tmp *= tmp;
+  if (n % 2 == 0) return tmp;
+  return x * tmp;
+}
+
+int main(void) {
+  unsigned long long x = my_pow(2, 63);
+  /*@ assert (2 * x + 1) % 2 == 1; */
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/gmp/not.i b/src/plugins/e-acsl/tests/gmp/not.i
new file mode 100644
index 0000000000000000000000000000000000000000..5fb8adfdcbe31eadefd28a156d15d5f260888e9d
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/not.i
@@ -0,0 +1,9 @@
+/* run.config
+   COMMENT: predicate [!p]
+*/
+int main(void) {
+  int x = 0;
+  /*@ assert ! x; */
+  if (x) /*@ assert x; */ ;
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/arith.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle
similarity index 87%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle
index ffdab4d22524c62fcda52372fdf7d6549acefe03..0ddd2d362a08ab4fb29f6726d7a7a2215bf4f1a3 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle
@@ -10,11 +10,12 @@
   __e_acsl_init ∈ [--..--]
   __e_acsl_internal_heap ∈ [--..--]
   __memory_size ∈ [--..--]
+[value] using specification for function e_acsl_assert
+[value] using specification for function __gmpz_init_set_str
 [value] using specification for function __gmpz_init_set_si
 [value] using specification for function __gmpz_cmp
-[value] using specification for function e_acsl_assert
+[value] using specification for function __gmpz_init
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+[value] using specification for function __gmpz_tdiv_q
 [value] using specification for function __gmpz_clear
-[value] using specification for function __gmpz_init
-[value] using specification for function __gmpz_add
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/arith.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.1.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/arith.1.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/array.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle
similarity index 68%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle
index 8f4a3d3b726e4de70a64a83ff6d2a86ac9758b36..d252e96cb3bcc38ccec95e6c947b302f08c3df42 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.0.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle
@@ -12,10 +12,10 @@
   __memory_size ∈ [--..--]
   T1[0..2] ∈ {0}
   T2[0..3] ∈ {0}
-tests/e-acsl-runtime/array.i:12:[value] entering loop for the first time
-tests/e-acsl-runtime/array.i:13:[value] entering loop for the first time
-tests/e-acsl-runtime/array.i:15:[value] warning: assertion got status unknown.
+tests/gmp/array.i:10:[value] entering loop for the first time
+tests/gmp/array.i:11:[value] entering loop for the first time
+tests/gmp/array.i:13:[value] warning: assertion got status unknown.
 [value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/array.i:16:[value] warning: assertion got status unknown.
+tests/gmp/array.i:14:[value] warning: assertion got status unknown.
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/compound_initializers.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/array.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle
similarity index 73%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle
index eb2477f723cb8c2dc008e03316844225964c80e3..bdf0233dd93173c599d51264596fe97973ca164c 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle
@@ -12,13 +12,13 @@
   __memory_size ∈ [--..--]
   T1[0..2] ∈ {0}
   T2[0..3] ∈ {0}
-tests/e-acsl-runtime/array.i:12:[value] entering loop for the first time
-tests/e-acsl-runtime/array.i:13:[value] entering loop for the first time
-tests/e-acsl-runtime/array.i:15:[value] warning: assertion got status unknown.
+tests/gmp/array.i:10:[value] entering loop for the first time
+tests/gmp/array.i:11:[value] entering loop for the first time
+tests/gmp/array.i:13:[value] warning: assertion got status unknown.
 [value] using specification for function __gmpz_init_set_si
 [value] using specification for function __gmpz_cmp
 [value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] using specification for function __gmpz_clear
-tests/e-acsl-runtime/array.i:16:[value] warning: assertion got status unknown.
+tests/gmp/array.i:14:[value] warning: assertion got status unknown.
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/at.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle
similarity index 50%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle
index b71f628f99927201274624278f0f7d3aa16c8c1e..7dfd4376eea4d0a59b88efb3b22d4b77c0183079 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.0.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle
@@ -10,17 +10,25 @@
   __e_acsl_init ∈ [--..--]
   __e_acsl_internal_heap ∈ [--..--]
   __memory_size ∈ [--..--]
+  A ∈ {0}
 [value] using specification for function __store_block
 [value] using specification for function __full_init
+[value] using specification for function __delete_block
+[value] using specification for function e_acsl_assert
+tests/gmp/at.i:12:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:12:[value] warning: assertion got status unknown.
+tests/gmp/at.i:51:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:51:[value] warning: assertion got status unknown.
+tests/gmp/at.i:52:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:52:[value] warning: assertion got status unknown.
+tests/gmp/at.i:53:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:53:[value] warning: assertion got status unknown.
 [value] using specification for function __initialize
-[value] using specification for function __initialized
 [value] using specification for function __valid_read
-[value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
-tests/e-acsl-runtime/ptr.i:18:[value] entering loop for the first time
-tests/e-acsl-runtime/ptr.i:19:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/ptr.i:20:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/ptr.i:21:[value] warning: assertion got status unknown.
-[value] using specification for function __delete_block
+tests/gmp/at.i:30:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:30:[value] warning: assertion got status unknown.
+tests/gmp/at.i:32:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:32:[value] warning: assertion got status unknown.
 [value] using specification for function __e_acsl_memory_clean
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/empty.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/at.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle
similarity index 55%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle
index 05a4c55b977b967768e46c015e0e4a04b15a8fcd..ee5b57e931f2442756f15914b285968faf976784 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle
@@ -22,19 +22,19 @@ FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precond
 [value] using specification for function __gmpz_init
 [value] using specification for function __gmpz_add
 [value] using specification for function __gmpz_init_set
-tests/e-acsl-runtime/at.i:14:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:14:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:53:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:53:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:54:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:54:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:55:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:55:[value] warning: assertion got status unknown.
+tests/gmp/at.i:12:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:12:[value] warning: assertion got status unknown.
+tests/gmp/at.i:51:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:51:[value] warning: assertion got status unknown.
+tests/gmp/at.i:52:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:52:[value] warning: assertion got status unknown.
+tests/gmp/at.i:53:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:53:[value] warning: assertion got status unknown.
 [value] using specification for function __initialize
 [value] using specification for function __valid_read
-tests/e-acsl-runtime/at.i:32:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:32:[value] warning: assertion got status unknown.
-tests/e-acsl-runtime/at.i:34:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
-tests/e-acsl-runtime/at.i:34:[value] warning: assertion got status unknown.
+tests/gmp/at.i:30:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:30:[value] warning: assertion got status unknown.
+tests/gmp/at.i:32:[value] cannot evaluate ACSL term, \at() on a C label is unsupported
+tests/gmp/at.i:32:[value] warning: assertion got status unknown.
 [value] using specification for function __e_acsl_memory_clean
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/cast.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.0.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/cast.0.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/cast.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle
similarity index 87%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle
index 1b00f8980afcfa2cb328cdcdaf438d9f2fe503b3..f1b9b67dd5c89f701b3646829a3463aa7a027a59 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle
@@ -16,6 +16,4 @@
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] using specification for function __gmpz_clear
 [value] using specification for function __gmpz_init_set_ui
-[value] using specification for function __gmpz_init_set_str
-[value] using specification for function __gmpz_get_ui
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/comparison.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.0.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/comparison.0.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/freeable.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/comparison.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.1.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/comparison.1.res.oracle
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_arith.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_arith.c
new file mode 100644
index 0000000000000000000000000000000000000000..ee94c56080ddca66d9009b6dba16cbc010e4f80e
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_arith.c
@@ -0,0 +1,96 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  int x;
+  int y;
+  x = -3;
+  y = 2;
+  /*@ assert -3 ≡ x; */
+  e_acsl_assert(-3 == x,(char *)"Assertion",(char *)"main",(char *)"-3 == x",
+                10);
+  /*@ assert x ≡ -3; */
+  e_acsl_assert(x == -3,(char *)"Assertion",(char *)"main",(char *)"x == -3",
+                11);
+  /*@ assert 0 ≢ ~0; */
+  e_acsl_assert(0 != ~ 0,(char *)"Assertion",(char *)"main",
+                (char *)"0 != ~0",12);
+  /*@ assert x+1 ≡ -2; */
+  e_acsl_assert((long)x + (long)1 == (long)(-2),(char *)"Assertion",
+                (char *)"main",(char *)"x+1 == -2",14);
+  /*@ assert x-1 ≡ -4; */
+  e_acsl_assert((long)x - (long)1 == (long)(-4),(char *)"Assertion",
+                (char *)"main",(char *)"x-1 == -4",15);
+  /*@ assert x*3 ≡ -9; */
+  e_acsl_assert((long)x * (long)3 == (long)(-9),(char *)"Assertion",
+                (char *)"main",(char *)"x*3 == -9",16);
+  /*@ assert x/3 ≡ -1; */
+  e_acsl_assert(x / 3 == -1,(char *)"Assertion",(char *)"main",
+                (char *)"x/3 == -1",17);
+  /*@ assert 0xffffffffffffffffffffff/0xffffffffffffffffffffff ≡ 1; */
+  {
+    mpz_t __e_acsl;
+    mpz_t __e_acsl_2;
+    int __e_acsl_div_guard;
+    mpz_t __e_acsl_div;
+    mpz_t __e_acsl_3;
+    int __e_acsl_eq;
+    __gmpz_init_set_str(__e_acsl,"309485009821345068724781055",10);
+    __gmpz_init_set_si(__e_acsl_2,0L);
+    __e_acsl_div_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                    (__mpz_struct const *)(__e_acsl_2));
+    __gmpz_init(__e_acsl_div);
+    /*@ assert E_ACSL: 0xffffffffffffffffffffff ≢ 0; */
+    e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
+                  (char *)"main",(char *)"0xffffffffffffffffffffff == 0",18);
+    __gmpz_tdiv_q(__e_acsl_div,(__mpz_struct const *)(__e_acsl),
+                  (__mpz_struct const *)(__e_acsl));
+    __gmpz_init_set_si(__e_acsl_3,(long)1);
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div),
+                             (__mpz_struct const *)(__e_acsl_3));
+    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"0xffffffffffffffffffffff/0xffffffffffffffffffffff == 1",
+                  18);
+    __gmpz_clear(__e_acsl);
+    __gmpz_clear(__e_acsl_2);
+    __gmpz_clear(__e_acsl_div);
+    __gmpz_clear(__e_acsl_3);
+  }
+  /*@ assert x%2 ≡ -1; */
+  e_acsl_assert(x % 2 == -1,(char *)"Assertion",(char *)"main",
+                (char *)"x%2 == -1",19);
+  /*@ assert -3%-2 ≡ -1; */
+  e_acsl_assert(-3 % -2 == -1,(char *)"Assertion",(char *)"main",
+                (char *)"-3%-2 == -1",20);
+  /*@ assert 3%-2 ≡ 1; */
+  e_acsl_assert(3 % -2 == 1,(char *)"Assertion",(char *)"main",
+                (char *)"3%-2 == 1",21);
+  /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */
+  e_acsl_assert((((long)x * (long)2 + ((long)3 + (long)y)) - (long)4) + (
+                (long)x - (long)y) == (long)(-10),(char *)"Assertion",
+                (char *)"main",(char *)"((x*2+(3+y))-4)+(x-y) == -10",23);
+  /*@ assert (0≡1) ≡ !(0≡0); */
+  e_acsl_assert((0 == 1) == ! (0 == 0),(char *)"Assertion",(char *)"main",
+                (char *)"(0==1) == !(0==0)",25);
+  /*@ assert (0≤-1) ≡ (0>0); */
+  e_acsl_assert((0 <= -1) == (0 > 0),(char *)"Assertion",(char *)"main",
+                (char *)"(0<=-1) == (0>0)",26);
+  /*@ assert (0≥-1) ≡ (0≤0); */
+  e_acsl_assert((0 >= -1) == (0 <= 0),(char *)"Assertion",(char *)"main",
+                (char *)"(0>=-1) == (0<=0)",27);
+  /*@ assert (0≢1) ≡ !(0≢0); */
+  e_acsl_assert((0 != 1) == ! (0 != 0),(char *)"Assertion",(char *)"main",
+                (char *)"(0!=1) == !(0!=0)",28);
+  /*@ assert (0≢0) ≡ !(1≢0); */
+  e_acsl_assert((0 != 0) == ! (1 != 0),(char *)"Assertion",(char *)"main",
+                (char *)"(0!=0) == !(1!=0)",30);
+  /*@ assert 4/y ≡ 2; */
+  e_acsl_assert(y != 0,(char *)"RTE",(char *)"main",
+                (char *)"division_by_zero: y != 0",31);
+  e_acsl_assert(4 / y == 2,(char *)"Assertion",(char *)"main",
+                (char *)"4/y == 2",31);
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_arith2.c
similarity index 75%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_arith2.c
index e9448e971bb55c45575cee1360a00d0bef9edf64..ae3487058b1648803605877b57b72188891cdad1 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_arith2.c
@@ -1,154 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z, \result;
-    assigns *z \from *(str+(0 ..)), base;
-    assigns \result \from *(str+(0 ..)), base;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z,
-                                                                char const *str,
-                                                                int base);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    assigns *z1;
-    assigns *z1 \from *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_neg(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    assigns *z1, \result;
-    assigns *z1 \from *z2;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_com(__mpz_struct * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -169,7 +19,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"-3 == x",12);
+                  (char *)"-3 == x",10);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_neg);
     __gmpz_clear(__e_acsl_x);
@@ -187,7 +37,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x == -3",13);
+                  (char *)"x == -3",11);
     __gmpz_clear(__e_acsl_x_2);
     __gmpz_clear(__e_acsl_2);
     __gmpz_clear(__e_acsl_neg_2);
@@ -203,7 +53,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"0 != ~0",14);
+                  (char *)"0 != ~0",12);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_bnot);
   }
@@ -226,7 +76,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x+1 == -2",16);
+                  (char *)"x+1 == -2",14);
     __gmpz_clear(__e_acsl_x_3);
     __gmpz_clear(__e_acsl_4);
     __gmpz_clear(__e_acsl_add);
@@ -252,7 +102,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x-1 == -4",17);
+                  (char *)"x-1 == -4",15);
     __gmpz_clear(__e_acsl_x_4);
     __gmpz_clear(__e_acsl_6);
     __gmpz_clear(__e_acsl_sub);
@@ -278,7 +128,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x*3 == -9",18);
+                  (char *)"x*3 == -9",16);
     __gmpz_clear(__e_acsl_x_5);
     __gmpz_clear(__e_acsl_8);
     __gmpz_clear(__e_acsl_mul);
@@ -303,7 +153,7 @@ int main(void)
     __gmpz_init(__e_acsl_div);
     /*@ assert E_ACSL: 3 ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"3 == 0",19);
+                  (char *)"main",(char *)"3 == 0",17);
     __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);
@@ -312,7 +162,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x/3 == -1",19);
+                  (char *)"x/3 == -1",17);
     __gmpz_clear(__e_acsl_x_6);
     __gmpz_clear(__e_acsl_10);
     __gmpz_clear(__e_acsl_11);
@@ -320,7 +170,7 @@ int main(void)
     __gmpz_clear(__e_acsl_12);
     __gmpz_clear(__e_acsl_neg_6);
   }
-  /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */
+  /*@ assert 0xffffffffffffffffffffff/0xffffffffffffffffffffff ≡ 1; */
   {
     mpz_t __e_acsl_13;
     mpz_t __e_acsl_14;
@@ -328,21 +178,22 @@ int main(void)
     mpz_t __e_acsl_div_2;
     mpz_t __e_acsl_15;
     int __e_acsl_eq_7;
-    __gmpz_init_set_str(__e_acsl_13,"17592186044415",10);
+    __gmpz_init_set_str(__e_acsl_13,"309485009821345068724781055",10);
     __gmpz_init_set_si(__e_acsl_14,0L);
     __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; */
+    /*@ assert E_ACSL: 0xffffffffffffffffffffff ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard_2 == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"0xfffffffffff == 0",20);
+                  (char *)"main",(char *)"0xffffffffffffffffffffff == 0",18);
     __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((__mpz_struct const *)(__e_acsl_div_2),
                                (__mpz_struct const *)(__e_acsl_15));
     e_acsl_assert(__e_acsl_eq_7 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"0xfffffffffff/0xfffffffffff == 1",20);
+                  (char *)"0xffffffffffffffffffffff/0xffffffffffffffffffffff == 1",
+                  18);
     __gmpz_clear(__e_acsl_13);
     __gmpz_clear(__e_acsl_14);
     __gmpz_clear(__e_acsl_div_2);
@@ -366,7 +217,7 @@ int main(void)
     __gmpz_init(__e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"2 == 0",21);
+                  (char *)"main",(char *)"2 == 0",19);
     __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);
@@ -375,7 +226,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x%2 == -1",21);
+                  (char *)"x%2 == -1",19);
     __gmpz_clear(__e_acsl_x_7);
     __gmpz_clear(__e_acsl_16);
     __gmpz_clear(__e_acsl_17);
@@ -407,7 +258,7 @@ int main(void)
     __gmpz_init(__e_acsl_mod_2);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_2 == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"-2 == 0",22);
+                  (char *)"main",(char *)"-2 == 0",20);
     __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);
@@ -416,7 +267,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"-3%-2 == -1",22);
+                  (char *)"-3%-2 == -1",20);
     __gmpz_clear(__e_acsl_19);
     __gmpz_clear(__e_acsl_neg_8);
     __gmpz_clear(__e_acsl_20);
@@ -446,14 +297,14 @@ int main(void)
     __gmpz_init(__e_acsl_mod_3);
     /*@ assert E_ACSL: -2 ≢ 0; */
     e_acsl_assert(! (__e_acsl_mod_guard_3 == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"-2 == 0",23);
+                  (char *)"main",(char *)"-2 == 0",21);
     __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((__mpz_struct const *)(__e_acsl_mod_3),
                                 (__mpz_struct const *)(__e_acsl_26));
     e_acsl_assert(__e_acsl_eq_10 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"3%-2 == 1",23);
+                  (char *)"3%-2 == 1",21);
     __gmpz_clear(__e_acsl_23);
     __gmpz_clear(__e_acsl_24);
     __gmpz_clear(__e_acsl_neg_11);
@@ -506,7 +357,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"((x*2+(3+y))-4)+(x-y) == -10",25);
+                  (char *)"((x*2+(3+y))-4)+(x-y) == -10",23);
     __gmpz_clear(__e_acsl_x_8);
     __gmpz_clear(__e_acsl_27);
     __gmpz_clear(__e_acsl_mul_2);
@@ -546,7 +397,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"(0==1) == !(0==0)",27);
+                  (char *)"(0==1) == !(0==0)",25);
     __gmpz_clear(__e_acsl_31);
     __gmpz_clear(__e_acsl_32);
     __gmpz_clear(__e_acsl_33);
@@ -576,7 +427,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"(0<=-1) == (0>0)",28);
+                  (char *)"(0<=-1) == (0>0)",26);
     __gmpz_clear(__e_acsl_36);
     __gmpz_clear(__e_acsl_37);
     __gmpz_clear(__e_acsl_neg_13);
@@ -606,7 +457,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"(0>=-1) == (0<=0)",29);
+                  (char *)"(0>=-1) == (0<=0)",27);
     __gmpz_clear(__e_acsl_40);
     __gmpz_clear(__e_acsl_41);
     __gmpz_clear(__e_acsl_neg_14);
@@ -638,7 +489,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"(0!=1) == !(0!=0)",30);
+                  (char *)"(0!=1) == !(0!=0)",28);
     __gmpz_clear(__e_acsl_44);
     __gmpz_clear(__e_acsl_45);
     __gmpz_clear(__e_acsl_46);
@@ -670,7 +521,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"(0!=0) == !(1!=0)",32);
+                  (char *)"(0!=0) == !(1!=0)",30);
     __gmpz_clear(__e_acsl_49);
     __gmpz_clear(__e_acsl_50);
     __gmpz_clear(__e_acsl_51);
@@ -694,14 +545,14 @@ int main(void)
     __gmpz_init(__e_acsl_div_3);
     /*@ assert E_ACSL: y ≢ 0; */
     e_acsl_assert(! (__e_acsl_div_guard_3 == 0),(char *)"Assertion",
-                  (char *)"main",(char *)"y == 0",33);
+                  (char *)"main",(char *)"y == 0",31);
     __gmpz_tdiv_q(__e_acsl_div_3,(__mpz_struct const *)(__e_acsl_54),
                   (__mpz_struct const *)(__e_acsl_y_2));
     __gmpz_init_set_si(__e_acsl_56,(long)2);
     __e_acsl_eq_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_div_3),
                                 (__mpz_struct const *)(__e_acsl_56));
     e_acsl_assert(__e_acsl_eq_19 == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"4/y == 2",33);
+                  (char *)"4/y == 2",31);
     __gmpz_clear(__e_acsl_54);
     __gmpz_clear(__e_acsl_y_2);
     __gmpz_clear(__e_acsl_55);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c
new file mode 100644
index 0000000000000000000000000000000000000000..9f92179a2377b48f0d7016a778bf17fbeff40187
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c
@@ -0,0 +1,33 @@
+/* Generated by Frama-C */
+int T1[3];
+int T2[4];
+int main(void)
+{
+  int __retres;
+  {
+    int i;
+    i = 0;
+    while (i < 3) {
+      T1[i] = i;
+      i ++;
+    }
+  }
+  {
+    int i_0;
+    i_0 = 0;
+    while (i_0 < 4) {
+      T2[i_0] = 2 * i_0;
+      i_0 ++;
+    }
+  }
+  /*@ assert T1[0] ≡ T2[0]; */
+  e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",(char *)"main",
+                (char *)"T1[0] == T2[0]",13);
+  /*@ assert T1[1] ≢ T2[1]; */
+  e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",(char *)"main",
+                (char *)"T1[1] != T2[1]",14);
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c
new file mode 100644
index 0000000000000000000000000000000000000000..ae655bfd2d287840fdb2e41f2a0b7ff500f9a90e
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c
@@ -0,0 +1,55 @@
+/* Generated by Frama-C */
+int T1[3];
+int T2[4];
+int main(void)
+{
+  int __retres;
+  {
+    int i;
+    i = 0;
+    while (i < 3) {
+      T1[i] = i;
+      i ++;
+    }
+  }
+  {
+    int i_0;
+    i_0 = 0;
+    while (i_0 < 4) {
+      T2[i_0] = 2 * i_0;
+      i_0 ++;
+    }
+  }
+  /*@ assert T1[0] ≡ T2[0]; */
+  {
+    mpz_t __e_acsl;
+    mpz_t __e_acsl_2;
+    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((__mpz_struct const *)(__e_acsl),
+                             (__mpz_struct const *)(__e_acsl_2));
+    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"T1[0] == T2[0]",13);
+    __gmpz_clear(__e_acsl);
+    __gmpz_clear(__e_acsl_2);
+  }
+  /*@ assert T1[1] ≢ T2[1]; */
+  {
+    mpz_t __e_acsl_3;
+    mpz_t __e_acsl_4;
+    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((__mpz_struct const *)(__e_acsl_3),
+                             (__mpz_struct const *)(__e_acsl_4));
+    e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
+                  (char *)"T1[1] != T2[1]",14);
+    __gmpz_clear(__e_acsl_3);
+    __gmpz_clear(__e_acsl_4);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_at.c
similarity index 50%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_at.c
index 1d784f2cdacd7b24f031d181da7b793b91d7223c..9198f2ccf972cfd08404fee453efe4cdc0c53620 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_at.c
@@ -1,73 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int A = 0;
 /*@ ensures \at(A,Post) ≡ 3; */
 void f(void)
@@ -84,16 +15,16 @@ void f(void)
      A = 2;
   /*@ assert \at(A,Pre) ≡ 0; */
   e_acsl_assert(__e_acsl_at == 0,(char *)"Assertion",(char *)"f",
-                (char *)"\\at(A,Pre) == 0",13);
+                (char *)"\\at(A,Pre) == 0",11);
   /*@ assert \at(A,F) ≡ 1; */
   e_acsl_assert(__e_acsl_at_2 == 1,(char *)"Assertion",(char *)"f",
-                (char *)"\\at(A,F) == 1",14);
+                (char *)"\\at(A,F) == 1",12);
   /*@ assert \at(A,Here) ≡ 2; */
   e_acsl_assert(A == 2,(char *)"Assertion",(char *)"f",
-                (char *)"\\at(A,Here) == 2",15);
+                (char *)"\\at(A,Here) == 2",13);
   /*@ assert \at(\at(A,Pre),F) ≡ 0; */
   e_acsl_assert(__e_acsl_at_4 == 0,(char *)"Assertion",(char *)"f",
-                (char *)"\\at(\\at(A,Pre),F) == 0",16);
+                (char *)"\\at(\\at(A,Pre),F) == 0",14);
   A = 3;
   return;
 }
@@ -105,7 +36,7 @@ void __e_acsl_f(void)
   f();
   __e_acsl_at = A;
   e_acsl_assert(__e_acsl_at == 3,(char *)"Postcondition",(char *)"f",
-                (char *)"\\at(A,Post) == 3",9);
+                (char *)"\\at(A,Post) == 3",7);
   return;
 }
 
@@ -114,8 +45,8 @@ void g(int *p, int *q)
   int __e_acsl_at_3;
   int __e_acsl_at_2;
   int __e_acsl_at;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& q),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& q),8UL);
   __initialize((void *)p,sizeof(int));
   *p = 0;
   __initialize((void *)(p + 1),sizeof(int));
@@ -127,16 +58,16 @@ void g(int *p, int *q)
       int __e_acsl_valid_read_3;
       __e_acsl_valid_read_3 = __valid_read((void *)q,sizeof(int));
       e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(q)",34);
-      __store_block((void *)(& __e_acsl_at_3),4U);
+                    (char *)"mem_access: \\valid_read(q)",32);
+      __store_block((void *)(& __e_acsl_at_3),4UL);
       __e_acsl_at_3 = *q;
     }
     {
       int __e_acsl_valid_read;
       __e_acsl_valid_read = __valid_read((void *)q,sizeof(int));
       e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(q)",32);
-      __store_block((void *)(& __e_acsl_at),4U);
+                    (char *)"mem_access: \\valid_read(q)",30);
+      __store_block((void *)(& __e_acsl_at),4UL);
       __e_acsl_at = *q;
     }
     __initialize((void *)p,sizeof(int));
@@ -151,14 +82,14 @@ void g(int *p, int *q)
       __e_acsl_valid_read_2 = __valid_read((void *)(p + __e_acsl_at),
                                            sizeof(int));
       e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(p+__e_acsl_at)",32);
-      __store_block((void *)(& __e_acsl_at_2),4U);
+                    (char *)"mem_access: \\valid_read(p+__e_acsl_at)",30);
+      __store_block((void *)(& __e_acsl_at_2),4UL);
       __e_acsl_at_2 = *(p + __e_acsl_at);
     }
     A = 4;
   /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */
   e_acsl_assert(__e_acsl_at_2 == 2,(char *)"Assertion",(char *)"g",
-                (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",32);
+                (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",30);
   L3:
     /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */
     {
@@ -166,10 +97,10 @@ void g(int *p, int *q)
       __e_acsl_valid_read_4 = __valid_read((void *)(p + __e_acsl_at_3),
                                            sizeof(int));
       e_acsl_assert(__e_acsl_valid_read_4,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(p+__e_acsl_at_3)",34);
+                    (char *)"mem_access: \\valid_read(p+__e_acsl_at_3)",32);
       e_acsl_assert(*(p + __e_acsl_at_3) == 2,(char *)"Assertion",
                     (char *)"g",(char *)"\\at(*(p+\\at(*q,L1)),Here) == 2",
-                    34);
+                    32);
     }
     __delete_block((void *)(& p));
     __delete_block((void *)(& q));
@@ -179,7 +110,7 @@ void g(int *p, int *q)
 /*@ ensures \result ≡ \old(x); */
 int h(int x)
 {
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(& x),4UL);
   __delete_block((void *)(& x));
   return x;
 }
@@ -189,13 +120,13 @@ int __e_acsl_h(int x)
 {
   int __e_acsl_at;
   int __retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& __e_acsl_at),4U);
+  __store_block((void *)(& __retres),4UL);
+  __store_block((void *)(& x),4UL);
+  __store_block((void *)(& __e_acsl_at),4UL);
   __e_acsl_at = x;
   __retres = h(x);
   e_acsl_assert(__retres == __e_acsl_at,(char *)"Postcondition",(char *)"h",
-                (char *)"\\result == \\old(x)",40);
+                (char *)"\\result == \\old(x)",38);
   __delete_block((void *)(& x));
   __delete_block((void *)(& __retres));
   return __retres;
@@ -204,25 +135,25 @@ int __e_acsl_h(int x)
 int main(void)
 {
   int __e_acsl_at_3;
-  long long __e_acsl_at_2;
+  long __e_acsl_at_2;
   int __e_acsl_at;
   int __retres;
   int x;
   int t[2];
-  __store_block((void *)(t),8U);
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(t),8UL);
+  __store_block((void *)(& x),4UL);
   __full_init((void *)(& x));
   x = __e_acsl_h(0);
   L:
-    __store_block((void *)(& __e_acsl_at_3),4U);
+    __store_block((void *)(& __e_acsl_at_3),4UL);
     __e_acsl_at_3 = x;
-    __store_block((void *)(& __e_acsl_at_2),8U);
-    __e_acsl_at_2 = (long long)x + (long long)1;
-    __store_block((void *)(& __e_acsl_at),4U);
+    __store_block((void *)(& __e_acsl_at_2),8UL);
+    __e_acsl_at_2 = (long)x + (long)1;
+    __store_block((void *)(& __e_acsl_at),4UL);
     __e_acsl_at = x;
     /*@ assert x ≡ 0; */
     e_acsl_assert(x == 0,(char *)"Assertion",(char *)"main",(char *)"x == 0",
-                  48);
+                  46);
     __full_init((void *)(& x));
     x = 1;
   __full_init((void *)(& x));
@@ -230,14 +161,13 @@ int main(void)
   __e_acsl_f();
   /*@ assert \at(x,L) ≡ 0; */
   e_acsl_assert(__e_acsl_at == 0,(char *)"Assertion",(char *)"main",
-                (char *)"\\at(x,L) == 0",53);
+                (char *)"\\at(x,L) == 0",51);
   /*@ assert \at(x+1,L) ≡ 1; */
-  e_acsl_assert(__e_acsl_at_2 == (long long)1,(char *)"Assertion",
-                (char *)"main",(char *)"\\at(x+1,L) == 1",54);
+  e_acsl_assert(__e_acsl_at_2 == (long)1,(char *)"Assertion",(char *)"main",
+                (char *)"\\at(x+1,L) == 1",52);
   /*@ assert \at(x,L)+1 ≡ 1; */
-  e_acsl_assert((long long)__e_acsl_at_3 + (long long)1 == (long long)1,
-                (char *)"Assertion",(char *)"main",
-                (char *)"\\at(x,L)+1 == 1",55);
+  e_acsl_assert((long)__e_acsl_at_3 + (long)1 == (long)1,(char *)"Assertion",
+                (char *)"main",(char *)"\\at(x,L)+1 == 1",53);
   g(t,& x);
   __retres = 0;
   __delete_block((void *)(t));
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c
similarity index 62%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c
index 715a1a811964f92b89b9784b605c465b96fbab07..0db195ea1dd9f2f56377b13e9954afaa9da64f12 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c
@@ -1,124 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires \valid_read(z_orig);
-    requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from *z_orig;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set(__mpz_struct * /*[1]*/ z,
-                                                             __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1)); */
-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 ⇒ \valid_read((char *)\old(ptr)+(0 .. \old(size)-1));
-    assigns \result;
-    assigns \result \from *((char *)ptr+(0 .. size-1));
- */
-extern  __attribute__((__FC_BUILTIN__)) int __valid_read(void *ptr,
-                                                         size_t size);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-/*@ assigns __e_acsl_internal_heap;
-    assigns __e_acsl_internal_heap \from __e_acsl_internal_heap;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __e_acsl_memory_clean(void);
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int A = 0;
 /*@ ensures \at(A,Post) ≡ 3; */
 void f(void)
@@ -143,7 +23,7 @@ void f(void)
     __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 *)"f",
-                  (char *)"\\at(A,Pre) == 0",13);
+                  (char *)"\\at(A,Pre) == 0",11);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_2);
   }
@@ -157,7 +37,7 @@ void f(void)
     __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 *)"f",
-                  (char *)"\\at(A,F) == 1",14);
+                  (char *)"\\at(A,F) == 1",12);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_4);
   }
@@ -171,7 +51,7 @@ void f(void)
     __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 *)"f",
-                  (char *)"\\at(A,Here) == 2",15);
+                  (char *)"\\at(A,Here) == 2",13);
     __gmpz_clear(__e_acsl_5);
     __gmpz_clear(__e_acsl_6);
   }
@@ -185,7 +65,7 @@ void f(void)
     __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 *)"f",
-                  (char *)"\\at(\\at(A,Pre),F) == 0",16);
+                  (char *)"\\at(\\at(A,Pre),F) == 0",14);
     __gmpz_clear(__e_acsl_7);
     __gmpz_clear(__e_acsl_8);
   }
@@ -208,7 +88,7 @@ void __e_acsl_f(void)
     __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
                              (__mpz_struct const *)(__e_acsl_2));
     e_acsl_assert(__e_acsl_eq == 0,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\at(A,Post) == 3",9);
+                  (char *)"\\at(A,Post) == 3",7);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_2);
     return;
@@ -220,8 +100,8 @@ void g(int *p, int *q)
   int __e_acsl_at_3;
   int __e_acsl_at_2;
   int __e_acsl_at;
-  __store_block((void *)(& p),4U);
-  __store_block((void *)(& q),4U);
+  __store_block((void *)(& p),8UL);
+  __store_block((void *)(& q),8UL);
   __initialize((void *)p,sizeof(int));
   *p = 0;
   __initialize((void *)(p + 1),sizeof(int));
@@ -233,16 +113,16 @@ void g(int *p, int *q)
       int __e_acsl_valid_read_3;
       __e_acsl_valid_read_3 = __valid_read((void *)q,sizeof(int));
       e_acsl_assert(__e_acsl_valid_read_3,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(q)",34);
-      __store_block((void *)(& __e_acsl_at_3),4U);
+                    (char *)"mem_access: \\valid_read(q)",32);
+      __store_block((void *)(& __e_acsl_at_3),4UL);
       __e_acsl_at_3 = *q;
     }
     {
       int __e_acsl_valid_read;
       __e_acsl_valid_read = __valid_read((void *)q,sizeof(int));
       e_acsl_assert(__e_acsl_valid_read,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(q)",32);
-      __store_block((void *)(& __e_acsl_at),4U);
+                    (char *)"mem_access: \\valid_read(q)",30);
+      __store_block((void *)(& __e_acsl_at),4UL);
       __e_acsl_at = *q;
     }
     __initialize((void *)p,sizeof(int));
@@ -258,8 +138,8 @@ void g(int *p, int *q)
                                            sizeof(int));
       e_acsl_assert(__e_acsl_valid_read_2,(char *)"RTE",(char *)"g",
                     (char *)"mem_access: \\valid_read(p+(long)__e_acsl_at)",
-                    32);
-      __store_block((void *)(& __e_acsl_at_2),4U);
+                    30);
+      __store_block((void *)(& __e_acsl_at_2),4UL);
       __e_acsl_at_2 = *(p + (long)__e_acsl_at);
     }
     A = 4;
@@ -273,7 +153,7 @@ void g(int *p, int *q)
     __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 *)"g",
-                  (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",32);
+                  (char *)"\\at(*(p+\\at(*q,L1)),L2) == 2",30);
     __gmpz_clear(__e_acsl);
     __gmpz_clear(__e_acsl_2);
   }
@@ -288,7 +168,7 @@ void g(int *p, int *q)
       __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 *)"g",
-                    (char *)"\\at(*(p+\\at(*q,L1)),Here) == 2",34);
+                    (char *)"\\at(*(p+\\at(*q,L1)),Here) == 2",32);
       __gmpz_clear(__e_acsl_3);
       __gmpz_clear(__e_acsl_4);
     }
@@ -300,7 +180,7 @@ void g(int *p, int *q)
 /*@ ensures \result ≡ \old(x); */
 int h(int x)
 {
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(& x),4UL);
   __delete_block((void *)(& x));
   return x;
 }
@@ -310,9 +190,9 @@ int __e_acsl_h(int x)
 {
   int __e_acsl_at;
   int __retres;
-  __store_block((void *)(& __retres),4U);
-  __store_block((void *)(& x),4U);
-  __store_block((void *)(& __e_acsl_at),4U);
+  __store_block((void *)(& __retres),4UL);
+  __store_block((void *)(& x),4UL);
+  __store_block((void *)(& __e_acsl_at),4UL);
   __e_acsl_at = x;
   __retres = h(x);
   {
@@ -324,7 +204,7 @@ int __e_acsl_h(int x)
     __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 *)"h",
-                  (char *)"\\result == \\old(x)",40);
+                  (char *)"\\result == \\old(x)",38);
     __delete_block((void *)(& x));
     __gmpz_clear(__e_acsl_result);
     __gmpz_clear(__e_acsl);
@@ -341,12 +221,12 @@ int main(void)
   int __retres;
   int x;
   int t[2];
-  __store_block((void *)(t),8U);
-  __store_block((void *)(& x),4U);
+  __store_block((void *)(t),8UL);
+  __store_block((void *)(& x),4UL);
   __full_init((void *)(& x));
   x = __e_acsl_h(0);
   L:
-    __store_block((void *)(& __e_acsl_at_3),4U);
+    __store_block((void *)(& __e_acsl_at_3),4UL);
     __e_acsl_at_3 = x;
     {
       mpz_t __e_acsl_x_2;
@@ -362,7 +242,7 @@ int main(void)
       __gmpz_clear(__e_acsl_4);
       __gmpz_clear(__e_acsl_add);
     }
-    __store_block((void *)(& __e_acsl_at),4U);
+    __store_block((void *)(& __e_acsl_at),4UL);
     __e_acsl_at = x;
     /*@ assert x ≡ 0; */
     {
@@ -374,7 +254,7 @@ int main(void)
       __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 *)"main",
-                    (char *)"x == 0",48);
+                    (char *)"x == 0",46);
       __gmpz_clear(__e_acsl_x);
       __gmpz_clear(__e_acsl);
     }
@@ -393,7 +273,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"\\at(x,L) == 0",53);
+                  (char *)"\\at(x,L) == 0",51);
     __gmpz_clear(__e_acsl_2);
     __gmpz_clear(__e_acsl_3);
   }
@@ -405,7 +285,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"\\at(x+1,L) == 1",54);
+                  (char *)"\\at(x+1,L) == 1",52);
     __gmpz_clear(__e_acsl_5);
   }
   /*@ assert \at(x,L)+1 ≡ 1; */
@@ -422,7 +302,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"\\at(x,L)+1 == 1",55);
+                  (char *)"\\at(x,L)+1 == 1",53);
     __gmpz_clear(__e_acsl_6);
     __gmpz_clear(__e_acsl_7);
     __gmpz_clear(__e_acsl_add_2);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c
new file mode 100644
index 0000000000000000000000000000000000000000..e6fa77c2c370c09c068b313cc26aff58188ad277
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c
@@ -0,0 +1,34 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  long x;
+  int y;
+  x = (long)0;
+  y = 0;
+  /*@ assert (int)x ≡ y; */
+  e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"main",
+                (char *)"(int)x == y",10);
+  /*@ assert x ≡ (long)y; */
+  e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"main",
+                (char *)"x == (long)y",11);
+  /*@ assert y ≡ (int)0; */
+  e_acsl_assert(y == 0,(char *)"Assertion",(char *)"main",
+                (char *)"y == (int)0",13);
+  /*@ assert (unsigned int)y ≡ (unsigned int)0; */
+  e_acsl_assert((unsigned int)y == (unsigned int)0,(char *)"Assertion",
+                (char *)"main",(char *)"(unsigned int)y == (unsigned int)0",
+                14);
+  /*@ assert y ≢ (int)0xfffffffffffffff; */
+  e_acsl_assert(y != (int)0xfffffffffffffff,(char *)"Assertion",
+                (char *)"main",(char *)"y != (int)0xfffffffffffffff",17);
+  /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */
+  e_acsl_assert((unsigned int)y != (unsigned int)0xfffffffffffffff,
+                (char *)"Assertion",(char *)"main",
+                (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
+                18);
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c
new file mode 100644
index 0000000000000000000000000000000000000000..06906262617c32c349a34a43c24f5d4276a465ea
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c
@@ -0,0 +1,99 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  long x;
+  int y;
+  x = (long)0;
+  y = 0;
+  /*@ assert (int)x ≡ y; */
+  {
+    mpz_t __e_acsl_cast;
+    mpz_t __e_acsl_y;
+    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((__mpz_struct const *)(__e_acsl_cast),
+                             (__mpz_struct const *)(__e_acsl_y));
+    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"(int)x == y",10);
+    __gmpz_clear(__e_acsl_cast);
+    __gmpz_clear(__e_acsl_y);
+  }
+  /*@ assert x ≡ (long)y; */
+  {
+    mpz_t __e_acsl_x;
+    mpz_t __e_acsl_cast_2;
+    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((__mpz_struct const *)(__e_acsl_x),
+                               (__mpz_struct const *)(__e_acsl_cast_2));
+    e_acsl_assert(__e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"x == (long)y",11);
+    __gmpz_clear(__e_acsl_x);
+    __gmpz_clear(__e_acsl_cast_2);
+  }
+  /*@ assert y ≡ (int)0; */
+  {
+    mpz_t __e_acsl_y_2;
+    mpz_t __e_acsl_cast_3;
+    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((__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 *)"main",
+                  (char *)"y == (int)0",13);
+    __gmpz_clear(__e_acsl_y_2);
+    __gmpz_clear(__e_acsl_cast_3);
+  }
+  /*@ assert (unsigned int)y ≡ (unsigned int)0; */
+  {
+    mpz_t __e_acsl_cast_4;
+    mpz_t __e_acsl_cast_5;
+    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((__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 *)"main",
+                  (char *)"(unsigned int)y == (unsigned int)0",14);
+    __gmpz_clear(__e_acsl_cast_4);
+    __gmpz_clear(__e_acsl_cast_5);
+  }
+  /*@ assert y ≢ (int)0xfffffffffffffff; */
+  {
+    mpz_t __e_acsl_y_3;
+    mpz_t __e_acsl_cast_6;
+    int __e_acsl_ne;
+    __gmpz_init_set_si(__e_acsl_y_3,(long)y);
+    __gmpz_init_set_si(__e_acsl_cast_6,(long)((int)0xfffffffffffffff));
+    __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 *)"main",
+                  (char *)"y != (int)0xfffffffffffffff",17);
+    __gmpz_clear(__e_acsl_y_3);
+    __gmpz_clear(__e_acsl_cast_6);
+  }
+  /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */
+  {
+    mpz_t __e_acsl_cast_7;
+    mpz_t __e_acsl_cast_8;
+    int __e_acsl_ne_2;
+    __gmpz_init_set_ui(__e_acsl_cast_7,(unsigned long)((unsigned int)y));
+    __gmpz_init_set_ui(__e_acsl_cast_8,
+                       (unsigned long)((unsigned int)0xfffffffffffffff));
+    __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 *)"main",
+                  (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
+                  18);
+    __gmpz_clear(__e_acsl_cast_7);
+    __gmpz_clear(__e_acsl_cast_8);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison.c
similarity index 52%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_comparison.c
index 3c38363e2138b328ca217fce8322bf5eab60bcc3..7ec70c2886715e9a042a31b38722b5cc9eef7d43 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -48,55 +8,54 @@ int main(void)
   x = 0;
   y = 1;
   /*@ assert x < y; */
-  e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",9);
+  e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",7);
   /*@ assert y > x; */
-  e_acsl_assert(y > x,(char *)"Assertion",(char *)"main",(char *)"y > x",10);
+  e_acsl_assert(y > x,(char *)"Assertion",(char *)"main",(char *)"y > x",8);
   /*@ assert x ≤ 0; */
-  e_acsl_assert(x <= 0,(char *)"Assertion",(char *)"main",(char *)"x <= 0",
-                11);
+  e_acsl_assert(x <= 0,(char *)"Assertion",(char *)"main",(char *)"x <= 0",9);
   /*@ assert y ≥ 1; */
   e_acsl_assert(y >= 1,(char *)"Assertion",(char *)"main",(char *)"y >= 1",
-                12);
+                10);
   s = (char *)"toto";
   /*@ assert s ≡ s; */
   e_acsl_assert(s == s,(char *)"Assertion",(char *)"main",(char *)"s == s",
-                14);
+                12);
   /*@ assert 5 < 18; */
   e_acsl_assert(5 < 18,(char *)"Assertion",(char *)"main",(char *)"5 < 18",
-                17);
+                15);
   /*@ assert 32 > 3; */
   e_acsl_assert(32 > 3,(char *)"Assertion",(char *)"main",(char *)"32 > 3",
-                18);
+                16);
   /*@ assert 12 ≤ 13; */
   e_acsl_assert(12 <= 13,(char *)"Assertion",(char *)"main",
-                (char *)"12 <= 13",19);
+                (char *)"12 <= 13",17);
   /*@ assert 123 ≥ 12; */
   e_acsl_assert(123 >= 12,(char *)"Assertion",(char *)"main",
-                (char *)"123 >= 12",20);
+                (char *)"123 >= 12",18);
   /*@ assert 0xff ≡ 0xff; */
   e_acsl_assert(0xff == 0xff,(char *)"Assertion",(char *)"main",
-                (char *)"0xff == 0xff",21);
+                (char *)"0xff == 0xff",19);
   /*@ assert 1 ≢ 2; */
   e_acsl_assert(1 != 2,(char *)"Assertion",(char *)"main",(char *)"1 != 2",
-                22);
+                20);
   /*@ assert -5 < 18; */
   e_acsl_assert(-5 < 18,(char *)"Assertion",(char *)"main",(char *)"-5 < 18",
-                24);
+                22);
   /*@ assert 32 > -3; */
   e_acsl_assert(32 > -3,(char *)"Assertion",(char *)"main",(char *)"32 > -3",
-                25);
+                23);
   /*@ assert -12 ≤ 13; */
   e_acsl_assert(-12 <= 13,(char *)"Assertion",(char *)"main",
-                (char *)"-12 <= 13",26);
+                (char *)"-12 <= 13",24);
   /*@ assert 123 ≥ -12; */
   e_acsl_assert(123 >= -12,(char *)"Assertion",(char *)"main",
-                (char *)"123 >= -12",27);
+                (char *)"123 >= -12",25);
   /*@ assert -0xff ≡ -0xff; */
   e_acsl_assert(-0xff == -0xff,(char *)"Assertion",(char *)"main",
-                (char *)"-0xff == -0xff",28);
+                (char *)"-0xff == -0xff",26);
   /*@ assert 1 ≢ -2; */
   e_acsl_assert(1 != -2,(char *)"Assertion",(char *)"main",(char *)"1 != -2",
-                29);
+                27);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c
similarity index 72%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c
index 989147977bb5ea21f092ec7fbab9ee273357ab3a..9a899138845131b8ff1b2327ee0d0f857576a881 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c
@@ -1,83 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    assigns *z1;
-    assigns *z1 \from *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_neg(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -96,7 +17,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x < y",9);
+                  (char *)"x < y",7);
     __gmpz_clear(__e_acsl_x);
     __gmpz_clear(__e_acsl_y);
   }
@@ -110,7 +31,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"y > x",10);
+                  (char *)"y > x",8);
     __gmpz_clear(__e_acsl_y_2);
     __gmpz_clear(__e_acsl_x_2);
   }
@@ -124,7 +45,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"x <= 0",11);
+                  (char *)"x <= 0",9);
     __gmpz_clear(__e_acsl_x_3);
     __gmpz_clear(__e_acsl);
   }
@@ -138,14 +59,14 @@ int main(void)
     __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 *)"main",
-                  (char *)"y >= 1",12);
+                  (char *)"y >= 1",10);
     __gmpz_clear(__e_acsl_y_3);
     __gmpz_clear(__e_acsl_2);
   }
   s = (char *)"toto";
   /*@ assert s ≡ s; */
   e_acsl_assert(s == s,(char *)"Assertion",(char *)"main",(char *)"s == s",
-                14);
+                12);
   /*@ assert 5 < 18; */
   {
     mpz_t __e_acsl_3;
@@ -156,7 +77,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"5 < 18",17);
+                  (char *)"5 < 18",15);
     __gmpz_clear(__e_acsl_3);
     __gmpz_clear(__e_acsl_4);
   }
@@ -170,7 +91,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"32 > 3",18);
+                  (char *)"32 > 3",16);
     __gmpz_clear(__e_acsl_5);
     __gmpz_clear(__e_acsl_6);
   }
@@ -184,7 +105,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"12 <= 13",19);
+                  (char *)"12 <= 13",17);
     __gmpz_clear(__e_acsl_7);
     __gmpz_clear(__e_acsl_8);
   }
@@ -198,7 +119,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"123 >= 12",20);
+                  (char *)"123 >= 12",18);
     __gmpz_clear(__e_acsl_9);
     __gmpz_clear(__e_acsl_10);
   }
@@ -210,7 +131,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"0xff == 0xff",21);
+                  (char *)"0xff == 0xff",19);
     __gmpz_clear(__e_acsl_11);
   }
   /*@ assert 1 ≢ 2; */
@@ -223,7 +144,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"1 != 2",22);
+                  (char *)"1 != 2",20);
     __gmpz_clear(__e_acsl_12);
     __gmpz_clear(__e_acsl_13);
   }
@@ -240,7 +161,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"-5 < 18",24);
+                  (char *)"-5 < 18",22);
     __gmpz_clear(__e_acsl_14);
     __gmpz_clear(__e_acsl_neg);
     __gmpz_clear(__e_acsl_15);
@@ -258,7 +179,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"32 > -3",25);
+                  (char *)"32 > -3",23);
     __gmpz_clear(__e_acsl_16);
     __gmpz_clear(__e_acsl_17);
     __gmpz_clear(__e_acsl_neg_2);
@@ -276,7 +197,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"-12 <= 13",26);
+                  (char *)"-12 <= 13",24);
     __gmpz_clear(__e_acsl_18);
     __gmpz_clear(__e_acsl_neg_3);
     __gmpz_clear(__e_acsl_19);
@@ -294,7 +215,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"123 >= -12",27);
+                  (char *)"123 >= -12",25);
     __gmpz_clear(__e_acsl_20);
     __gmpz_clear(__e_acsl_21);
     __gmpz_clear(__e_acsl_neg_4);
@@ -310,7 +231,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"-0xff == -0xff",28);
+                  (char *)"-0xff == -0xff",26);
     __gmpz_clear(__e_acsl_22);
     __gmpz_clear(__e_acsl_neg_5);
   }
@@ -327,7 +248,7 @@ int main(void)
     __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 *)"main",
-                  (char *)"1 != -2",29);
+                  (char *)"1 != -2",27);
     __gmpz_clear(__e_acsl_23);
     __gmpz_clear(__e_acsl_24);
     __gmpz_clear(__e_acsl_neg_6);
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant.c
new file mode 100644
index 0000000000000000000000000000000000000000..6d2f41ed3a8ba6b24f617f74f790f81e8f2a3524
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant.c
@@ -0,0 +1,36 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  int x;
+  /*@ assert 0 ≡ 0; */
+  e_acsl_assert(0 == 0,(char *)"Assertion",(char *)"main",(char *)"0 == 0",6);
+  x = 0;
+  x ++;
+  /*@ assert 0 ≢ 1; */
+  e_acsl_assert(0 != 1,(char *)"Assertion",(char *)"main",(char *)"0 != 1",8);
+  /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */
+  e_acsl_assert(1152921504606846975 == 0xfffffffffffffff,(char *)"Assertion",
+                (char *)"main",
+                (char *)"1152921504606846975 == 0xfffffffffffffff",9);
+  /*@ assert
+      0xffffffffffffffffffffffffffffffff ≡
+      0xffffffffffffffffffffffffffffffff;
+  */
+  {
+    mpz_t __e_acsl;
+    int __e_acsl_eq;
+    __gmpz_init_set_str(__e_acsl,"340282366920938463463374607431768211455",
+                        10);
+    __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 *)"main",
+                  (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
+                  11);
+    __gmpz_clear(__e_acsl);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c
new file mode 100644
index 0000000000000000000000000000000000000000..f2b66a870c7764902e2c5bb258c9fdac9b2194f3
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c
@@ -0,0 +1,64 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  int x;
+  /*@ assert 0 ≡ 0; */
+  {
+    mpz_t __e_acsl;
+    int __e_acsl_eq;
+    __gmpz_init_set_si(__e_acsl,(long)0);
+    __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 *)"main",
+                  (char *)"0 == 0",6);
+    __gmpz_clear(__e_acsl);
+  }
+  x = 0;
+  x ++;
+  /*@ assert 0 ≢ 1; */
+  {
+    mpz_t __e_acsl_2;
+    mpz_t __e_acsl_3;
+    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((__mpz_struct const *)(__e_acsl_2),
+                             (__mpz_struct const *)(__e_acsl_3));
+    e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
+                  (char *)"0 != 1",8);
+    __gmpz_clear(__e_acsl_2);
+    __gmpz_clear(__e_acsl_3);
+  }
+  /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */
+  {
+    mpz_t __e_acsl_4;
+    int __e_acsl_eq_2;
+    __gmpz_init_set_ui(__e_acsl_4,1152921504606846975);
+    __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 *)"main",
+                  (char *)"1152921504606846975 == 0xfffffffffffffff",9);
+    __gmpz_clear(__e_acsl_4);
+  }
+  /*@ assert
+      0xffffffffffffffffffffffffffffffff ≡
+      0xffffffffffffffffffffffffffffffff;
+  */
+  {
+    mpz_t __e_acsl_5;
+    int __e_acsl_eq_3;
+    __gmpz_init_set_str(__e_acsl_5,"340282366920938463463374607431768211455",
+                        10);
+    __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 *)"main",
+                  (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
+                  11);
+    __gmpz_clear(__e_acsl_5);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c
new file mode 100644
index 0000000000000000000000000000000000000000..bb5ed7df50b1de8c0212c810007bf57fadddf0bc
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c
@@ -0,0 +1,80 @@
+/* Generated by Frama-C */
+unsigned long long my_pow(unsigned int x, unsigned int n)
+{
+  unsigned long long __retres;
+  int tmp;
+  unsigned long long tmp_0;
+  if (n <= (unsigned int)1) {
+    __retres = (unsigned long long)1;
+    goto return_label;
+  }
+  { /* sequence */
+    tmp_0 = my_pow(x,n / (unsigned int)2);
+    tmp = (int)tmp_0;
+  }
+  /*@ assert Value: signed_overflow: -2147483648 ≤ tmp*tmp; */
+  /*@ assert Value: signed_overflow: tmp*tmp ≤ 2147483647; */
+  tmp *= tmp;
+  if (n % (unsigned int)2 == (unsigned int)0) {
+    __retres = (unsigned long long)tmp;
+    goto return_label;
+  }
+  __retres = (unsigned long long)(x * (unsigned int)tmp);
+  return_label: return __retres;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned long long x;
+  x = my_pow((unsigned int)2,(unsigned int)63);
+  /*@ assert (2*x+1)%2 ≡ 1; */
+  {
+    mpz_t __e_acsl;
+    mpz_t __e_acsl_x;
+    mpz_t __e_acsl_mul;
+    mpz_t __e_acsl_2;
+    mpz_t __e_acsl_add;
+    mpz_t __e_acsl_3;
+    int __e_acsl_mod_guard;
+    mpz_t __e_acsl_mod;
+    unsigned long __e_acsl_4;
+    __gmpz_init_set_si(__e_acsl,(long)2);
+    __gmpz_init(__e_acsl_x);
+    __gmpz_import(__e_acsl_x,1UL,1,8UL,0,0UL,(void const *)(& x));
+    __gmpz_init(__e_acsl_mul);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl),
+               (__mpz_struct const *)(__e_acsl_x));
+    __gmpz_init_set_si(__e_acsl_2,(long)1);
+    __gmpz_init(__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_mul),
+               (__mpz_struct const *)(__e_acsl_2));
+    __gmpz_init_set_si(__e_acsl_3,0L);
+    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                    (__mpz_struct const *)(__e_acsl_3));
+    __gmpz_init(__e_acsl_mod);
+    /*@ assert E_ACSL: 2 ≢ 0; */
+    e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
+                  (char *)"main",(char *)"2 == 0",17);
+    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_add),
+                  (__mpz_struct const *)(__e_acsl));
+    __e_acsl_4 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_mod));
+    /*@ assert
+        Value: ptr_comparison:
+          \pointer_comparable((void *)__e_acsl_4, (void *)1);
+    */
+    e_acsl_assert(__e_acsl_4 == 1,(char *)"Assertion",(char *)"main",
+                  (char *)"(2*x+1)%2 == 1",17);
+    __gmpz_clear(__e_acsl);
+    __gmpz_clear(__e_acsl_x);
+    __gmpz_clear(__e_acsl_mul);
+    __gmpz_clear(__e_acsl_2);
+    __gmpz_clear(__e_acsl_add);
+    __gmpz_clear(__e_acsl_3);
+    __gmpz_clear(__e_acsl_mod);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c
new file mode 100644
index 0000000000000000000000000000000000000000..d802c69cd962ba894b7a7daf04095e3e6b47e7e9
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c
@@ -0,0 +1,81 @@
+/* Generated by Frama-C */
+unsigned long long my_pow(unsigned int x, unsigned int n)
+{
+  unsigned long long __retres;
+  int tmp;
+  unsigned long long tmp_0;
+  if (n <= (unsigned int)1) {
+    __retres = (unsigned long long)1;
+    goto return_label;
+  }
+  { /* sequence */
+    tmp_0 = my_pow(x,n / (unsigned int)2);
+    tmp = (int)tmp_0;
+  }
+  /*@ assert Value: signed_overflow: -2147483648 ≤ tmp*tmp; */
+  /*@ assert Value: signed_overflow: tmp*tmp ≤ 2147483647; */
+  tmp *= tmp;
+  if (n % (unsigned int)2 == (unsigned int)0) {
+    __retres = (unsigned long long)tmp;
+    goto return_label;
+  }
+  __retres = (unsigned long long)(x * (unsigned int)tmp);
+  return_label: return __retres;
+}
+
+int main(void)
+{
+  int __retres;
+  unsigned long long x;
+  x = my_pow((unsigned int)2,(unsigned int)63);
+  /*@ assert (2*x+1)%2 ≡ 1; */
+  {
+    mpz_t __e_acsl;
+    mpz_t __e_acsl_x;
+    mpz_t __e_acsl_mul;
+    mpz_t __e_acsl_2;
+    mpz_t __e_acsl_add;
+    mpz_t __e_acsl_3;
+    int __e_acsl_mod_guard;
+    mpz_t __e_acsl_mod;
+    int __e_acsl_eq;
+    __gmpz_init_set_si(__e_acsl,(long)2);
+    __gmpz_init(__e_acsl_x);
+    __gmpz_import(__e_acsl_x,1UL,1,8UL,0,0UL,(void const *)(& x));
+    __gmpz_init(__e_acsl_mul);
+    __gmpz_mul(__e_acsl_mul,(__mpz_struct const *)(__e_acsl),
+               (__mpz_struct const *)(__e_acsl_x));
+    __gmpz_init_set_si(__e_acsl_2,(long)1);
+    __gmpz_init(__e_acsl_add);
+    __gmpz_add(__e_acsl_add,(__mpz_struct const *)(__e_acsl_mul),
+               (__mpz_struct const *)(__e_acsl_2));
+    __gmpz_init_set_si(__e_acsl_3,0L);
+    __e_acsl_mod_guard = __gmpz_cmp((__mpz_struct const *)(__e_acsl),
+                                    (__mpz_struct const *)(__e_acsl_3));
+    __gmpz_init(__e_acsl_mod);
+    /*@ assert E_ACSL: 2 ≢ 0; */
+    e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
+                  (char *)"main",(char *)"2 == 0",17);
+    __gmpz_tdiv_r(__e_acsl_mod,(__mpz_struct const *)(__e_acsl_add),
+                  (__mpz_struct const *)(__e_acsl));
+    __e_acsl_eq = __gmpz_cmp((__mpz_struct const *)(__e_acsl_mod),
+                             (__mpz_struct const *)(__e_acsl_2));
+    /*@ assert
+        Value: ptr_comparison:
+          \pointer_comparable((void *)__e_acsl_eq, (void *)0);
+    */
+    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"(2*x+1)%2 == 1",17);
+    __gmpz_clear(__e_acsl);
+    __gmpz_clear(__e_acsl_x);
+    __gmpz_clear(__e_acsl_mul);
+    __gmpz_clear(__e_acsl_2);
+    __gmpz_clear(__e_acsl_add);
+    __gmpz_clear(__e_acsl_3);
+    __gmpz_clear(__e_acsl_mod);
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_not.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_not.c
new file mode 100644
index 0000000000000000000000000000000000000000..2edb5b20daf45f3570c94ee5da2cb14f7d8cd6ff
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_not.c
@@ -0,0 +1,17 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  int x;
+  x = 0;
+  /*@ assert x ≡ 0; */
+  e_acsl_assert(x == 0,(char *)"Assertion",(char *)"main",(char *)"x == 0",6);
+  if (x) 
+    /*@ assert x ≢ 0; */
+    e_acsl_assert(x != 0,(char *)"Assertion",(char *)"main",(char *)"x != 0",
+                  7);
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c
new file mode 100644
index 0000000000000000000000000000000000000000..6cb82de24738aab6174b7d8c9afcd5c5c1e6d010
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c
@@ -0,0 +1,41 @@
+/* Generated by Frama-C */
+int main(void)
+{
+  int __retres;
+  int x;
+  x = 0;
+  /*@ assert x ≡ 0; */
+  {
+    mpz_t __e_acsl_x;
+    mpz_t __e_acsl;
+    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((__mpz_struct const *)(__e_acsl_x),
+                             (__mpz_struct const *)(__e_acsl));
+    e_acsl_assert(__e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
+                  (char *)"x == 0",6);
+    __gmpz_clear(__e_acsl_x);
+    __gmpz_clear(__e_acsl);
+  }
+  if (x) {
+    /*@ assert x ≢ 0; */
+    {
+      mpz_t __e_acsl_x_2;
+      mpz_t __e_acsl_2;
+      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((__mpz_struct const *)(__e_acsl_x_2),
+                               (__mpz_struct const *)(__e_acsl_2));
+      e_acsl_assert(__e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
+                    (char *)"x != 0",7);
+      __gmpz_clear(__e_acsl_x_2);
+      __gmpz_clear(__e_acsl_2);
+    }
+  }
+  __retres = 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif.c
similarity index 79%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_quantif.c
index b3e10d11118ae131a3f74767740287d909bb70db..ec48f293b5a7ec7beb34bdb11f378f44ebc28d65 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif.c
@@ -1,44 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -65,7 +25,7 @@ int main(void)
     e_acsl_end_loop1: ;
     e_acsl_assert(__e_acsl_forall,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1",
-                  11);
+                  9);
   }
   /*@ assert ∀ ℤ x; 0 < x ≤ 1 ⇒ x ≡ 1; */
   {
@@ -84,7 +44,7 @@ int main(void)
     }
     e_acsl_end_loop2: ;
     e_acsl_assert(__e_acsl_forall_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",12);
+                  (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",10);
   }
   /*@ assert ∀ ℤ x; 0 < x < 1 ⇒ \false; */
   {
@@ -103,7 +63,7 @@ int main(void)
     }
     e_acsl_end_loop3: ;
     e_acsl_assert(__e_acsl_forall_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 < x < 1 ==> \\false",13);
+                  (char *)"\\forall integer x; 0 < x < 1 ==> \\false",11);
   }
   /*@ assert ∀ ℤ x; 0 ≤ x < 1 ⇒ x ≡ 0; */
   {
@@ -122,7 +82,7 @@ int main(void)
     }
     e_acsl_end_loop4: ;
     e_acsl_assert(__e_acsl_forall_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",14);
+                  (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",12);
   }
   /*@ assert
       ∀ ℤ x, ℤ y, ℤ z;
@@ -157,7 +117,7 @@ int main(void)
     e_acsl_end_loop5: ;
     e_acsl_assert(__e_acsl_forall_5,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall integer x, integer y, integer z;\n  0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x+z <= y+1",
-                  18);
+                  16);
   }
   /*@ assert ∃ int x; 0 ≤ x < 10 ∧ x ≡ 5; */
   {
@@ -176,7 +136,7 @@ int main(void)
     }
     e_acsl_end_loop6: ;
     e_acsl_assert(__e_acsl_exists,(char *)"Assertion",(char *)"main",
-                  (char *)"\\exists int x; 0 <= x < 10 && x == 5",23);
+                  (char *)"\\exists int x; 0 <= x < 10 && x == 5",21);
   }
   /*@ assert
       ∀ int x;
@@ -221,7 +181,7 @@ int main(void)
     e_acsl_end_loop8: ;
     e_acsl_assert(__e_acsl_forall_6,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall int x;\n  0 <= x < 10 ==> x%2 == 0 ==> (\\exists integer y; 0 <= y <= x/2 && x == 2*y)",
-                  27);
+                  25);
   }
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c
similarity index 81%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
rename to src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c
index b026674235d0f9833ea4317c2935bdae90101cc2..13501b809ce76819f4eadbb3851bd0f32f37fce3 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c
+++ b/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c
@@ -1,123 +1,4 @@
 /* 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;
-/*@ requires predicate ≢ 0;
-    assigns \nothing; */
-extern  __attribute__((__FC_BUILTIN__)) void e_acsl_assert(int predicate,
-                                                           char *kind,
-                                                           char *fct,
-                                                           char *pred_txt,
-                                                           int line);
-
-/*@
-model __mpz_struct { ℤ n };
-*/
-int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
-unsigned long const __fc_rand_max = (unsigned long)32767;
-/*@ ghost extern int __fc_heap_status __attribute__((__FRAMA_C_MODEL__)); */
-
-/*@
-axiomatic dynamic_allocation {
-  predicate is_allocable{L}(size_t n) 
-    reads __fc_heap_status;
-  
-  }
- */
-/*@ ghost extern int __e_acsl_init; */
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    assigns *z;
-    assigns *z \from __e_acsl_init;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z);
-
-/*@ requires ¬\initialized(z);
-    ensures \valid(\old(z));
-    ensures \initialized(\old(z));
-    assigns *z;
-    assigns *z \from n;
-    allocates \old(z);
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z,
-                                                                long n);
-
-/*@ requires \valid_read(z_orig);
-    requires \valid(z);
-    assigns *z;
-    assigns *z \from *z_orig;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z,
-                                                        __mpz_struct const * /*[1]*/ z_orig);
-
-/*@ requires \valid(x);
-    assigns *x;
-    assigns *x \from *x; */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x);
-
-/*@ requires \valid_read(z1);
-    requires \valid_read(z2);
-    assigns \result;
-    assigns \result \from *z1, *z2;
- */
-extern  __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1,
-                                                       __mpz_struct const * /*[1]*/ z2);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z1,
-                                                        __mpz_struct const * /*[1]*/ z2,
-                                                        __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ requires \valid(z1);
-    requires \valid_read(z2);
-    requires \valid_read(z3);
-    assigns *z1;
-    assigns *z1 \from *z2, *z3;
- */
-extern  __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1,
-                                                           __mpz_struct const * /*[1]*/ z2,
-                                                           __mpz_struct const * /*[1]*/ z3);
-
-/*@ ghost extern int __e_acsl_internal_heap; */
-
-extern size_t __memory_size;
-
-/*@
-predicate diffSize{L1, L2}(ℤ i) =
-  \at(__memory_size,L1)-\at(__memory_size,L2) ≡ i;
- */
 int main(void)
 {
   int __retres;
@@ -182,7 +63,7 @@ int main(void)
     e_acsl_end_loop1: ;
     e_acsl_assert(__e_acsl_forall,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1",
-                  11);
+                  9);
     __gmpz_clear(__e_acsl_x);
   }
   /*@ assert ∀ ℤ x; 0 < x ≤ 1 ⇒ x ≡ 1; */
@@ -242,7 +123,7 @@ int main(void)
     }
     e_acsl_end_loop2: ;
     e_acsl_assert(__e_acsl_forall_2,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",12);
+                  (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",10);
     __gmpz_clear(__e_acsl_x_2);
   }
   /*@ assert ∀ ℤ x; 0 < x < 1 ⇒ \false; */
@@ -294,7 +175,7 @@ int main(void)
     }
     e_acsl_end_loop3: ;
     e_acsl_assert(__e_acsl_forall_3,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 < x < 1 ==> \\false",13);
+                  (char *)"\\forall integer x; 0 < x < 1 ==> \\false",11);
     __gmpz_clear(__e_acsl_x_3);
   }
   /*@ assert ∀ ℤ x; 0 ≤ x < 1 ⇒ x ≡ 0; */
@@ -346,7 +227,7 @@ int main(void)
     }
     e_acsl_end_loop4: ;
     e_acsl_assert(__e_acsl_forall_4,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",14);
+                  (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",12);
     __gmpz_clear(__e_acsl_x_4);
   }
   /*@ assert
@@ -469,7 +350,7 @@ int main(void)
     e_acsl_end_loop5: ;
     e_acsl_assert(__e_acsl_forall_5,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall integer x, integer y, integer z;\n  0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x+z <= y+1",
-                  18);
+                  16);
     __gmpz_clear(__e_acsl_x_5);
     __gmpz_clear(__e_acsl_y);
     __gmpz_clear(__e_acsl_z);
@@ -523,7 +404,7 @@ int main(void)
     }
     e_acsl_end_loop6: ;
     e_acsl_assert(__e_acsl_exists,(char *)"Assertion",(char *)"main",
-                  (char *)"\\exists int x; 0 <= x < 10 && x == 5",23);
+                  (char *)"\\exists int x; 0 <= x < 10 && x == 5",21);
     __gmpz_clear(__e_acsl_x_6);
   }
   /*@ assert
@@ -566,7 +447,7 @@ int main(void)
         __gmpz_init(__e_acsl_mod);
         /*@ assert E_ACSL: 2 ≢ 0; */
         e_acsl_assert(! (__e_acsl_mod_guard == 0),(char *)"Assertion",
-                      (char *)"main",(char *)"2 == 0",28);
+                      (char *)"main",(char *)"2 == 0",26);
         __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),
@@ -597,7 +478,7 @@ int main(void)
               __gmpz_init(__e_acsl_div);
               /*@ assert E_ACSL: 2 ≢ 0; */
               e_acsl_assert(! (__e_acsl_div_guard == 0),(char *)"Assertion",
-                            (char *)"main",(char *)"2 == 0",28);
+                            (char *)"main",(char *)"2 == 0",26);
               __gmpz_tdiv_q(__e_acsl_div,
                             (__mpz_struct const *)(__e_acsl_x_7),
                             (__mpz_struct const *)(__e_acsl_36));
@@ -668,7 +549,7 @@ int main(void)
     e_acsl_end_loop8: ;
     e_acsl_assert(__e_acsl_forall_6,(char *)"Assertion",(char *)"main",
                   (char *)"\\forall int x;\n  0 <= x < 10 ==> x%2 == 0 ==> (\\exists integer y; 0 <= y <= x/2 && x == 2*y)",
-                  27);
+                  25);
     __gmpz_clear(__e_acsl_x_7);
   }
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle
similarity index 93%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle
index dd977035dae231f610550b119b68930e04bdab24..c0fcf39271fdef899d36dfcdab248aac26afa47d 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle
@@ -15,5 +15,6 @@
 [value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] using specification for function __gmpz_clear
+[value] using specification for function __gmpz_init_set_ui
 [value] using specification for function __gmpz_init_set_str
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/longlong.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle
similarity index 77%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle
index 05f59d98e5e0b32f63057a2314f237804f7c5d52..2df465e42e2e2d1891a513ebb2dade4088a10d37 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.0.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle
@@ -10,14 +10,14 @@
   __e_acsl_init ∈ [--..--]
   __e_acsl_internal_heap ∈ [--..--]
   __memory_size ∈ [--..--]
-tests/e-acsl-runtime/longlong.i:11:[value] warning: recursive call during value analysis
-                 of my_pow (my_pow <- my_pow :: tests/e-acsl-runtime/longlong.i:18 <- main).
+tests/gmp/longlong.i:9:[value] warning: recursive call during value analysis
+                 of my_pow (my_pow <- my_pow :: tests/gmp/longlong.i:16 <- main).
                  Using specification of my_pow.
 [value] user error: Recursive call on an unspecified function. Using potentially invalid
                     inferred assigns 'assigns \result \from x, n;'
 [value] using specification for function my_pow
-tests/e-acsl-runtime/longlong.i:12:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp*tmp;
-tests/e-acsl-runtime/longlong.i:12:[kernel] warning: signed overflow. assert tmp*tmp ≤ 2147483647;
+tests/gmp/longlong.i:10:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp*tmp;
+tests/gmp/longlong.i:10:[kernel] warning: signed overflow. assert tmp*tmp ≤ 2147483647;
 [value] using specification for function __gmpz_init_set_si
 [value] using specification for function __gmpz_init
 [value] using specification for function __gmpz_import
@@ -29,7 +29,7 @@ FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:82:[value] warning: function __gmpz_import: pre
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] using specification for function __gmpz_tdiv_r
 [value] using specification for function __gmpz_get_ui
-tests/e-acsl-runtime/longlong.i:19:[kernel] warning: pointer comparison.
+tests/gmp/longlong.i:17:[kernel] warning: pointer comparison.
                   assert \pointer_comparable((void *)__e_acsl_4, (void *)1);
 [value] using specification for function __gmpz_clear
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/longlong.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle
similarity index 76%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle
index 382e1ff4d9982a73481965743000bb0828c5a82b..191f28428986a29981d28d41fd18a352c0150a28 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/longlong.1.res.oracle
+++ b/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle
@@ -10,14 +10,14 @@
   __e_acsl_init ∈ [--..--]
   __e_acsl_internal_heap ∈ [--..--]
   __memory_size ∈ [--..--]
-tests/e-acsl-runtime/longlong.i:11:[value] warning: recursive call during value analysis
-                 of my_pow (my_pow <- my_pow :: tests/e-acsl-runtime/longlong.i:18 <- main).
+tests/gmp/longlong.i:9:[value] warning: recursive call during value analysis
+                 of my_pow (my_pow <- my_pow :: tests/gmp/longlong.i:16 <- main).
                  Using specification of my_pow.
 [value] user error: Recursive call on an unspecified function. Using potentially invalid
                     inferred assigns 'assigns \result \from x, n;'
 [value] using specification for function my_pow
-tests/e-acsl-runtime/longlong.i:12:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp*tmp;
-tests/e-acsl-runtime/longlong.i:12:[kernel] warning: signed overflow. assert tmp*tmp ≤ 2147483647;
+tests/gmp/longlong.i:10:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp*tmp;
+tests/gmp/longlong.i:10:[kernel] warning: signed overflow. assert tmp*tmp ≤ 2147483647;
 [value] using specification for function __gmpz_init_set_si
 [value] using specification for function __gmpz_init
 [value] using specification for function __gmpz_import
@@ -28,7 +28,7 @@ FRAMAC_SHARE/e-acsl/e_acsl_gmp.h:82:[value] warning: function __gmpz_import: pre
 [value] using specification for function e_acsl_assert
 FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
 [value] using specification for function __gmpz_tdiv_r
-tests/e-acsl-runtime/longlong.i:19:[kernel] warning: pointer comparison.
+tests/gmp/longlong.i:17:[kernel] warning: pointer comparison.
                   assert \pointer_comparable((void *)__e_acsl_eq, (void *)0);
 [value] using specification for function __gmpz_clear
 [value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/not.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.0.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.0.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/not.0.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/not.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.1.res.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/not.1.res.oracle
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.0.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/quantif.0.err.oracle
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..2340b024720e09ebddb01c57525579a6d1c14884
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle
@@ -0,0 +1,30 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+[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 ∈ {32767}
+  __fc_heap_status ∈ [--..--]
+  __e_acsl_init ∈ [--..--]
+  __e_acsl_internal_heap ∈ [--..--]
+  __memory_size ∈ [--..--]
+tests/gmp/quantif.i:9:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:9:[value] entering loop for the first time
+[value] using specification for function e_acsl_assert
+tests/gmp/quantif.i:10:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:10:[value] entering loop for the first time
+tests/gmp/quantif.i:11:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:11:[value] entering loop for the first time
+tests/gmp/quantif.i:12:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:12:[value] entering loop for the first time
+tests/gmp/quantif.i:16:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:16:[value] entering loop for the first time
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/gmp/quantif.i:21:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:21:[value] entering loop for the first time
+tests/gmp/quantif.i:25:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:25:[value] entering loop for the first time
+tests/gmp/quantif.i:26:[value] entering loop for the first time
+[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.err.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.err.oracle
rename to src/plugins/e-acsl/tests/gmp/oracle/quantif.1.err.oracle
diff --git a/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..c0efb2c290dd8b43e2e904433be4e5d461c33a5b
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle
@@ -0,0 +1,39 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".
+[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 ∈ {32767}
+  __fc_heap_status ∈ [--..--]
+  __e_acsl_init ∈ [--..--]
+  __e_acsl_internal_heap ∈ [--..--]
+  __memory_size ∈ [--..--]
+tests/gmp/quantif.i:9:[value] warning: assertion got status unknown.
+[value] using specification for function __gmpz_init
+[value] using specification for function __gmpz_init_set_si
+[value] using specification for function __gmpz_set
+[value] using specification for function __gmpz_clear
+tests/gmp/quantif.i:9:[value] entering loop for the first time
+[value] using specification for function __gmpz_cmp
+[value] using specification for function __gmpz_add
+[value] using specification for function e_acsl_assert
+FRAMAC_SHARE/e-acsl/e_acsl.h:34:[value] warning: function e_acsl_assert: precondition got status unknown.
+tests/gmp/quantif.i:10:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:10:[value] entering loop for the first time
+tests/gmp/quantif.i:11:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:11:[value] entering loop for the first time
+tests/gmp/quantif.i:12:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:12:[value] entering loop for the first time
+tests/gmp/quantif.i:16:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:16:[value] entering loop for the first time
+tests/gmp/quantif.i:21:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:21:[value] entering loop for the first time
+tests/gmp/quantif.i:25:[value] warning: assertion got status unknown.
+tests/gmp/quantif.i:25:[value] entering loop for the first time
+[value] using specification for function __gmpz_tdiv_r
+tests/gmp/quantif.i:26:[value] entering loop for the first time
+[value] using specification for function __gmpz_tdiv_q
+[value] using specification for function __gmpz_mul
+[value] done for function main
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i b/src/plugins/e-acsl/tests/gmp/quantif.i
similarity index 60%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i
rename to src/plugins/e-acsl/tests/gmp/quantif.i
index 069060d8d2e20395114f559792aa3678dcc0b2b8..81531e338c23effc5ed53ecdcf3504258c150eb0 100644
--- a/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i
+++ b/src/plugins/e-acsl/tests/gmp/quantif.i
@@ -1,7 +1,5 @@
 /* run.config
    COMMENT: quantifiers
-   EXECNOW: LOG gen_quantif.c BIN gen_quantif.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/quantif.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_quantif.c > /dev/null && ./gcc_runtime.sh quantif
-   EXECNOW: LOG gen_quantif2.c BIN gen_quantif2.out @frama-c@ -e-acsl-share ./share/e-acsl ./tests/e-acsl-runtime/quantif.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_quantif2.c > /dev/null && ./gcc_runtime.sh quantif2
 */
 
 int main(void) {
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.0.err.oracle b/src/plugins/e-acsl/tests/gmp/result/.gitkeep
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.0.err.oracle
rename to src/plugins/e-acsl/tests/gmp/result/.gitkeep
diff --git a/src/plugins/e-acsl/tests/gmp/test_config b/src/plugins/e-acsl/tests/gmp/test_config
new file mode 100644
index 0000000000000000000000000000000000000000..ebb7cbf51e4a4bb8fd52deafb1d71761c1a2b989
--- /dev/null
+++ b/src/plugins/e-acsl/tests/gmp/test_config
@@ -0,0 +1,5 @@
+LOG: gen_@PTEST_NAME@.c
+OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/gmp/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
+EXECNOW: ./scripts/testrun.sh @PTEST_NAME@ gmp "1" "--frama-c=@frama-c@"
+LOG: gen_@PTEST_NAME@2.c
+OPT: -machdep gcc_x86_64 -check -e-acsl -e-acsl-gmp-only -then-last -load-script tests/print.cmxs -print -ocode tests/gmp/result/gen_@PTEST_NAME@2.c -kernel-verbose 0 -val -no-val-print -no-val-show-progress -no-results
diff --git a/src/plugins/e-acsl/tests/no-main/empty.i b/src/plugins/e-acsl/tests/no-main/empty.i
new file mode 100644
index 0000000000000000000000000000000000000000..dac88947f19f927d43733f00a084ab034ddc04f3
--- /dev/null
+++ b/src/plugins/e-acsl/tests/no-main/empty.i
@@ -0,0 +1,3 @@
+/* run.config
+   COMMENT: empty file
+*/
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.err.oracle b/src/plugins/e-acsl/tests/no-main/oracle/empty.err.oracle
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.err.oracle
rename to src/plugins/e-acsl/tests/no-main/oracle/empty.err.oracle
diff --git a/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle b/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d7c3f4370ac66a3520fcaf735b2852265dd084ae
--- /dev/null
+++ b/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle
@@ -0,0 +1,14 @@
+[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_types.h (with preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp.h (with preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel_api.h (with preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_bittree.h (with preprocessing)
+[kernel] Parsing FRAMAC_SHARE/e-acsl/memory_model/e_acsl_mmodel.h (with preprocessing)
+[kernel] Parsing tests/no-main/empty.i (no preprocessing)
+[e-acsl] beginning translation.
+[e-acsl] warning: cannot find entry point `main'.
+                  Please use option `-main' for specifying a valid entry point.
+                  The generated program may miss memory instrumentation
+                  if there are memory-related annotations.
+[e-acsl] translation done in project "e-acsl".
diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.0.err.oracle b/src/plugins/e-acsl/tests/no-main/result/.gitkeep
similarity index 100%
rename from src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ghost.0.err.oracle
rename to src/plugins/e-acsl/tests/no-main/result/.gitkeep
diff --git a/src/plugins/e-acsl/tests/no-main/test_config b/src/plugins/e-acsl/tests/no-main/test_config
new file mode 100644
index 0000000000000000000000000000000000000000..954e02ce5fb8a367dee5f4a74833ea97955d5fd7
--- /dev/null
+++ b/src/plugins/e-acsl/tests/no-main/test_config
@@ -0,0 +1 @@
+OPT: -e-acsl-check -check -e-acsl
diff --git a/src/plugins/e-acsl/tests/print.ml b/src/plugins/e-acsl/tests/print.ml
new file mode 100644
index 0000000000000000000000000000000000000000..04a0d201831af165ee6c71956bc32efbbbe239da
--- /dev/null
+++ b/src/plugins/e-acsl/tests/print.ml
@@ -0,0 +1,18 @@
+module Printer_extension(X:Printer.PrinterClass) = struct
+
+  class printer = object
+    inherit Printer.extensible_printer () as super
+
+    method global fmt g =
+      let loc, _ = Cil_datatype.Global.loc g in
+      let file = loc.Lexing.pos_fname in
+      if file = "" || List.exists
+        (fun s -> Filepath.normalize s = file)
+        (Kernel.Files.get ())
+      then super#global fmt g
+
+  end
+
+end
+
+let () = Printer.update_printer (module Printer_extension)