WORST_CASE(?,O(n^3)) Solution: --------- 0 :: [] -(0)-> A(3, 3, 4) 0 :: [] -(0)-> A(2, 2, 0) 0 :: [] -(0)-> A(1, 0, 0) 0 :: [] -(0)-> A(0, 0, 0) add :: [A(1, 0, 0) x A(0, 0, 0)] -(1)-> A(0, 0, 0) cons :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) dbl :: [A(2, 2, 0)] -(1)-> A(0, 0, 0) first :: [A(0, 0, 0) x A(0, 0, 0)] -(1)-> A(0, 0, 0) nil :: [] -(0)-> A(0, 0, 0) recip :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) s :: [A(6, 7, 4)] -(3)-> A(3, 3, 4) s :: [A(4, 2, 0)] -(2)-> A(2, 2, 0) s :: [A(1, 0, 0)] -(1)-> A(1, 0, 0) s :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) sqr :: [A(3, 3, 4)] -(1)-> A(0, 0, 0) terms :: [A(3, 3, 4)] -(2)-> A(0, 0, 0) Cost Free Signatures: --------------------- 0 :: [] -(0)-> A_cf(1, 2, 0) 0 :: [] -(0)-> A_cf(1, 0, 0) 0 :: [] -(0)-> A_cf(2, 0, 0) 0 :: [] -(0)-> A_cf(1, 1, 1) 0 :: [] -(0)-> A_cf(0, 0, 0) add :: [A_cf(1, 0, 0) x A_cf(1, 0, 0)] -(0)-> A_cf(1, 0, 0) add :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) dbl :: [A_cf(2, 0, 0)] -(0)-> A_cf(1, 0, 0) dbl :: [A_cf(2, 0, 0)] -(1)-> A_cf(1, 0, 0) s :: [A_cf(3, 2, 0)] -(1)-> A_cf(1, 2, 0) s :: [A_cf(1, 0, 0)] -(1)-> A_cf(1, 0, 0) s :: [A_cf(2, 0, 0)] -(2)-> A_cf(2, 0, 0) s :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) sqr :: [A_cf(1, 2, 0)] -(0)-> A_cf(1, 0, 0)