extern void abort(void); extern void __assert_fail(const char *, const char *, unsigned int, const char *) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); void reach_error() { __assert_fail("0", "while_infinite_loop_3.c", 3, "reach_error"); } void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {reach_error();abort();} } return; } int x=0; void eval(void) { while (1) { x=0; break; } return; } int main() { while(1) { eval(); __VERIFIER_assert(x==0); } __VERIFIER_assert(x!=0); return 0; }