/* * Date: 2014-06-08 * Author: leike@informatik.uni-freiburg.de * * * This is Example 2.19 from the test suit used in * * Termination Proofs for Linear Simple Loops. * Hong Yi Chen, Shaked Flur, and Supratik Mukhopadhyay. * SAS 2012. * * The test suite is available at the following URL. * https://tigerbytes2.lsu.edu/users/hchen11/lsl/LSL_benchmark.txt * * Comment: terminating, non-linear */ typedef enum {false, true} bool; extern int __VERIFIER_nondet_int(void); int main() { int x, y; x = __VERIFIER_nondet_int(); y = __VERIFIER_nondet_int(); while (x + y > 0) { x = x - 1; y = -2*y; } return 0; }