[Updated test .out files to match the current behaviour
tobias@goedderz.info**20141229145445
 Ignore-this: 7e078cbbab9513e12647732973f44793
] hunk ./tests/add.out 28
-             add          in 49     loops
+             add          in 290     loops
hunk ./tests/add.out 35
-add (S a0) (S a1) = S (fun98 (S a0) (S a1))
-fun1891 (S _) (S a1) = a1
-fun1892 (S a0) (S _) = a0
-fun308 (S a0) (S a1) = add (fun1891 (S a0) (S a1)) (fun1892 (S a0) (S a1))
-fun98 (S a0) (S a1) = S (fun308 (S a0) (S a1))
+add (S a0) (S a1) = S (fun49 (S a0) (S a1))
+fun11295 (S _) (S a1) = a1
+fun11296 (S a0) (S _) = a0
+fun49 (S a0) (S a1) = S (fun923 (S a0) (S a1))
+fun923 (S a0) (S a1) = add (fun11295 (S a0) (S a1)) (fun11296 (S a0) (S a1))
hunk ./tests/add.out 47
-add (S a0) (S a1) = S (fun98 (S a0) (S a1))
-fun1897 (S a0) (S _) = a0
-fun1898 (S _) (S a1) = a1
-fun308 (S a0) (S a1) = add (fun1897 (S a0) (S a1)) (fun1898 (S a0) (S a1))
-fun98 (S a0) (S a1) = S (fun308 (S a0) (S a1))
+add (S a0) (S a1) = S (fun49 (S a0) (S a1))
+fun11301 (S a0) (S _) = a0
+fun11302 (S _) (S a1) = a1
+fun49 (S a0) (S a1) = S (fun923 (S a0) (S a1))
+fun923 (S a0) (S a1) = add (fun11301 (S a0) (S a1)) (fun11302 (S a0) (S a1))
hunk ./tests/add.out 59
-add (S a0) (S a1) = S (fun98 (S a0) (S a1))
-fun1923 (S _) (S a1) = a1
-fun1924 (S a0) (S _) = a0
-fun308 (S a0) (S a1) = add (fun1923 (S a0) (S a1)) (fun1924 (S a0) (S a1))
-fun98 (S a0) (S a1) = S (fun308 (S a0) (S a1))
+add (S a0) (S a1) = S (fun49 (S a0) (S a1))
+fun11327 (S _) (S a1) = a1
+fun11328 (S a0) (S _) = a0
+fun49 (S a0) (S a1) = S (fun923 (S a0) (S a1))
+fun923 (S a0) (S a1) = add (fun11327 (S a0) (S a1)) (fun11328 (S a0) (S a1))
hunk ./tests/add.out 71
-add (S a0) (S a1) = S (fun98 (S a0) (S a1))
-fun1929 (S a0) (S _) = a0
-fun1930 (S _) (S a1) = a1
-fun308 (S a0) (S a1) = add (fun1929 (S a0) (S a1)) (fun1930 (S a0) (S a1))
-fun98 (S a0) (S a1) = S (fun308 (S a0) (S a1))
+add (S a0) (S a1) = S (fun49 (S a0) (S a1))
+fun11333 (S a0) (S _) = a0
+fun11334 (S _) (S a1) = a1
+fun49 (S a0) (S a1) = S (fun923 (S a0) (S a1))
+fun923 (S a0) (S a1) = add (fun11333 (S a0) (S a1)) (fun11334 (S a0) (S a1))
hunk ./tests/addN.out 28
-             addN         in 18     loops
+             addN         in 19     loops
hunk ./tests/addN.out 35
-fun1 a0 (Z : _) = a0
-fun1 a0 (S a1 : a2) = S (fun15 a0 (S a1 : a2))
-fun15 a0 (S a1 : a2) = fun1 (fun591 a0 (S a1 : a2)) (fun592 a0 (S a1 : a2))
+fun1 (Z) (a0 : _) = a0
+fun1 (S a0) (a1 : a2) = S (fun15 (S a0) (a1 : a2))
+fun15 (S a0) (a1 : a2) = fun1 (fun345 (S a0) (a1 : a2)) (fun346 (S a0) (a1 : a2))
hunk ./tests/addN.out 39
-fun591 a0 (S _ : _) = a0
-fun592 _ (S a1 : _) = [a1]
+fun345 (S a0) (_ : _) = a0
+fun346 (S _) (a1 : _) = [a1]
hunk ./tests/fib.out 28
-             fib          in 102     loops
+             fib          in 95     loops
hunk ./tests/fib.out 34
-fib (S (Z)) = S Z
-fib (S (S (Z))) = S Z
-fib (S (S (S a0))) = S (fun3 (S (S (S a0))))
-fun10 (S (S (S (Z)))) = Z
-fun10 (S (S (S (S a0)))) = S (fun47 (S (S (S (S a0)))))
-fun117 (S (S (S (S a0)))) = fun10 (S (S (S a0)))
-fun3 (S (S (S a0))) = S (fun4 (S (S (S a0))))
-fun4 (S (S (S a0))) = fib (fun10 (S (S (S a0))))
-fun47 (S (S (S (S a0)))) = S (fun117 (S (S (S (S a0)))))
+fib (S a0) = S (fun1 (S a0))
+fun1 (S (Z)) = Z
+fun1 (S (S (Z))) = Z
+fun1 (S (S (S a0))) = S (fun4 (S (S (S a0))))
+fun4 (S (S (S a0))) = fib (fun8 (S (S (S a0))))
+fun40 (S (S (S (S a0)))) = S (fun75 (S (S (S (S a0)))))
+fun75 (S (S (S (S a0)))) = fun8 (S (S (S a0)))
+fun8 (S (S (S (Z)))) = Z
+fun8 (S (S (S (S a0)))) = S (fun40 (S (S (S (S a0)))))
hunk ./tests/fibAdd.out 28
-             fibAdd       in 9     loops
+             fibAdd       in 10     loops
hunk ./tests/flatten.out 31
-                 [1mHYPOTHESIS 1 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 2 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 3 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 4 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 5 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 6 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 7 of 8[0m
-
-flatten (NilT) = []
-flatten (Node a0 (NilT) (NilT)) = [a0]
-flatten (Node a0 (Node a1 (NilT) (NilT)) (Node a2 (NilT) (NilT))) = [a0, a1, a2]
-flatten (Node a0 (Node a1 (Node a2 (NilT) (NilT)) (Node a3 (NilT) (NilT))) (Node a4 (Node a5 (NilT) (NilT)) (Node a6 (NilT) (NilT)))) = [a0, a1, a2, a3, a4, a5, a6]
-
-
-
-                 [1mHYPOTHESIS 8 of 8[0m
+                 [1mHYPOTHESIS 1 of 1[0m
hunk ./tests/lengths.out 37
-fun1 [a0 : a1, a2] = S (fun25 [a0 : a1, a2])
+fun1 [a0 : a1, a2] = S (fun23 [a0 : a1, a2])
hunk ./tests/lengths.out 40
-fun2 [[], a0] = [fun47 [[], a0]]
-fun2 [a0 : a1, a2] = fun2 (fun42 [a0 : a1, a2])
-fun25 [_ : a1, _] = fun1 [a1]
-fun42 [_ : a1, a2] = [a1, a2]
-fun47 [[], []] = Z
-fun47 [[], a0 : a1] = S (fun95 [[], a0 : a1])
-fun95 [[], a0 : a1] = fun47 (fun96 [[], a0 : a1])
+fun2 [[], a0] = [fun46 [[], a0]]
+fun2 [a0 : a1, a2] = fun2 (fun35 [a0 : a1, a2])
+fun23 [_ : a1, _] = fun1 [a1]
+fun35 [_ : _, a2] = [[], a2]
+fun46 [[], []] = Z
+fun46 [[], a0 : a1] = S (fun91 [[], a0 : a1])
+fun91 [[], a0 : a1] = fun46 (fun96 [[], a0 : a1])
hunk ./tests/powapp.out 31
-                 [1mHYPOTHESIS 1 of 4[0m
-
-powapp [a0] [a1] = [a0, a1]
-powapp [a0, a1] [a2, a3] = [a0, a1, a2, a3]
-powapp [a0, a1, a2, a3] [a4, a5, a6, a7] = [a0, a1, a2, a3, a4, a5, a6, a7]
-
-
-
-                 [1mHYPOTHESIS 2 of 4[0m
-
-powapp [a0] [a1] = [a0, a1]
-powapp [a0, a1] [a2, a3] = [a0, a1, a2, a3]
-powapp [a0, a1, a2, a3] [a4, a5, a6, a7] = [a0, a1, a2, a3, a4, a5, a6, a7]
-
-
-
-                 [1mHYPOTHESIS 3 of 4[0m
-
-powapp [a0] [a1] = [a0, a1]
-powapp [a0, a1] [a2, a3] = [a0, a1, a2, a3]
-powapp [a0, a1, a2, a3] [a4, a5, a6, a7] = [a0, a1, a2, a3, a4, a5, a6, a7]
-
-
-
-                 [1mHYPOTHESIS 4 of 4[0m
+                 [1mHYPOTHESIS 1 of 1[0m
hunk ./tests/reversE.out 28
-             reversE      in 13     loops
+             reversE      in 12     loops
hunk ./tests/reversE.out 37
-fun13 (a0 : (a1 : a2)) = fun5 (fun17 (a0 : (a1 : a2)))
-fun17 (_ : (a1 : a2)) = a1 : a2
+fun11 (a0 : (a1 : a2)) = fun5 (fun16 (a0 : (a1 : a2)))
+fun16 (_ : (a1 : a2)) = a1 : a2
hunk ./tests/reversE.out 41
-fun5 (a0 : (a1 : a2)) = a0 : fun13 (a0 : (a1 : a2))
+fun5 (a0 : (a1 : a2)) = a0 : fun11 (a0 : (a1 : a2))
hunk ./tests/shiftr.out 37
+fun10 (_ : (a1 : a2)) = a1 : a2
hunk ./tests/shiftr.out 40
-fun8 (a0 : (a1 : a2)) = fun2 (fun9 (a0 : (a1 : a2)))
-fun9 (_ : (a1 : a2)) = a1 : a2
+fun8 (a0 : (a1 : a2)) = fun2 (fun10 (a0 : (a1 : a2)))
hunk ./tests/switch.out 28
-             switch       in 13     loops
+             switch       in 12     loops
hunk ./tests/switch.out 37
-fun13 (a0 : (a1 : a2)) = fun2 (fun16 (a0 : (a1 : a2)))
-fun16 (_ : (a1 : a2)) = a1 : a2
+fun11 (a0 : (a1 : a2)) = fun2 (fun15 (a0 : (a1 : a2)))
+fun15 (_ : (a1 : a2)) = a1 : a2
hunk ./tests/switch.out 41
-fun5 (a0 : (a1 : a2)) = a0 : fun13 (a0 : (a1 : a2))
+fun5 (a0 : (a1 : a2)) = a0 : fun11 (a0 : (a1 : a2))