int SIZE = 50000001; void abort() { }; int __VERIFIER_nondet_int(); void assume_abort_if_not(int cond) { if(!cond) {abort();} } /*@ requires (((1 <= cond) && (50000001 <= SIZE))) && (cond != 0); ensures ((((1 <= cond) && (50000001 <= SIZE)) && (SIZE == \old(SIZE)))) && (1); @*/ void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {/*@ assert(0); */;abort();} } return; } /*@ requires ((50000001 <= SIZE)); ensures (((50000001 <= SIZE) && (SIZE == \old(SIZE)))); @*/ int main() { int i,j; i = 0; j=0; /*@ loop invariant (((((i >= 0) ? (i % 4) : ((i % 4) + 4)) == 0) && (50000001 <= SIZE))); @*/ while(i