void abort() { }; extern int __VERIFIER_nondet_int(); /*@ requires ((\old(cond) != 0)) && (cond != 0); ensures ((\old(cond) != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { ERROR: { /*@ assert(0); */; abort(); } } else { } return; } void func_to_recursive_line_13_to_14_0(unsigned int *x) { if (__VERIFIER_nondet_int()) { { *x += 2; } func_to_recursive_line_13_to_14_0(x); } else { } } int main() { unsigned int x = 0; func_to_recursive_line_13_to_14_0(&x); __VERIFIER_assert(!(x % 2)); return 0; }