extern int __VERIFIER_nondet_int(); void abort() { }; /*@ requires (1); ensures ((\result < 9)); @*/ 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() { int input = __VERIFIER_nondet_int(); int result = id(input); if (result == 10) { ERROR: {/*@ assert(0); */;abort();} } }