void abort() { }; /*@ requires ((cond != 0)) && (cond != 0); ensures ((cond != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {/*@ assert(0); */;abort();} } return; } unsigned int __VERIFIER_nondet_uint(); /*@ requires (1); ensures (0); @*/ int main() { unsigned int sn=0; unsigned int loop1=__VERIFIER_nondet_uint(), n1=__VERIFIER_nondet_uint(); unsigned int x=0; /*@ loop invariant (((((long long) x * 2) == (((x / 2147483648) * 4294967296) + sn)) && (0 <= (x / 2147483648)))); @*/ while(1) { sn = sn + (2); x++; __VERIFIER_assert(sn==x*(2) || sn == 0); } }