void abort() { }; extern int __VERIFIER_nondet_int(); void assume_abort_if_not(int cond) { if (!cond) { abort(); } else { } } /*@ requires ((1 <= cond)) && (cond != 0); ensures ((1 <= cond)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { ERROR: { /*@ assert(0); */; } } else { } return; } void func_to_recursive_line_26_to_34_0(long long *x, int *k, long long *y, long long *c) { if (1) { { __VERIFIER_assert(((((*y) * (*y)) - (2 * (*x))) + (*y)) == 0); if (!((*c) < (*k))) { return; } else { } *c = (*c) + 1; *y = (*y) + 1; *x = (*y) + (*x); } func_to_recursive_line_26_to_34_0(x, k, y, c); } else { } } int main() { int k; long long y; long long x; long long c; k = __VERIFIER_nondet_int(); y = 0; x = 0; c = 0; func_to_recursive_line_26_to_34_0(&x, &k, &y, &c); __VERIFIER_assert((((y * y) - (2 * x)) + y) == 0); return 0; }