SE547: CBMC: CBMC Algorithm [9/19] |
3) Unwind function calls and loops: just left with if, forward goto and assignment.
void test (int x, int y) { int i; int z; z=0; assume (x < y); i=x; if (i<y) { z=z+1; i=i+1; } if (i<y) { z=z+1; i=i+1; } if (i<y) { z=z+1; i=i+1; } if (i<y) { assume (false); } // what is this doing here? assert (z > 0); }
This is for --unwind 3 --no-unwinding-assertions
.