NestedRecursion_1b_true-termination.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:16.0
disk size 441 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
/*
 * Date: 06/07/2015
 * Created by: Ton Chanh Le (chanhle@comp.nus.edu.sg)
 * Adapted from AProVE_numeric/ex3.c
 */

extern int __VERIFIER_nondet_int();
int rec1(int i);
int rec2(int j);

int rec1(int i) {
  if(i <= 0)
    return 0;
  return rec1(rec1(rec1(i-2) - 1)) + 1;
}

int rec2(int j) {
  if(j <= 0)
    return 0;
  return rec2(rec1(j-1)) - 1;
}

int main() {
  int x = __VERIFIER_nondet_int();
  rec2(x);
}
popout

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

actions get anonymous link download benchmark