void abort() { }; extern unsigned int __VERIFIER_nondet_uint(); /*@ requires ((cond != 0)) && (cond != 0); ensures ((cond != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { ERROR: { /*@ assert(0); */; abort(); } } else { } return; } void func_to_recursive_line_13_to_18_0(unsigned int *s) { if (__VERIFIER_nondet_uint()) { { if ((*s) != 0) { ++(*s); } else { } if (__VERIFIER_nondet_uint()) { __VERIFIER_assert((*s) == 0); } else { } } func_to_recursive_line_13_to_18_0(s); } else { } } int main() { unsigned int s = 0; func_to_recursive_line_13_to_18_0(&s); return 0; }