// verifast_options{disable_overflow_check target:ILP32} extern void abort(void); //@ requires true; //@ ensures true; void reach_error() //@ requires false; //@ ensures true; {} void __VERIFIER_assert(int cond) //@ requires ((0 <= cond) && (cond <= 1)); //@ ensures ((0 <= cond) && (cond <= 1)); { if (!(cond)) { ERROR: {reach_error();abort();} } return; } int main(void) //@ requires module(nested_1_1__verifast_instrumented, true); //@ ensures junk(); { //@ open_module(); unsigned int x = 0; unsigned int y = 0; while (x < 0x0fffffff) //@ invariant ((x == 0) || (((x + 4294967295) % 4294967296) < 268435455)); { y = 0; while (y < 10) //@ invariant ((x == 0) || ((x <= 268435454) && (((x + 4294967295) % 4294967296) <= 268435454))); { y++; } x++; } __VERIFIER_assert(x % 2); return 0; }