diff --git a/tests/builtins/diff_apron b/tests/builtins/diff_apron
index 138fb410e262c773d22565a154e37ee6eab65e31..befd75c34a2d5c9b2763732afa55aac09a3e621c 100644
--- a/tests/builtins/diff_apron
+++ b/tests/builtins/diff_apron
@@ -1,134 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_apron/Longinit_sequencer.res.oracle
-59,62c59,78
-< [eva] tests/builtins/long_init.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init.c:29: Reusing old results for call to subanalyze
----
-> [eva] computing for function subanalyze <- analyze <- init_inner <- init_outer <- 
->                           main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- init_inner <- init_outer <- 
->                           main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- init_inner <- init_outer <- 
->                           main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- init_inner <- init_outer <- 
->                           main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-148,149c164,211
-< [eva] tests/builtins/long_init.c:93: Reusing old results for call to analyze
-< [eva] tests/builtins/long_init.c:94: Reusing old results for call to analyze
----
-> [eva] computing for function analyze <- main.
->   Called from tests/builtins/long_init.c:93.
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] Recording results for analyze
-> [eva] Done for function analyze
-> [eva] computing for function analyze <- main.
->   Called from tests/builtins/long_init.c:94.
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] Recording results for analyze
-> [eva] Done for function analyze
-320c382
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_apron/Longinit_sequencer.sav
-411,414c473,488
-< [eva] tests/builtins/long_init2.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init2.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init2.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init2.c:29: Reusing old results for call to subanalyze
----
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init2.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init2.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init2.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init2.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-556c630
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_apron/Longinit_sequencer.sav
-643,646c717,732
-< [eva] tests/builtins/long_init3.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init3.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init3.c:29: Reusing old results for call to subanalyze
-< [eva] tests/builtins/long_init3.c:29: Reusing old results for call to subanalyze
----
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init3.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init3.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init3.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
-> [eva] computing for function subanalyze <- analyze <- main.
->   Called from tests/builtins/long_init3.c:29.
-> [eva] Recording results for subanalyze
-> [eva] Done for function subanalyze
 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_apron/allocated.0.res.oracle
 260a261,263
 > [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
diff --git a/tests/builtins/diff_bitwise b/tests/builtins/diff_bitwise
index e2e2efc04cf4b7157d7d1d23eed26b1e58c1983f..98cc819af464d4d56ee7b45393da6c4b1eb5dc02 100644
--- a/tests/builtins/diff_bitwise
+++ b/tests/builtins/diff_bitwise
@@ -1,12 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_bitwise/Longinit_sequencer.res.oracle
-320c320
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_bitwise/Longinit_sequencer.sav
-556c556
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_bitwise/Longinit_sequencer.sav
 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_bitwise/allocated.0.res.oracle
 260a261,263
 > [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
diff --git a/tests/builtins/diff_equalities b/tests/builtins/diff_equalities
index 3956b94f2499324860cf5298288352ab3e415043..45b1a53ba8801c496b17d1222d3f3a99a3c659cc 100644
--- a/tests/builtins/diff_equalities
+++ b/tests/builtins/diff_equalities
@@ -1,12 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_equalities/Longinit_sequencer.res.oracle
-320c320
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_equalities/Longinit_sequencer.sav
-556c556
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_equalities/Longinit_sequencer.sav
 diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_equalities/alloc_weak.res.oracle
 36,37d35
 < [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: 
diff --git a/tests/builtins/diff_gauges b/tests/builtins/diff_gauges
index ca4a1580fa4e366cd777744846c0120ddd2509ba..aed43a80b458bfa6d5b81eceee67c7bd4ede2dff 100644
--- a/tests/builtins/diff_gauges
+++ b/tests/builtins/diff_gauges
@@ -1,12 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_gauges/Longinit_sequencer.res.oracle
-320c320
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_gauges/Longinit_sequencer.sav
-556c556
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_gauges/Longinit_sequencer.sav
 diff tests/builtins/oracle/linked_list.0.res.oracle tests/builtins/oracle_gauges/linked_list.0.res.oracle
 1122a1123,1128
 > [eva] computing for function printf_va_1 <- main.
diff --git a/tests/builtins/diff_octagons b/tests/builtins/diff_octagons
index c2b18889ac58a637ec38f7f04c918867bbe336b8..d091e1809e5189e23acb6a6d970b7b1b81b6a635 100644
--- a/tests/builtins/diff_octagons
+++ b/tests/builtins/diff_octagons
@@ -1,12 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_octagons/Longinit_sequencer.res.oracle
-320c320
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_octagons/Longinit_sequencer.sav
-556c556
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_octagons/Longinit_sequencer.sav
 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_octagons/allocated.0.res.oracle
 273c273
 <   j ∈ [1..2147483647]
diff --git a/tests/builtins/diff_symblocs b/tests/builtins/diff_symblocs
index f640a0f73229eb6388e8c2b9526126abe4f4eeaa..f1bda9cc8ce275efb1caebe25785b40bea3b6104 100644
--- a/tests/builtins/diff_symblocs
+++ b/tests/builtins/diff_symblocs
@@ -1,12 +1,3 @@
-diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_symblocs/Longinit_sequencer.res.oracle
-320c320
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_symblocs/Longinit_sequencer.sav
-556c556
-<   tests/builtins/result/Longinit_sequencer.sav
----
->   tests/builtins/result_symblocs/Longinit_sequencer.sav
 diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_symblocs/alloc_weak.res.oracle
 36,37d35
 < [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: 
diff --git a/tests/builtins/long_init.c b/tests/builtins/long_init.c
deleted file mode 100644
index c244b17b5e377a30cd1b3c1707309d7afd422031..0000000000000000000000000000000000000000
--- a/tests/builtins/long_init.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* run.config*
-   DONTRUN: tests run by Longinit_sequencer.i
-*/
-
-#include <stdlib.h>
-
-#define N1 10
-#define N2 50
-#define N3 10
-
-volatile int nondet;
-
-int a1[N1];
-struct st {
-  unsigned long t[N2];
-  double d[N3];
-} stuff;
-
-double subanalyze(double *d) {
-  return *d < 15 ? 1.0 : *d / 15.0;
-}
-
-double analyze(int *a, unsigned long *b, double *c) {
-  int i;
-  double res = 0.0;
-  /*@ slevel 5; */
-  for (i = 0; i < 5; i++) {
-    res += a[i + 3] + b[i * 2] + c[i + 1];
-    res += subanalyze(&c[i + 1]);
-  }
-  return res;
-}
-
-char garbled_mix = (char) "abc";
-char *s = "abc";
-//int another_global = 42; // from init_global2.c
-//int yet_another_global = 43; // from init_global3.c
-double *pr, *pr2, *pr_escaping, **ppr;
-int *alloc1, *alloc2, *alloc3;
-
-double dmin(double *pd1, double *pd2) {
-  if (*pd1 < *pd2) return *pd1;
-  else return *pd2;
-}
-
-int fun(int k) {
-  return k+1;
-}
-
-typedef int (*i_fp_i)(int);
-i_fp_i fp = &fun;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2
-      \from \nothing; */
-void init_inner(int n, char const *tea) {
-  int i;
-  /*@ slevel N3; */
-  for (i = 0; i < N1; i++) {
-    a1[i] = i;
-  }
-  for (i = 0; i < N2; i++) {
-    stuff.t[i] = a1[i/5] + 3;
-  }
-  for (i = 0; i < N3; i++) {
-    stuff.d[i] = 3.125 * i;
-  }
-  /*@ slevel 0; */
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = &r2;
-  pr_escaping = &r2;
-  alloc1 = malloc(sizeof(int*));
-  *alloc1 = (int) alloc1;
-  alloc2 = malloc(2*sizeof(int));
-  *alloc2 = 37;
-  free(alloc2);
-}
-
-int inited;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2, inited
-      \from \nothing; */
-void init_outer() {
-    init_inner(13, "tea");
-    inited = 1;
-}
-
-int main() {
-  init_outer();
-  char *sa = s;
-  Frama_C_dump_each();
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = nondet ? &r : &r2;
-  ppr = nondet ? &pr : &pr2;
-  double dm = dmin(pr, *ppr);
-  int res_from_fp = (*fp)(31);
-  int res = (int)r % 256;
-  *alloc1 = inited;
-  int local = *alloc1;
-  free(alloc1);
-  alloc3 = malloc(sizeof(int));
-  //local = another_global; // from init_global2.c
-  //int local2 = yet_another_global; // from init_global3.c
-  return 0;
-}
diff --git a/tests/builtins/long_init2.c b/tests/builtins/long_init2.c
deleted file mode 100644
index 065358b2e68c111dec1dbeaaa9636b5bc9ee7e69..0000000000000000000000000000000000000000
--- a/tests/builtins/long_init2.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* run.config*
-   DONTRUN: tests run by Longinit_sequencer.i
-*/
-
-#include <stdlib.h>
-
-#define N1 10
-#define N2 50
-#define N3 10
-
-volatile int nondet;
-
-int a1[N1];
-struct st {
-  unsigned long t[N2];
-  double d[N3];
-} stuff;
-
-double subanalyze(double *d) {
-  return *d < 15 ? 1.0 : *d / 15.0;
-}
-
-double analyze(int *a, unsigned long *b, double *c) {
-  int i;
-  double res = 0.0;
-  /*@ slevel 5; */
-  for (i = 0; i < 5; i++) {
-    res += a[i + 3] + b[i * 2] + c[i + 1];
-    res += subanalyze(&c[i + 1]);
-  }
-  return res;
-}
-
-char garbled_mix = (char) "abc";
-char *s = "abc";
-int another_global = 42;
-//int yet_another_global = 43; // from init_global3.c
-double *pr, *pr2, *pr_escaping, **ppr;
-int *alloc1, *alloc2, *alloc3;
-
-double dmin(double *pd1, double *pd2) {
-  if (*pd1 < *pd2) return *pd1;
-  else return *pd2;
-}
-
-int fun(int k) {
-  return k+1;
-}
-
-typedef int (*i_fp_i)(int);
-i_fp_i fp = &fun;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2
-      \from \nothing; */
-void init_inner(int n, char const *tea) {
-  int i;
-  /*@ slevel N3; */
-  for (i = 0; i < N1; i++) {
-    a1[i] = i;
-  }
-  for (i = 0; i < N2; i++) {
-    stuff.t[i] = a1[i/5] + 3;
-  }
-  for (i = 0; i < N3; i++) {
-    stuff.d[i] = 3.125 * i;
-  }
-  /*@ slevel 0; */
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = &r2;
-  pr_escaping = &r2;
-  alloc1 = malloc(sizeof(int*));
-  *alloc1 = (int) alloc1;
-  alloc2 = malloc(2*sizeof(int));
-  *alloc2 = 37;
-  free(alloc2);
-}
-
-int inited;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2, inited
-      \from \nothing; */
-void init_outer() {
-    init_inner(13, "tea");
-    inited = 1;
-}
-
-int main() {
-  init_outer();
-  char *sa = s;
-  Frama_C_dump_each();
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = nondet ? &r : &r2;
-  ppr = nondet ? &pr : &pr2;
-  double dm = dmin(pr, *ppr);
-  int res_from_fp = (*fp)(31);
-  int res = (int)r % 256;
-  *alloc1 = inited;
-  int local = *alloc1;
-  free(alloc1);
-  alloc3 = malloc(sizeof(int));
-  local = another_global;
-  //int local2 = yet_another_global; // from init_global3.c
-  return 0;
-}
diff --git a/tests/builtins/long_init3.c b/tests/builtins/long_init3.c
deleted file mode 100644
index b3b97e7aee3843079508e5a32d403045ec253e08..0000000000000000000000000000000000000000
--- a/tests/builtins/long_init3.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* run.config*
-   DONTRUN: tests run by Longinit_sequencer.i
-*/
-
-#include <stdlib.h>
-
-#define N1 10
-#define N2 50
-#define N3 10
-
-volatile int nondet;
-
-int a1[N1];
-struct st {
-  unsigned long t[N2];
-  double d[N3];
-} stuff;
-
-double subanalyze(double *d) {
-  return *d < 15 ? 1.0 : *d / 15.0;
-}
-
-double analyze(int *a, unsigned long *b, double *c) {
-  int i;
-  double res = 0.0;
-  /*@ slevel 5; */
-  for (i = 0; i < 5; i++) {
-    res += a[i + 3] + b[i * 2] + c[i + 1];
-    res += subanalyze(&c[i + 1]);
-  }
-  return res;
-}
-
-char garbled_mix = (char) "abc";
-char *s = "abc";
-int another_global = 42;
-int yet_another_global = 43;
-double *pr, *pr2, *pr_escaping, **ppr;
-int *alloc1, *alloc2, *alloc3;
-
-double dmin(double *pd1, double *pd2) {
-  if (*pd1 < *pd2) return *pd1;
-  else return *pd2;
-}
-
-int fun(int k) {
-  return k+1;
-}
-
-typedef int (*i_fp_i)(int);
-i_fp_i fp = &fun;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2
-      \from \nothing; */
-void init_inner(int n, char const *tea) {
-  int i;
-  /*@ slevel N3; */
-  for (i = 0; i < N1; i++) {
-    a1[i] = i;
-  }
-  for (i = 0; i < N2; i++) {
-    stuff.t[i] = a1[i/5] + 3;
-  }
-  for (i = 0; i < N3; i++) {
-    stuff.d[i] = 3.125 * i;
-  }
-  /*@ slevel 0; */
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = &r2;
-  pr_escaping = &r2;
-  alloc1 = malloc(sizeof(int*));
-  *alloc1 = (int) alloc1;
-  alloc2 = malloc(2*sizeof(int));
-  *alloc2 = 37;
-  free(alloc2);
-}
-
-int inited;
-
-/*@ assigns a1[..], stuff, pr, pr2, pr_escaping, alloc1, alloc2, inited
-      \from \nothing; */
-void init_outer() {
-    init_inner(13, "tea");
-    inited = 1;
-}
-
-int main() {
-  init_outer();
-  char *sa = s;
-  Frama_C_dump_each();
-  double r = analyze(a1, stuff.t, stuff.d);
-  double r2 = analyze(a1, stuff.t+1, stuff.d+1);
-  pr = nondet ? &r : &r2;
-  pr2 = nondet ? &r : &r2;
-  ppr = nondet ? &pr : &pr2;
-  double dm = dmin(pr, *ppr);
-  int res_from_fp = (*fp)(31);
-  int res = (int)r % 256;
-  *alloc1 = inited;
-  int local = *alloc1;
-  free(alloc1);
-  alloc3 = malloc(sizeof(int));
-  local = another_global;
-  int local2 = yet_another_global;
-  return 0;
-}
diff --git a/tests/value/diff_apron b/tests/value/diff_apron
index 2ba17244e29404e5b12a718153ff2bc88c017c05..b8f9fbe7d8c8bbc8d910d97e3d71e2b1413b6746 100644
--- a/tests/value/diff_apron
+++ b/tests/value/diff_apron
@@ -72,148 +72,193 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_apron/a
 <   Frama_C_show_each_32_80: [0..2147483647]
 ---
 > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164]
-49,52c32
-< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: 
+55,56d37
+< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:90: 
-<   Frama_C_show_each_11_111: [0..2147483647]
----
-> [eva] tests/value/auto_loop_unroll.c:90: Frama_C_show_each_11_111: [11..111]
-60,61d39
-< [eva:alarm] tests/value/auto_loop_unroll.c:96: Warning: 
+60,62c41
+< [eva:alarm] tests/value/auto_loop_unroll.c:93: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-72c50,53
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: {101}
+71c50,53
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-82c63,66
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+81c63,66
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-91c75,78
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+90c75,78
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-108c95,98
-< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr
+107c95,98
+< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:102.
+>   Called from tests/value/auto_loop_unroll.c:100.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-115,116d104
+114,115d104
 < [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning: 
 <   signed overflow. assert g + 1 ≤ 2147483647;
-119c107,110
-< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr
----
-> [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:102.
-> [eva] Recording results for incr
-> [eva] Done for function incr
-124,125c115,122
-< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr_g
-< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr
+118c107,110
+< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr
 ---
-> [eva] computing for function incr_g <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:101.
-> [eva] Recording results for incr_g
-> [eva] Done for function incr_g
-> [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:102.
-> [eva] Recording results for incr
-> [eva] Done for function incr
-130,131c127,134
-< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr_g
-< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr
----
-> [eva] computing for function incr_g <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:101.
-> [eva] Recording results for incr_g
-> [eva] Done for function incr_g
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:102.
+>   Called from tests/value/auto_loop_unroll.c:100.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-134,135d136
+121,122d112
 < [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning: 
 <   signed overflow. assert i + 1 ≤ 2147483647;
-138c139
-< [eva] tests/value/auto_loop_unroll.c:105: Frama_C_show_each_25: [0..2147483647]
+125c115
+< [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:105: Frama_C_show_each_25: {25}
-144c145,146
-< [eva] tests/value/auto_loop_unroll.c:114: Frama_C_show_each_120: [0..2147483647]
+> [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: {25}
+131c121,122
+< [eva] tests/value/auto_loop_unroll.c:112: Frama_C_show_each_120: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:114: 
+> [eva] tests/value/auto_loop_unroll.c:112: 
 >   Frama_C_show_each_120: [15..2147483647]
-160,161d161
-< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: 
+133,136c124
+< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-168c168
-<   Frama_C_show_each_imprecise: [0..2147483647]
+< [eva] tests/value/auto_loop_unroll.c:122: 
+<   Frama_C_show_each_32_64: [0..2147483647]
 ---
->   Frama_C_show_each_imprecise: [10..2147483647]
-170,174c170,174
-< [eva:alarm] tests/value/auto_loop_unroll.c:156: Warning: 
+> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [0..65]
+152,153d139
+< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:158: 
+160c146
 <   Frama_C_show_each_imprecise: [0..2147483647]
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
 ---
-> [eva] tests/value/auto_loop_unroll.c:158: Frama_C_show_each_imprecise: {10}
-> [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
-> [eva] Recording results for incr_g
-> [eva] Done for function incr_g
-188,193c188,196
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
-< [eva:alarm] tests/value/auto_loop_unroll.c:165: Warning: 
+>   Frama_C_show_each_imprecise: [10..2147483647]
+178,183c164,172
+< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
+< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
+< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:167: 
+< [eva] tests/value/auto_loop_unroll.c:166: 
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
 > [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
+>   Called from tests/value/auto_loop_unroll.c:162.
 > [eva] Recording results for incr_g
 > [eva] Done for function incr_g
 > [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
+>   Called from tests/value/auto_loop_unroll.c:162.
 > [eva] Recording results for incr_g
 > [eva] Done for function incr_g
-> [eva] tests/value/auto_loop_unroll.c:167: Frama_C_show_each_imprecise: [0..64]
-195,198c198
-< [eva:alarm] tests/value/auto_loop_unroll.c:174: Warning: 
+> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64]
+185,188c174
+< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:176: 
+< [eva] tests/value/auto_loop_unroll.c:175: 
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9]
-200,203c200
-< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: 
+> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9]
+190,191d175
+< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:184: 
+195c179
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:184: Frama_C_show_each_imprecise: [0..64]
-210c207
+>   Frama_C_show_each_imprecise: [64..2147483647]
+201,203c185
+< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11}
+205,207c187
+< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12}
+209,210d188
+< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+212a191,192
+> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+216,217d195
+< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+219a198,199
+> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+223,224d202
+< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+228,231c206
+< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:226: 
+<   Frama_C_show_each_11_111: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111]
+239,241c214
+< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646]
+243,244d215
+< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+247c218,220
+< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647]
+---
+> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21}
+253,255c226,227
+< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30}
+> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations
+258,259c230,231
+< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations
+< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:263: 
+>   Frama_C_show_each_top: [31..2147483647]
+261,263c233
+< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32}
+268c238
+<   Frama_C_show_each_33_inf: [0..2147483647]
+---
+>   Frama_C_show_each_33_inf: [33..2147483647]
+272,273d241
+< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+281c249
 <   __retres ∈ [1..2147483647]
 ---
 >   __retres ∈ [1..25]
-212c209
+283c251
 <   g ∈ [1..2147483647]
 ---
->   g ∈ [1..63]
+>   g ∈ [1..126]
 diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/auto_loop_unroll.1.res.oracle
 15,18c15
 < [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: 
@@ -230,230 +275,273 @@ diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/a
 ---
 > [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100}
 58c52,55
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 67c64,67
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 76c76,79
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 85c88,91
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 94c100,103
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 103c112,115
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 112c124,127
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 121c136,139
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 130c148,151
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 139c160,163
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 148c172,175
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 157c184,187
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 166c196,199
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 175c208,211
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 184c220,223
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 193c232,235
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 202c244,247
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 211c256,259
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 220c268,271
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 229c280,283
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 238c292,295
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 247c304,307
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 256c316,319
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 265c328,331
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 274c340,343
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-294,295d362
-< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: 
+296,297d364
+< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-302c369
+304c371
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
 >   Frama_C_show_each_imprecise: [10..2147483647]
-304,308c371,375
-< [eva:alarm] tests/value/auto_loop_unroll.c:156: Warning: 
-<   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:158: 
-<   Frama_C_show_each_imprecise: [0..2147483647]
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
----
-> [eva] tests/value/auto_loop_unroll.c:158: Frama_C_show_each_imprecise: {10}
-> [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
-> [eva] Recording results for incr_g
-> [eva] Done for function incr_g
 322,327c389,397
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
-< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g
-< [eva:alarm] tests/value/auto_loop_unroll.c:165: Warning: 
+< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
+< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
+< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:167: 
+< [eva] tests/value/auto_loop_unroll.c:166: 
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
 > [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
+>   Called from tests/value/auto_loop_unroll.c:162.
 > [eva] Recording results for incr_g
 > [eva] Done for function incr_g
 > [eva] computing for function incr_g <- complex_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:163.
+>   Called from tests/value/auto_loop_unroll.c:162.
 > [eva] Recording results for incr_g
 > [eva] Done for function incr_g
-> [eva] tests/value/auto_loop_unroll.c:167: Frama_C_show_each_imprecise: [0..64]
+> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64]
 329,332c399
-< [eva:alarm] tests/value/auto_loop_unroll.c:174: Warning: 
+< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:176: 
+< [eva] tests/value/auto_loop_unroll.c:175: 
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9]
-334,337c401
-< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: 
+> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9]
+334,335d400
+< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:184: 
+339c404
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:184: Frama_C_show_each_imprecise: [0..64]
+>   Frama_C_show_each_imprecise: [64..2147483647]
+344c409
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:192: Automatic loop unrolling.
+---
+> [eva] tests/value/auto_loop_unroll.c:192: starting to merge loop iterations
+346c411
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:197: Automatic loop unrolling.
+---
+> [eva] tests/value/auto_loop_unroll.c:197: starting to merge loop iterations
+348,353c413,429
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:203: Automatic loop unrolling.
+< [eva] tests/value/auto_loop_unroll.c:206: Frama_C_show_each_0_13: [0..13]
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:208: Automatic loop unrolling.
+< [eva] tests/value/auto_loop_unroll.c:211: Frama_C_show_each_0_14: [0..14]
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:214: Automatic loop unrolling.
+< [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_0_15: [0..15]
+---
+> [eva] tests/value/auto_loop_unroll.c:203: starting to merge loop iterations
+> [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: 
+>   signed overflow. assert -2147483648 ≤ i_0 - 1;
+> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+> [eva] tests/value/auto_loop_unroll.c:206: 
+>   Frama_C_show_each_0_13: [0..2147483647]
+> [eva] tests/value/auto_loop_unroll.c:208: starting to merge loop iterations
+> [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: 
+>   signed overflow. assert -2147483648 ≤ i_1 - 1;
+> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+> [eva] tests/value/auto_loop_unroll.c:211: 
+>   Frama_C_show_each_0_14: [0..2147483647]
+> [eva] tests/value/auto_loop_unroll.c:214: starting to merge loop iterations
+> [eva] tests/value/auto_loop_unroll.c:219: 
+>   Frama_C_show_each_0_15: [0..2147483647]
+364c440,444
+< [eva:loop-unroll] tests/value/auto_loop_unroll.c:240: Automatic loop unrolling.
+---
+> [eva] tests/value/auto_loop_unroll.c:240: starting to merge loop iterations
+> [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: 
+>   signed overflow. assert -2147483648 ≤ i - 1;
+> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+375c455,456
+< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:263: 
+>   Frama_C_show_each_top: [31..2147483647]
+391,392d471
+< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+425,426c504,505
+<   i ∈ {-1}
+<   res ∈ {21}
+---
+>   i ∈ [-2147483648..20]
+>   res ∈ [0..2147483647]
 diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_apron/backward_add_ptr.res.oracle
 71c71,74
 < [eva] tests/value/backward_add_ptr.c:91: Reusing old results for call to gm
@@ -1149,8 +1237,8 @@ diff tests/value/oracle/offsetmap.1.res.oracle tests/value/oracle_apron/offsetma
 >   b ∈ {0; 1}
 >   a7 ∈ {1}
 diff tests/value/oracle/partitioning-annots.4.res.oracle tests/value/oracle_apron/partitioning-annots.4.res.oracle
-14,15d13
-< [eva:alarm] tests/value/partitioning-annots.c:134: Warning: 
+15,16d14
+< [eva:alarm] tests/value/partitioning-annots.c:138: Warning: 
 <   division by zero. assert j ≢ 0;
 diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/precise_locations.res.oracle
 32,35c32,47
@@ -1394,6 +1482,7 @@ diff tests/value/oracle/undefined_sequence.1.res.oracle tests/value/oracle_apron
 >   Called from tests/value/undefined_sequence.i:54.
 > [eva] Recording results for g
 > [eva] Done for function g
+Only in tests/value/oracle: unit_tests.res.oracle
 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_apron/unroll.res.oracle
 13,14d12
 < [eva:alarm] tests/value/unroll.i:34: Warning: 
diff --git a/tests/value/diff_bitwise b/tests/value/diff_bitwise
index f3d9227dd921eafcae4091aea38d785407838400..7ef9494da776c8a2e342d1f3be2eacc46a36d1e6 100644
--- a/tests/value/diff_bitwise
+++ b/tests/value/diff_bitwise
@@ -24,10 +24,10 @@ diff tests/value/oracle/addition.res.oracle tests/value/oracle_bitwise/addition.
 ---
 >   p10 ∈ {{ garbled mix of &{p1} }}
 diff tests/value/oracle/bitwise.res.oracle tests/value/oracle_bitwise/bitwise.res.oracle
-79c79,82
-< [eva] tests/value/bitwise.i:144: Frama_C_show_each_dead: {0}
+98c98,101
+< [eva] tests/value/bitwise.i:158: Frama_C_show_each_dead: {0}
 ---
-> [eva] tests/value/bitwise.i:142: 
+> [eva] tests/value/bitwise.i:156: 
 >   The evaluation of the expression x & 2
 >   led to bottom without alarms:
 >   at this point the product of states has no possible concretization.
@@ -51,3 +51,4 @@ diff tests/value/oracle/logic_ptr_cast.res.oracle tests/value/oracle_bitwise/log
 <   The imprecision originates from Arithmetic {tests/value/logic_ptr_cast.i:8}
 ---
 > [eva] tests/value/logic_ptr_cast.i:8: Assigning imprecise value to p.
+Only in tests/value/oracle: unit_tests.res.oracle
diff --git a/tests/value/diff_equalities b/tests/value/diff_equalities
index 4ebaf82ffdec6a7011177a7b539a9e0fb8113c45..f07475f33aa61831526cdf8a686726438a8e2707 100644
--- a/tests/value/diff_equalities
+++ b/tests/value/diff_equalities
@@ -121,18 +121,18 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_equalities/alias.6
 ---
 >   x ∈ {33}
 diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle
-82c82,85
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+81c81,84
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
-91c94,97
-< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr
+90c93,96
+< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr
 ---
 > [eva] computing for function incr <- various_loops <- main.
->   Called from tests/value/auto_loop_unroll.c:103.
+>   Called from tests/value/auto_loop_unroll.c:101.
 > [eva] Recording results for incr
 > [eva] Done for function incr
 diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_equalities/backward_add_ptr.res.oracle
@@ -688,7 +688,7 @@ diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_equalities/non
 > [kernel] tests/value/non_natural.i:39: 
 >   more than 200(12500) elements to enumerate. Approximating.
 diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_equalities/nonlin.res.oracle
-188c188
+194c194
 <   q ∈ {{ &x + [-400..400],0%4 }}
 ---
 >   q ∈ {{ &x }}
@@ -867,3 +867,4 @@ diff tests/value/oracle/struct2.res.oracle tests/value/oracle_equalities/struct2
 <            [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0..1];
 ---
 >            [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0];
+Only in tests/value/oracle: unit_tests.res.oracle
diff --git a/tests/value/diff_gauges b/tests/value/diff_gauges
index 55a5986c6614e0f6ee962fda6b7aa5413b05a8fc..f6010fb62ca6b8e732c4cdfb986167352b43e100 100644
--- a/tests/value/diff_gauges
+++ b/tests/value/diff_gauges
@@ -47,20 +47,98 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_gauges/
 <   Frama_C_show_each_32_80: [0..2147483647]
 ---
 > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83]
-49,52c32
-< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: 
+55,56d37
+< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-< [eva] tests/value/auto_loop_unroll.c:90: 
+58c39
+<   Frama_C_show_each_40_50: [0..2147483647]
+---
+>   Frama_C_show_each_40_50: [40..1073741861]
+133,136c114
+< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:122: 
+<   Frama_C_show_each_32_64: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [32..65]
+185,188c163
+< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:175: 
+<   Frama_C_show_each_imprecise: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9]
+190,191d164
+< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+195c168
+<   Frama_C_show_each_imprecise: [0..2147483647]
+---
+>   Frama_C_show_each_imprecise: [64..2147483647]
+201,203c174
+< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11}
+205,207c176
+< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12}
+209,210d177
+< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+212a180,181
+> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+216,217d184
+< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+219a187,188
+> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+223,224d191
+< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+228,231c195
+< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:226: 
 <   Frama_C_show_each_11_111: [0..2147483647]
 ---
-> [eva] tests/value/auto_loop_unroll.c:90: Frama_C_show_each_11_111: [11..111]
-60,61d39
-< [eva:alarm] tests/value/auto_loop_unroll.c:96: Warning: 
+> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111]
+239,241c203
+< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: 
 <   signed overflow. assert res + 1 ≤ 2147483647;
-63c41
-<   Frama_C_show_each_40_50: [0..2147483647]
+< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647]
 ---
->   Frama_C_show_each_40_50: [40..1073741861]
+> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646]
+243,244d204
+< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+247c207,209
+< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647]
+---
+> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: 
+>   signed overflow. assert res + 1 ≤ 2147483647;
+> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21}
+253,255c215,216
+< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30}
+> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations
+258d218
+< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations
+261,263c221
+< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32}
 diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle
 15,18c15
 < [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: 
@@ -76,6 +154,105 @@ diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/
 <   Frama_C_show_each_imprecise: [0..2147483647]
 ---
 > [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100}
+329,332c323
+< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+< [eva] tests/value/auto_loop_unroll.c:175: 
+<   Frama_C_show_each_imprecise: [0..2147483647]
+---
+> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9]
+334,335d324
+< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: 
+<   signed overflow. assert res + 1 ≤ 2147483647;
+339c328
+<   Frama_C_show_each_imprecise: [0..2147483647]
+---
+>   Frama_C_show_each_imprecise: [64..2147483647]
+385a375,458
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 200 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 300 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 400 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 500 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 600 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 700 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 800 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 900 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1000 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1100 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1200 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1300 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1400 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1500 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1600 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1700 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1800 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 1900 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2000 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2100 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2200 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2300 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2400 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2500 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2600 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2700 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2800 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 2900 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3000 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3100 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3200 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3300 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3400 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3500 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3600 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3700 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3800 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 3900 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 4000 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 4100 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 4200 states
+> [eva] tests/value/auto_loop_unroll.c:276: 
+>   Trace partitioning superposing up to 4300 states
 diff tests/value/oracle/bad_loop.res.oracle tests/value/oracle_gauges/bad_loop.res.oracle
 6a7
 > [eva] tests/value/bad_loop.i:12: starting to merge loop iterations
@@ -1047,6 +1224,7 @@ diff tests/value/oracle/undefined_sequence.0.res.oracle tests/value/oracle_gauge
 > [eva] tests/value/undefined_sequence.i:43: starting to merge loop iterations
 101a103
 > [eva] tests/value/undefined_sequence.i:49: starting to merge loop iterations
+Only in tests/value/oracle: unit_tests.res.oracle
 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_gauges/unroll.res.oracle
 13,14d12
 < [eva:alarm] tests/value/unroll.i:34: Warning: 
diff --git a/tests/value/diff_octagons b/tests/value/diff_octagons
index 8786bf632829b31384a2e29cf003d97301b6a853..60823ae538cd11a1439e74d6916dda01dca0c8c1 100644
--- a/tests/value/diff_octagons
+++ b/tests/value/diff_octagons
@@ -33,6 +33,20 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_octagons/alias.6.r
 >   tz1 ∈ {1}
 >   tz2 ∈ {1}
 >   tz3 ∈ {1}
+diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle
+211,212d210
+< [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: 
+<   signed overflow. assert -2147483648 ≤ i_0 - 1;
+218,219d215
+< [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: 
+<   signed overflow. assert -2147483648 ≤ i_1 - 1;
+245,246d240
+< [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: 
+<   signed overflow. assert -2147483648 ≤ i - 1;
+306c300
+<   i ∈ [-2147483648..20]
+---
+>   i ∈ {-1}
 diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_octagons/bitfield.res.oracle
 138a139,141
 > [eva] tests/value/bitfield.i:71: 
@@ -238,23 +252,23 @@ diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_octagons/non_n
 > [kernel] tests/value/non_natural.i:39: 
 >   more than 200(12500) elements to enumerate. Approximating.
 diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_octagons/nonlin.res.oracle
-107a108,109
-> [eva:nonlin] tests/value/nonlin.c:65: non-linear 'x * x', lv 'x'
-> [eva:nonlin] tests/value/nonlin.c:65: subdividing on x
-110a113,115
-> [eva:nonlin] tests/value/nonlin.c:66: subdividing on x
-> [eva:nonlin] tests/value/nonlin.c:66: non-linear 'y * y', lv 'y'
-> [eva:nonlin] tests/value/nonlin.c:66: subdividing on y
-113a119,120
-> [eva:nonlin] tests/value/nonlin.c:68: non-linear 'z * x + x * y', lv 'x'
-> [eva:nonlin] tests/value/nonlin.c:68: subdividing on x
-151a159,160
-> [eva:nonlin] tests/value/nonlin.c:112: non-linear 'x * x', lv 'x'
-> [eva:nonlin] tests/value/nonlin.c:112: subdividing on x
-154a164
-> [eva:nonlin] tests/value/nonlin.c:113: subdividing on x
-155a166
-> [eva:nonlin] tests/value/nonlin.c:115: subdividing on x
+113a114,115
+> [eva:nonlin] tests/value/nonlin.c:71: non-linear 'x * x', lv 'x'
+> [eva:nonlin] tests/value/nonlin.c:71: subdividing on x
+116a119,121
+> [eva:nonlin] tests/value/nonlin.c:72: subdividing on x
+> [eva:nonlin] tests/value/nonlin.c:72: non-linear 'y * y', lv 'y'
+> [eva:nonlin] tests/value/nonlin.c:72: subdividing on y
+119a125,126
+> [eva:nonlin] tests/value/nonlin.c:74: non-linear 'z * x + x * y', lv 'x'
+> [eva:nonlin] tests/value/nonlin.c:74: subdividing on x
+157a165,166
+> [eva:nonlin] tests/value/nonlin.c:118: non-linear 'x * x', lv 'x'
+> [eva:nonlin] tests/value/nonlin.c:118: subdividing on x
+160a170
+> [eva:nonlin] tests/value/nonlin.c:119: subdividing on x
+161a172
+> [eva:nonlin] tests/value/nonlin.c:121: subdividing on x
 diff tests/value/oracle/plevel.res.oracle tests/value/oracle_octagons/plevel.res.oracle
 12d11
 < [eva] Recording results for main
@@ -386,6 +400,7 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_octagons/test.0.res
 <   j ∈ [-1073741822..1]
 ---
 >   j ∈ {-1; 0; 1}
+Only in tests/value/oracle: unit_tests.res.oracle
 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_octagons/unroll.res.oracle
 22c22
 <   G ∈ [17739..2147483647]
diff --git a/tests/value/diff_symblocs b/tests/value/diff_symblocs
index a2095316e27d0cc8c465e64167fb860f90af592c..a03b0b46bdb9405bb44d74b683245c7fc1b0b4a3 100644
--- a/tests/value/diff_symblocs
+++ b/tests/value/diff_symblocs
@@ -326,3 +326,4 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_symblocs/test.0.res
 <   tmp ∈ [--..--] or UNINITIALIZED
 ---
 >   tmp ∈ [-2147483647..2147483647] or UNINITIALIZED
+Only in tests/value/oracle: unit_tests.res.oracle