void abort() { }; extern int __VERIFIER_nondet_int(); extern _Bool __VERIFIER_nondet_bool(); extern char __VERIFIER_nondet_char(); extern double __VERIFIER_nondet_double(); extern float __VERIFIER_nondet_float(); extern unsigned long __VERIFIER_nondet_ulong(); extern unsigned long long __VERIFIER_nondet_ulonglong(); extern unsigned int __VERIFIER_nondet_uint(); extern int __VERIFIER_nondet_int(); 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; } extern _Bool __VERIFIER_nondet_bool(); extern int __VERIFIER_nondet_int(); void foo() { int y=0; _Bool c1=__VERIFIER_nondet_bool(), c2=__VERIFIER_nondet_bool(); if (c1) y++; if (c2) y--; else y+=10; } int main() { int d = 1; int x = __VERIFIER_nondet_int(); if (!(x <= 1000000 && x >= -1000000)) return 0; _Bool c1=__VERIFIER_nondet_bool(), c2=__VERIFIER_nondet_bool(); if (c1) d = d - 1; if (c2) foo(); c1=__VERIFIER_nondet_bool(), c2=__VERIFIER_nondet_bool(); if (c1) foo(); if (c2) d = d - 1; // START HAVOCABSTRACTION if (x > (0)) { x = __VERIFIER_nondet_int(); } if (x > (0)) abort(); // END HAVOCABSTRACTION __VERIFIER_assert(x<=0); }