/* * Date: 2012-12-14 * Author: Jan Leike and heizmann@informatik.uni-freiburg.de * * Has linear ranking function f(x)=x with supporting invariant * (y>=100 /\ z=1) \/ (y>=99 /\ z=1). * However, there is no linear supporting invariant for this ranking function. * * Has a three phase ranking function. */ typedef enum {false, true} bool; extern int __VERIFIER_nondet_int(void); int main() { int x, y, z; x = __VERIFIER_nondet_int(); y = 100; z = 1; while (x >= 0) { x = x - y; y = y - z; z = -z; } return 0; }