(meta-info (comment "Ctrl example from examples-transformed/student/fib09.ctrs")) (format LCTRS :logic QF_LIA) (fun p 5 :sort (Int Int Int Int Int Unit)) (fun return 1 :sort (Int Unit)) (fun w 5 :sort (Int Int Int Int Int Unit)) (fun v 5 :sort (Int Int Int Int Int Unit)) (fun u 5 :sort (Int Int Int Int Int Unit)) (fun fastfib 1 :sort (Int Unit)) (rule (p n x y z i) (return x) :guard (not (< i n)) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (p n x y z i) (p n (+ x y) x x (+ i 1)) :guard (< i n) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (w n x y z i) (p n x y z 1) :guard (not (> n 46)) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (w n x y z i) (return -1) :guard (> n 46) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (v n x y z i) (return n) :guard (not (< n 0)) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (v n x y z i) (return 0) :guard (< n 0) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (u n x y z i) (w n x y z i) :guard (not (<= n 1)) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (u n x y z i) (v n x y z i) :guard (<= n 1) :vars ((n Int) (x Int) (y Int) (z Int) (i Int))) (rule (fastfib n) (u n 1 0 rnd3 rnd4) :vars ((n Int) (rnd3 Int) (rnd4 Int)))