joey_false-termination.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:16.0
disk size 428 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
/* A non-terminating example, given to me by Joey Feldberg
 * Date: 15.12.2013
 * Author: Amir Ben-Amram, amirben@cs.mta.ac.il
 *
 */

extern int __VERIFIER_nondet_int(void);

int rec(int x) {
    if (x <= 0) {
	  return x;
	} else if (x%2 == 0) {
      return rec(x/2);
    } else {
      int store = rec(++x);
      return store + rec(--x);
    }
}

int main() {
    int x = __VERIFIER_nondet_int();
    int y;
	y = rec(x);
}
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark