void abort() { }; void assume_abort_if_not(int cond) { if(!cond) {abort();} } /*@ requires ((\old(cond) != 0)) && (cond != 0); ensures ((\old(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) { if (x < (100)) { x = __VERIFIER_nondet_int(); } if (x < (100)) abort(); } __VERIFIER_assert(y<=0 || (y>0 && x>=100)); return 0; }