NestedRecursion_2c_true-termination.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:16.0
disk size 398 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: 07/07/2015
 * Created by: Ton Chanh Le (chanhle@comp.nus.edu.sg)
 * Adapted from "Inductive Invariants for Nested Recursion"
 * by Sava Krstic and John Matthews
 */

extern int __VERIFIER_nondet_int();

int g(int x)
{
  if (x == 0) 
    return 1;
  else
    return g(g(x - 1) - 1);
}

int main() {
  int x = __VERIFIER_nondet_int();
  if (x < 0) return 0;
  g(x);
}
popout

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

actions get anonymous link download benchmark