; @origtpdbfilename ./TRS/TRCSR/ExSec11_1_Luc02a_GM.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/ExSec11_1_Luc02a_GM.xml" (format TRS) (fun a__terms 1) (fun cons 2) (fun recip 1) (fun a__sqr 1) (fun mark 1) (fun terms 1) (fun s 1) (fun |0| 0) (fun a__add 2) (fun a__dbl 1) (fun a__first 2) (fun nil 0) (fun first 2) (fun a__half 1) (fun dbl 1) (fun sqr 1) (fun add 2) (fun half 1) (rule (a__terms N) (cons (recip (a__sqr (mark N))) (terms (s N)))) (rule (a__sqr |0|) |0|) (rule (a__sqr (s X)) (s (a__add (a__sqr (mark X)) (a__dbl (mark X))))) (rule (a__dbl |0|) |0|) (rule (a__dbl (s X)) (s (s (a__dbl (mark X))))) (rule (a__add |0| X) (mark X)) (rule (a__add (s X) Y) (s (a__add (mark X) (mark Y)))) (rule (a__first |0| X) nil) (rule (a__first (s X) (cons Y Z)) (cons (mark Y) (first X Z))) (rule (a__half |0|) |0|) (rule (a__half (s |0|)) |0|) (rule (a__half (s (s X))) (s (a__half (mark X)))) (rule (a__half (dbl X)) (mark X)) (rule (mark (terms X)) (a__terms (mark X))) (rule (mark (sqr X)) (a__sqr (mark X))) (rule (mark (add X1 X2)) (a__add (mark X1) (mark X2))) (rule (mark (dbl X)) (a__dbl (mark X))) (rule (mark (first X1 X2)) (a__first (mark X1) (mark X2))) (rule (mark (half X)) (a__half (mark X))) (rule (mark (cons X1 X2)) (cons (mark X1) X2)) (rule (mark (recip X)) (recip (mark X))) (rule (mark (s X)) (s (mark X))) (rule (mark |0|) |0|) (rule (mark nil) nil) (rule (a__terms X) (terms X)) (rule (a__sqr X) (sqr X)) (rule (a__add X1 X2) (add X1 X2)) (rule (a__dbl X) (dbl X)) (rule (a__first X1 X2) (first X1 X2)) (rule (a__half X) (half X))