void abort() { }; void assume_abort_if_not(int cond) { if(!cond) {abort();} } /*@ requires ((cond != 0)) && (cond != 0); ensures ((cond != 0)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {/*@ assert(0); */;abort();} } return; } int __VERIFIER_nondet_int(); _Bool __VERIFIER_nondet_bool(); int main() { int x=__VERIFIER_nondet_int(); int y=__VERIFIER_nondet_int(); if (!(y <= 1000000)) return 0; if (y>0) { while(x<100) { x=x+y; } } __VERIFIER_assert(y<=0 || (y>0 && x>=100)); return 0; }