// S : tags sym big c $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify --symbolic --solver $solver --sequential $V_OPT test.bc extern int __VERIFIER_nondet_int(void); extern void __VERIFIER_error(void); int id(int x) { if (x==0) return 0; int ret = id((unsigned int)x-1) + 1; if (ret > 5) return 5; return ret; } int main(void) { int input = __VERIFIER_nondet_int(); int result = id(input); if (result == 10) { ERROR: __VERIFIER_error(); } }