void abort() { }; extern int __VERIFIER_nondet_int(); extern _Bool __VERIFIER_nondet_bool(); /*@ requires ((\old(cond) != 0)) && (cond != 0); ensures ((\old(cond) != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!cond) { /*@ assert(0); */; } } int main() { int i = __VERIFIER_nondet_int(); int c = __VERIFIER_nondet_int(); if (!(c==0 && i==0)) return 0; /*@ loop invariant ((((((((1 <= c) && (i <= 2)) && (1 <= i)) || ((4 <= c) && (1 <= i))) || ((0 <= c) && (i == 0))) || (((1 <= i) && (i <= 3)) && (4 <= ((long long) i + c)))) || ((i == 1) && (0 <= c)))); @*/ while (i<100) { c=c+i; i=i+1; if (i<=0) break; } __VERIFIER_assert(c>=0); return 0; }