void abort() { }; /*@ requires ((1 <= cond)) && (cond != 0); ensures ((1 <= cond)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { ERROR: { /*@ assert(0); */; abort(); } } else { } return; } void func_to_recursive_line_20_to_25_0(unsigned int *k, unsigned int *j, unsigned int *i) { if ((*k) < 0x0fffffff) { { *i = (*i) + 1; *j = (*j) + 2; *k = (*k) + 3; __VERIFIER_assert((*k) == ((*i) + (*j))); } func_to_recursive_line_20_to_25_0(k, j, i); } else { } } int main() { unsigned int i = 0; unsigned int j = 0; unsigned int k = 0; func_to_recursive_line_20_to_25_0(&k, &j, &i); }