// verifast_options{disable_overflow_check target:ILP32} extern void abort(void);//@ requires true; //@ ensures true; extern void __assert_fail(const char *, const char *, unsigned int, const char *) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); void reach_error() //@ requires false; //@ ensures true; { __assert_fail("0", "afterrec_2calls-2.c", 3, "reach_error"); } void f(int); void f2(int); void f(int n) //@ requires (n == 2); //@ ensures (n == 2); { if (n<3) return; n--; f2(n); ERROR: {reach_error();abort();} } void f2(int n) //@ requires false; //@ ensures false; { if (n<3) return; n--; f(n); ERROR: {reach_error();abort();} } int main(void) //@ requires module(afterrec_2calls_2__verifast_instrumented_modified, true); //@ ensures junk(); { f(2); }