void abort() { }; extern unsigned int __VERIFIER_nondet_uint(); /*@ requires ((cond != 0)) && (cond != 0); ensures ((cond != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {/*@ assert(0); */;abort();} } return; } int main() { unsigned int x = __VERIFIER_nondet_uint(); unsigned int y = x; /*@ loop invariant ((y == x)); @*/ while (x < 1024) { x++; y++; } __VERIFIER_assert(x == y); }