// verifast_options{disable_overflow_check target:ILP32} extern void abort(void); //@ requires true; //@ ensures true; void reach_error() //@ requires false; //@ ensures true; {}void __VERIFIER_assert(int cond) //@ requires (cond != 0); //@ ensures (cond != 0); { if (!(cond)) { ERROR: {reach_error();abort();} } return; } unsigned int __VERIFIER_nondet_uint(); //@ requires true; //@ ensures true; int main() //@ requires module(sum03_2__verifast_instrumented, true) &*& true; //@ ensures false &*& junk(); { //@ open_module(); unsigned int sn=0; unsigned int loop1=__VERIFIER_nondet_uint(), n1=__VERIFIER_nondet_uint(); unsigned int x=0; while(1) //@ invariant (((x * 2) == (((x / 2147483648) * 4294967296) + sn)) && (0 <= (x / 2147483648))); { sn = sn + (2); x++; __VERIFIER_assert(sn==x*(2) || sn == 0); } return 0; }