Skip to content
Snippets Groups Projects
Commit c76e10ed authored by Andre Maroneze's avatar Andre Maroneze
Browse files

Merge branch 'fix/eva/alternative-oracles' into 'master'

[Eva] Updates test oracles for alternative domains

See merge request frama-c/frama-c!2985
parents 60782321 94d8bb24
No related branches found
No related tags found
No related merge requests found
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 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_apron/allocated.0.res.oracle
260a261,263 260a261,263
> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc > [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
......
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 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_bitwise/allocated.0.res.oracle
260a261,263 260a261,263
> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc > [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
......
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 diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_equalities/alloc_weak.res.oracle
36,37d35 36,37d35
< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: < [eva:alarm] tests/builtins/alloc_weak.c:30: Warning:
......
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 diff tests/builtins/oracle/linked_list.0.res.oracle tests/builtins/oracle_gauges/linked_list.0.res.oracle
1122a1123,1128 1122a1123,1128
> [eva] computing for function printf_va_1 <- main. > [eva] computing for function printf_va_1 <- main.
......
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 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_octagons/allocated.0.res.oracle
273c273 273c273
< j ∈ [1..2147483647] < j ∈ [1..2147483647]
......
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 diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_symblocs/alloc_weak.res.oracle
36,37d35 36,37d35
< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: < [eva:alarm] tests/builtins/alloc_weak.c:30: Warning:
......
/* 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;
}
/* 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;
}
/* 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;
}
...@@ -72,148 +72,193 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_apron/a ...@@ -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] < Frama_C_show_each_32_80: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164] > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164]
49,52c32 55,56d37
< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
< [eva] tests/value/auto_loop_unroll.c:90: 60,62c41
< Frama_C_show_each_11_111: [0..2147483647] < [eva:alarm] tests/value/auto_loop_unroll.c:93: Warning:
---
> [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:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
72c50,53 < [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: [0..2147483647]
< [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: {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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
82c63,66 81c63,66
< [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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
91c75,78 90c75,78
< [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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
108c95,98 107c95,98
< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr < [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr
--- ---
> [eva] computing for function incr <- various_loops <- main. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
115,116d104 114,115d104
< [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning:
< signed overflow. assert g + 1 ≤ 2147483647; < signed overflow. assert g + 1 ≤ 2147483647;
119c107,110 118c107,110
< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr < [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.
> [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
--- ---
> [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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
134,135d136 121,122d112
< [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning:
< signed overflow. assert i + 1 ≤ 2147483647; < signed overflow. assert i + 1 ≤ 2147483647;
138c139 125c115
< [eva] tests/value/auto_loop_unroll.c:105: Frama_C_show_each_25: [0..2147483647] < [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} > [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: {25}
144c145,146 131c121,122
< [eva] tests/value/auto_loop_unroll.c:114: Frama_C_show_each_120: [0..2147483647] < [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] > Frama_C_show_each_120: [15..2147483647]
160,161d161 133,136c124
< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
168c168 < [eva] tests/value/auto_loop_unroll.c:122:
< Frama_C_show_each_imprecise: [0..2147483647] < Frama_C_show_each_32_64: [0..2147483647]
--- ---
> Frama_C_show_each_imprecise: [10..2147483647] > [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [0..65]
170,174c170,174 152,153d139
< [eva:alarm] tests/value/auto_loop_unroll.c:156: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
< [eva] tests/value/auto_loop_unroll.c:158: 160c146
< Frama_C_show_each_imprecise: [0..2147483647] < 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} > Frama_C_show_each_imprecise: [10..2147483647]
> [eva] computing for function incr_g <- complex_loops <- main. 178,183c164,172
> Called from tests/value/auto_loop_unroll.c:163. < [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
> [eva] Recording results for incr_g < [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
> [eva] Done for function incr_g < [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning:
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:
< signed overflow. assert res + 1 ≤ 2147483647; < 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] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> [eva] computing for function incr_g <- complex_loops <- main. > [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] Recording results for incr_g
> [eva] Done for function incr_g > [eva] Done for function incr_g
> [eva] computing for function incr_g <- complex_loops <- main. > [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] Recording results for incr_g
> [eva] Done for function 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]
195,198c198 185,188c174
< [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; < 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] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9] > [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9]
200,203c200 190,191d175
< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
< [eva] tests/value/auto_loop_unroll.c:184: 195c179
< Frama_C_show_each_imprecise: [0..2147483647] < 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]
210c207 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..2147483647]
--- ---
> __retres ∈ [1..25] > __retres ∈ [1..25]
212c209 283c251
< g ∈ [1..2147483647] < 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 diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/auto_loop_unroll.1.res.oracle
15,18c15 15,18c15
< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: < [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 ...@@ -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} > [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100}
58c52,55 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
67c64,67 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
76c76,79 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
85c88,91 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
94c100,103 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
103c112,115 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
112c124,127 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
121c136,139 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
130c148,151 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
139c160,163 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
148c172,175 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
157c184,187 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
166c196,199 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
175c208,211 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
184c220,223 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
193c232,235 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
202c244,247 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
211c256,259 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
220c268,271 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
229c280,283 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
238c292,295 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
247c304,307 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
256c316,319 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
265c328,331 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
274c340,343 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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
294,295d362 296,297d364
< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
302c369 304c371
< Frama_C_show_each_imprecise: [0..2147483647] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> Frama_C_show_each_imprecise: [10..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 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:162: 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] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g
< [eva:alarm] tests/value/auto_loop_unroll.c:165: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < 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] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> [eva] computing for function incr_g <- complex_loops <- main. > [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] Recording results for incr_g
> [eva] Done for function incr_g > [eva] Done for function incr_g
> [eva] computing for function incr_g <- complex_loops <- main. > [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] Recording results for incr_g
> [eva] Done for function 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 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; < 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] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9] > [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9]
334,337c401 334,335d400
< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
< [eva] tests/value/auto_loop_unroll.c:184: 339c404
< Frama_C_show_each_imprecise: [0..2147483647] < 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 diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_apron/backward_add_ptr.res.oracle
71c71,74 71c71,74
< [eva] tests/value/backward_add_ptr.c:91: Reusing old results for call to gm < [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 ...@@ -1149,8 +1237,8 @@ diff tests/value/oracle/offsetmap.1.res.oracle tests/value/oracle_apron/offsetma
> b ∈ {0; 1} > b ∈ {0; 1}
> a7 ∈ {1} > a7 ∈ {1}
diff tests/value/oracle/partitioning-annots.4.res.oracle tests/value/oracle_apron/partitioning-annots.4.res.oracle diff tests/value/oracle/partitioning-annots.4.res.oracle tests/value/oracle_apron/partitioning-annots.4.res.oracle
14,15d13 15,16d14
< [eva:alarm] tests/value/partitioning-annots.c:134: Warning: < [eva:alarm] tests/value/partitioning-annots.c:138: Warning:
< division by zero. assert j ≢ 0; < division by zero. assert j ≢ 0;
diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/precise_locations.res.oracle diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/precise_locations.res.oracle
32,35c32,47 32,35c32,47
...@@ -1394,6 +1482,7 @@ diff tests/value/oracle/undefined_sequence.1.res.oracle tests/value/oracle_apron ...@@ -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. > Called from tests/value/undefined_sequence.i:54.
> [eva] Recording results for g > [eva] Recording results for g
> [eva] Done for function 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 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_apron/unroll.res.oracle
13,14d12 13,14d12
< [eva:alarm] tests/value/unroll.i:34: Warning: < [eva:alarm] tests/value/unroll.i:34: Warning:
......
...@@ -24,10 +24,10 @@ diff tests/value/oracle/addition.res.oracle tests/value/oracle_bitwise/addition. ...@@ -24,10 +24,10 @@ diff tests/value/oracle/addition.res.oracle tests/value/oracle_bitwise/addition.
--- ---
> p10 ∈ {{ garbled mix of &{p1} }} > p10 ∈ {{ garbled mix of &{p1} }}
diff tests/value/oracle/bitwise.res.oracle tests/value/oracle_bitwise/bitwise.res.oracle diff tests/value/oracle/bitwise.res.oracle tests/value/oracle_bitwise/bitwise.res.oracle
79c79,82 98c98,101
< [eva] tests/value/bitwise.i:144: Frama_C_show_each_dead: {0} < [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 > The evaluation of the expression x & 2
> led to bottom without alarms: > led to bottom without alarms:
> at this point the product of states has no possible concretization. > 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 ...@@ -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} < 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. > [eva] tests/value/logic_ptr_cast.i:8: Assigning imprecise value to p.
Only in tests/value/oracle: unit_tests.res.oracle
...@@ -121,18 +121,18 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_equalities/alias.6 ...@@ -121,18 +121,18 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_equalities/alias.6
--- ---
> x ∈ {33} > x ∈ {33}
diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle
82c82,85 81c81,84
< [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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
91c94,97 90c93,96
< [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. > [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] Recording results for incr
> [eva] Done for function incr > [eva] Done for function incr
diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_equalities/backward_add_ptr.res.oracle 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 ...@@ -688,7 +688,7 @@ diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_equalities/non
> [kernel] tests/value/non_natural.i:39: > [kernel] tests/value/non_natural.i:39:
> more than 200(12500) elements to enumerate. Approximating. > more than 200(12500) elements to enumerate. Approximating.
diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_equalities/nonlin.res.oracle diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_equalities/nonlin.res.oracle
188c188 194c194
< q ∈ {{ &x + [-400..400],0%4 }} < q ∈ {{ &x + [-400..400],0%4 }}
--- ---
> q ∈ {{ &x }} > q ∈ {{ &x }}
...@@ -867,3 +867,4 @@ diff tests/value/oracle/struct2.res.oracle tests/value/oracle_equalities/struct2 ...@@ -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..1];
--- ---
> [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0]; > [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
...@@ -47,20 +47,98 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_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] < Frama_C_show_each_32_80: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83] > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83]
49,52c32 55,56d37
< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < 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] < Frama_C_show_each_11_111: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:90: Frama_C_show_each_11_111: [11..111] > [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111]
60,61d39 239,241c203
< [eva:alarm] tests/value/auto_loop_unroll.c:96: Warning: < [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning:
< signed overflow. assert res + 1 ≤ 2147483647; < signed overflow. assert res + 1 ≤ 2147483647;
63c41 < [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647]
< Frama_C_show_each_40_50: [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 diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle
15,18c15 15,18c15
< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: < [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/ ...@@ -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] < Frama_C_show_each_imprecise: [0..2147483647]
--- ---
> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} > [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 diff tests/value/oracle/bad_loop.res.oracle tests/value/oracle_gauges/bad_loop.res.oracle
6a7 6a7
> [eva] tests/value/bad_loop.i:12: starting to merge loop iterations > [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 ...@@ -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 > [eva] tests/value/undefined_sequence.i:43: starting to merge loop iterations
101a103 101a103
> [eva] tests/value/undefined_sequence.i:49: starting to merge loop iterations > [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 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_gauges/unroll.res.oracle
13,14d12 13,14d12
< [eva:alarm] tests/value/unroll.i:34: Warning: < [eva:alarm] tests/value/unroll.i:34: Warning:
......
...@@ -33,6 +33,20 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_octagons/alias.6.r ...@@ -33,6 +33,20 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_octagons/alias.6.r
> tz1 ∈ {1} > tz1 ∈ {1}
> tz2 ∈ {1} > tz2 ∈ {1}
> tz3 ∈ {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 diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_octagons/bitfield.res.oracle
138a139,141 138a139,141
> [eva] tests/value/bitfield.i:71: > [eva] tests/value/bitfield.i:71:
...@@ -238,23 +252,23 @@ diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_octagons/non_n ...@@ -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: > [kernel] tests/value/non_natural.i:39:
> more than 200(12500) elements to enumerate. Approximating. > more than 200(12500) elements to enumerate. Approximating.
diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_octagons/nonlin.res.oracle diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_octagons/nonlin.res.oracle
107a108,109 113a114,115
> [eva:nonlin] tests/value/nonlin.c:65: non-linear 'x * x', lv 'x' > [eva:nonlin] tests/value/nonlin.c:71: non-linear 'x * x', lv 'x'
> [eva:nonlin] tests/value/nonlin.c:65: subdividing on x > [eva:nonlin] tests/value/nonlin.c:71: subdividing on x
110a113,115 116a119,121
> [eva:nonlin] tests/value/nonlin.c:66: subdividing on x > [eva:nonlin] tests/value/nonlin.c:72: subdividing on x
> [eva:nonlin] tests/value/nonlin.c:66: non-linear 'y * y', lv 'y' > [eva:nonlin] tests/value/nonlin.c:72: non-linear 'y * y', lv 'y'
> [eva:nonlin] tests/value/nonlin.c:66: subdividing on y > [eva:nonlin] tests/value/nonlin.c:72: subdividing on y
113a119,120 119a125,126
> [eva:nonlin] tests/value/nonlin.c:68: non-linear 'z * x + x * y', lv 'x' > [eva:nonlin] tests/value/nonlin.c:74: non-linear 'z * x + x * y', lv 'x'
> [eva:nonlin] tests/value/nonlin.c:68: subdividing on x > [eva:nonlin] tests/value/nonlin.c:74: subdividing on x
151a159,160 157a165,166
> [eva:nonlin] tests/value/nonlin.c:112: non-linear 'x * x', lv 'x' > [eva:nonlin] tests/value/nonlin.c:118: non-linear 'x * x', lv 'x'
> [eva:nonlin] tests/value/nonlin.c:112: subdividing on x > [eva:nonlin] tests/value/nonlin.c:118: subdividing on x
154a164 160a170
> [eva:nonlin] tests/value/nonlin.c:113: subdividing on x > [eva:nonlin] tests/value/nonlin.c:119: subdividing on x
155a166 161a172
> [eva:nonlin] tests/value/nonlin.c:115: subdividing on x > [eva:nonlin] tests/value/nonlin.c:121: subdividing on x
diff tests/value/oracle/plevel.res.oracle tests/value/oracle_octagons/plevel.res.oracle diff tests/value/oracle/plevel.res.oracle tests/value/oracle_octagons/plevel.res.oracle
12d11 12d11
< [eva] Recording results for main < [eva] Recording results for main
...@@ -386,6 +400,7 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_octagons/test.0.res ...@@ -386,6 +400,7 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_octagons/test.0.res
< j ∈ [-1073741822..1] < j ∈ [-1073741822..1]
--- ---
> j ∈ {-1; 0; 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 diff tests/value/oracle/unroll.res.oracle tests/value/oracle_octagons/unroll.res.oracle
22c22 22c22
< G ∈ [17739..2147483647] < G ∈ [17739..2147483647]
......
...@@ -326,3 +326,4 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_symblocs/test.0.res ...@@ -326,3 +326,4 @@ diff tests/value/oracle/test.0.res.oracle tests/value/oracle_symblocs/test.0.res
< tmp ∈ [--..--] or UNINITIALIZED < tmp ∈ [--..--] or UNINITIALIZED
--- ---
> tmp ∈ [-2147483647..2147483647] or UNINITIALIZED > tmp ∈ [-2147483647..2147483647] or UNINITIALIZED
Only in tests/value/oracle: unit_tests.res.oracle
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment