// S : tags sym inf c big $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify --symbolic --solver $solver --sequential -o nofail:malloc $V_OPT test.bc #include extern int __VERIFIER_nondet_int(void); extern bool __VERIFIER_nondet_bool(void); extern void __VERIFIER_assert(int); //x is an input variable int x; void foo() { x--; } int main() { x=__VERIFIER_nondet_int(); while (x > 0) { _Bool c = __VERIFIER_nondet_bool(); if(c) foo(); else foo(); } __VERIFIER_assert(x<=0); }