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 i = __VERIFIER_nondet_int(); if (!(i < 10 && i > -10)) return 0; /*@ loop invariant ((((i <= 9) && (0 <= ((long long) i + 9))) || ((i <= 10) && (0 <= ((long long) i + 8))))); @*/ while (i * i < 100) { i = i + 1; } __VERIFIER_assert(i == 10); return 0; }