void abort() { }; extern int __VERIFIER_nondet_int(); extern _Bool __VERIFIER_nondet_bool(); /*@ requires ((1 <= cond)) && (cond != 0); ensures ((1 <= cond)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { /*@ assert(0); */; } } int main() { int k = __VERIFIER_nondet_int(); int j = __VERIFIER_nondet_int(); int n = __VERIFIER_nondet_int(); if (!(n>=1 && k>=n && j==0)) return 0; /*@ loop invariant (((n <= ((long long) k + j)) && (0 <= k))); @*/ while (j<=n-1) { j++; k--; } __VERIFIER_assert(k>=0); return 0; }