// verifast_options{disable_overflow_check target:ILP32} extern void abort(void);//@ requires true; //@ ensures true; extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void __assert (const char *__assertion, const char *__file, int __line) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); void reach_error() //@ requires false; //@ ensures true; { ((void) sizeof ((0) ? 1 : 0), __extension__ ({ if (0) ; else __assert_fail ("0", "assert.h", 3, __extension__ __PRETTY_FUNCTION__); })); } extern void abort(void); void assume_abort_if_not(int cond) //@ requires true; //@ ensures true; { if(!cond) {abort();} } void __VERIFIER_assert(int cond) //@ requires (1 <= cond); //@ ensures (1 <= cond); { if (!(cond)) { ERROR: {reach_error();abort();} } return; } int __VERIFIER_nondet_int();//@ requires true; //@ ensures true; int main() //@ requires module(gj2007__verifast_instrumented_modified, true); //@ ensures junk(); { int x = 0; int y = 50; while(x < 100)//@ invariant ((((((((((((((((((((((((((((((((((((((((((((((((((((x == 80) && (y == 80)) || ((x == 83) && (y == 83))) || ((67 == x) && (67 == y))) || ((x == 75) && (y == 75))) || ((x == 65) && (y == 65))) || ((66 == y) && (66 == x))) || ((94 == x) && (94 == y))) || ((81 == y) && (81 == x))) || ((57 == y) && (57 == x))) || ((51 == x) && (51 == y))) || ((y == 79) && (x == 79))) || ((y == 54) && (x == 54))) || ((98 == y) && (98 == x))) || ((x == 96) && (y == 96))) || ((92 == y) && (92 == x))) || ((y == 82) && (x == 82))) || ((77 == x) && (77 == y))) || ((88 == y) && (88 == x))) || ((x == 63) && (y == 63))) || ((59 == y) && (59 == x))) || ((x == 60) && (y == 60))) || ((y == 55) && (x == 55))) || ((y == 71) && (x == 71))) || ((x == 58) && (y == 58))) || ((y == 50) && (x <= 50))) || ((y == 62) && (x == 62))) || ((64 == y) && (64 == x))) || ((76 == y) && (76 == x))) || ((y == 93) && (x == 93))) || ((x == 69) && (y == 69))) || ((97 == x) && (97 == y))) || ((x == 61) && (y == 61))) || ((87 == y) && (87 == x))) || ((53 == y) && (53 == x))) || ((x == 70) && (y == 70))) || ((72 == y) && (72 == x))) || ((91 == y) && (91 == x))) || ((x == 74) && (y == 74))) || ((x == 52) && (y == 52))) || ((y == 99) && (x == 99))) || ((x == 73) && (y == 73))) || ((56 == y) && (56 == x))) || ((x == 78) && (y == 78))) || ((100 <= x) && (y == 100))) || ((84 == y) && (84 == x))) || ((68 == y) && (68 == x))) || ((95 == x) && (95 == y))) || ((y == 86) && (x == 86))) || ((x == 90) && (y == 90))) || ((y == 85) && (x == 85))) || ((x == 89) && (y == 89))); { if (x < 50) { x = x + 1; } else { x = x + 1; y = y + 1; } } __VERIFIER_assert(y == 100); return 0; }