WORST_CASE(?,O(n^1)) * Step 1: Desugar WORST_CASE(?,O(n^1)) + Considered Problem: type 'a list = Nil | Cons of 'a * 'a list ;; let rec foldr f z xs = match xs with | Nil -> z | Cons(x,xs') -> f x (foldr f z xs') ;; let fleft op e xs = let step x f a = f (op a x) in foldr step (fun u -> u) xs e ;; let rev l = fleft (fun xs x -> Cons(x,xs)) Nil l ;; + Applied Processor: Desugar {analysedFunction = Nothing} + Details: none * Step 2: Defunctionalization WORST_CASE(?,O(n^1)) + Considered Problem: λl : 'a29 list. (λfoldr : ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list. (λfleft : ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list. (λrev : 'a29 list -> 'a29 list. rev l) (λl : 'a29 list. fleft (λxs : 'a29 list. λx : 'a29. Cons(x,xs)) Nil l)) (λop : 'a29 list -> 'a29 -> 'a29 list. λe : 'a29 list. λxs : 'a29 list. (λstep : 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list. foldr step (λu : 'a29 list. u) xs e) (λx : 'a29. λf : 'a29 list -> 'a29 list. λa : 'a29 list. f (op a x)))) (μfoldr : ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list. λf : 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list. λz : 'a29 list -> 'a29 list. λxs : 'a29 list. case xs of | Nil -> z | Cons -> λx : 'a29. λxs' : 'a29 list. f x (foldr f z xs')) : 'a29 list -> 'a29 list where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list + Applied Processor: Defunctionalization + Details: none * Step 3: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x0) x2 -> main_3(x0) rev(x2) 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x1, x2, x3) x4 -> fleft_op_e_xs(x1, x3, x4) step(x2) 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x0) x1 -> main_2(x0) fleft(x1) 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x0 -> foldr_1() x0 21: main(x0) -> main_1(x0) foldr() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 4: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x0) x5 -> rev(x5) x0 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x0) x3 -> main_3(x0) rev(fleft(x3)) 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x0) -> main_2(x0) fleft(foldr()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 5: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x0) x7 -> rev(fleft(x7)) x0 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x0) -> rev(fleft(foldr())) x0 where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 6: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x6) x15 -> fleft(x15) rev_l() Nil() x6 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x6) -> fleft(foldr()) rev_l() Nil() x6 where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 7: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x13) x2 -> fleft_op(x2, rev_l()) Nil() x13 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x13) -> fleft_op(foldr(), rev_l()) Nil() x13 where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 8: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x27) x2 -> fleft_op_e(x2, rev_l(), Nil()) x27 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x27) -> fleft_op_e(foldr(), rev_l(), Nil()) x27 where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineRewrite, inlineSelect = } + Details: none * Step 9: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x16) x4 -> x4 step(rev_l()) fleft_op_e_xs_1() x16 Nil() 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x1, x2) x3 -> cond_foldr_f_z_xs(x3, x1, x2) 18: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 19: foldr_1() x1 -> foldr_f(x1) 20: foldr() x2 -> foldr_f(x2) 21: main(x16) -> foldr() step(rev_l()) fleft_op_e_xs_1() x16 Nil() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineFull, inlineSelect = } + Details: none * Step 10: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x16) x4 -> x4 step(rev_l()) fleft_op_e_xs_1() x16 Nil() 15: cond_foldr_f_z_xs(Nil(), x1, x2) -> x2 16: cond_foldr_f_z_xs(Cons(x4, x5), x1, x2) -> x1 x4 (foldr() x1 x2 x5) 17: foldr_f_z(x2, x4) Nil() -> x4 18: foldr_f_z(x2, x4) Cons(x8, x10) -> x2 x8 (foldr() x2 x4 x10) 19: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 20: foldr_1() x1 -> foldr_f(x1) 21: foldr() x2 -> foldr_f(x2) 22: main(x16) -> foldr() step(rev_l()) fleft_op_e_xs_1() x16 Nil() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list cond_foldr_f_z_xs :: 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: UsableRules {urType = Syntactic} + Details: none * Step 11: NeededRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x16) x4 -> x4 step(rev_l()) fleft_op_e_xs_1() x16 Nil() 17: foldr_f_z(x2, x4) Nil() -> x4 18: foldr_f_z(x2, x4) Cons(x8, x10) -> x2 x8 (foldr() x2 x4 x10) 19: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 20: foldr_1() x1 -> foldr_f(x1) 21: foldr() x2 -> foldr_f(x2) 22: main(x16) -> foldr() step(rev_l()) fleft_op_e_xs_1() x16 Nil() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: NeededRules + Details: none * Step 12: CFA WORST_CASE(?,O(n^1)) + Considered Problem: 1: main_3(x0) x3 -> x3 x0 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 4: rev(x2) x3 -> x2 rev_l() Nil() x3 5: main_2(x6) x4 -> x4 rev_l() Nil() x6 6: fleft_op_e_xs_1() x6 -> x6 7: fleft_op_e_xs(x1, x3, x4) x5 -> x1 x5 fleft_op_e_xs_1() x4 x3 8: step_x_f(x2, x5, x6) x7 -> x6 (x2 x7 x5) 9: step_x(x2, x5) x6 -> step_x_f(x2, x5, x6) 10: step(x2) x5 -> step_x(x2, x5) 11: fleft_op_e(x2, x5, x6) x8 -> x2 step(x5) fleft_op_e_xs_1() x8 x6 12: fleft_op(x1, x2) x3 -> fleft_op_e(x1, x2, x3) 13: fleft(x1) x2 -> fleft_op(x1, x2) 14: main_1(x16) x4 -> x4 step(rev_l()) fleft_op_e_xs_1() x16 Nil() 15: foldr_f_z(x2, x4) Nil() -> x4 16: foldr_f_z(x2, x4) Cons(x8, x10) -> x2 x8 (foldr() x2 x4 x10) 17: foldr_f(x1) x2 -> foldr_f_z(x1, x2) 18: foldr_1() x1 -> foldr_f(x1) 19: foldr() x2 -> foldr_f(x2) 20: main(x16) -> foldr() step(rev_l()) fleft_op_e_xs_1() x16 Nil() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list fleft_op :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev :: (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list fleft_op_e_xs :: (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list main_1 :: 'a29 list -> (('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list main_2 :: 'a29 list -> (('a29 list -> 'a29 -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list) -> 'a29 list main_3 :: 'a29 list -> ('a29 list -> 'a29 list) -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: CFA {cfaRefinement = } + Details: {X{*} -> Nil() | Cons(X{*},X{*}) | Nil() | Nil() | Nil() | Nil() | Cons(X{*},X{*}) ,V{x1_17} -> V{x2_19} ,V{x2_8} -> V{x2_9} ,V{x2_9} -> V{x2_10} ,V{x2_10} -> rev_l() ,V{x2_15} -> V{x1_17} ,V{x2_16} -> V{x1_17} ,V{x2_17} -> V{x4_16} | fleft_op_e_xs_1() ,V{x2_19} -> V{x2_16} | step(rev_l()) ,V{x4_2} -> V{x4_3} ,V{x4_3} -> V{x7_8} ,V{x4_15} -> V{x2_17} ,V{x4_16} -> V{x2_17} ,V{x5_2} -> V{x5_8} ,V{x5_8} -> V{x5_9} ,V{x5_9} -> V{x5_10} ,V{x5_10} -> V{x8_16} ,V{x6_6} -> R{2} | Nil() ,V{x6_8} -> V{x6_9} ,V{x6_9} -> R{16} | R{15} ,V{x7_8} -> R{2} | Nil() ,V{x8_16} -> X{*} ,V{x10_16} -> X{*} ,V{x16_20} -> X{*} ,R{0} -> R{20} | main(X{*}) ,R{2} -> Cons(V{x5_2},V{x4_2}) ,R{3} -> rev_l_1(V{x4_3}) ,R{6} -> V{x6_6} ,R{8} -> R{8} | R{6} | @(V{x6_8},R{2}) | @(V{x6_8},@(R{3},V{x5_8})) | @(V{x6_8},@(@(V{x2_8},V{x7_8}),V{x5_8})) ,R{9} -> step_x_f(V{x2_9},V{x5_9},V{x6_9}) ,R{10} -> step_x(V{x2_10},V{x5_10}) ,R{15} -> V{x4_15} ,R{16} -> R{9} | @(R{10},R{15}) | @(R{10},R{16}) | @(@(V{x2_16},V{x8_16}),R{16}) | @(@(V{x2_16},V{x8_16}),R{15}) | @(R{10},@(R{17},V{x10_16})) | @(@(V{x2_16},V{x8_16}),@(R{17},V{x10_16})) | @(R{10},@(@(R{19},V{x4_16}),V{x10_16})) | @(@(V{x2_16},V{x8_16}),@(@(R{19},V{x4_16}),V{x10_16})) | @(R{10},@(@(@(foldr(),V{x2_16}),V{x4_16}),V{x10_16})) | @(@(V{x2_16},V{x8_16}),@(@(@(foldr(),V{x2_16}),V{x4_16}),V{x10_16})) ,R{17} -> foldr_f_z(V{x1_17},V{x2_17}) ,R{19} -> foldr_f(V{x2_19}) ,R{20} -> R{8} | R{6} | @(R{16},Nil()) | @(R{15},Nil()) | @(@(R{17},V{x16_20}),Nil()) | @(@(@(R{19},fleft_op_e_xs_1()),V{x16_20}),Nil()) | @(@(@(@(foldr(),step(rev_l())),fleft_op_e_xs_1()),V{x16_20}),Nil())} * Step 13: UncurryATRS WORST_CASE(?,O(n^1)) + Considered Problem: 2: rev_l_1(x4) x5 -> Cons(x5, x4) 3: rev_l() x4 -> rev_l_1(x4) 6: fleft_op_e_xs_1() x6 -> x6 8: step_x_f(rev_l(), x5, step_x_f(x2, x3, x4)) x1 -> step_x_f(x2, x3, x4) (rev_l() x1 x5) 9: step_x_f(rev_l(), x2, fleft_op_e_xs_1()) x1 -> fleft_op_e_xs_1() (rev_l() x1 x2) 10: step_x(rev_l(), x2) x1 -> step_x_f(rev_l(), x2, x1) 11: step(rev_l()) x1 -> step_x(rev_l(), x1) 16: foldr_f_z(step(rev_l()), fleft_op_e_xs_1()) Nil() -> fleft_op_e_xs_1() 17: foldr_f_z(step(rev_l()), fleft_op_e_xs_1()) Cons(x2, x1) -> step(rev_l()) x2 (foldr() step(rev_l()) fleft_op_e_xs_1() x1) 18: foldr_f(step(rev_l())) fleft_op_e_xs_1() -> foldr_f_z(step(rev_l()), fleft_op_e_xs_1()) 20: foldr() step(rev_l()) -> foldr_f(step(rev_l())) 21: main(x1) -> foldr() step(rev_l()) fleft_op_e_xs_1() x1 Nil() where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list + Applied Processor: UncurryATRS + Details: none * Step 14: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l_1#1(x4, x5) -> Cons(x5, x4) 2: rev_l#1(x4) -> rev_l_1(x4) 3: rev_l#2(x4, x5) -> rev_l_1#1(x4, x5) 4: fleft_op_e_xs_1#1(x6) -> x6 5: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 6: step_x_f#1(rev_l(), x2, fleft_op_e_xs_1(), x1) -> fleft_op_e_xs_1#1(rev_l#2(x1, x2)) 7: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 8: step_x#2(rev_l(), x2, x1, x3) -> step_x_f#1(rev_l(), x2, x1, x3) 9: step#1(rev_l(), x1) -> step_x(rev_l(), x1) 10: step#2(rev_l(), x1, x2) -> step_x#1(rev_l(), x1, x2) 11: step#3(rev_l(), x1, x2, x3) -> step_x#2(rev_l(), x1, x2, x3) 12: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 13: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Nil(), x0) -> fleft_op_e_xs_1#1(x0) 14: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1)) -> step#2(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1)) 15: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1), x3) -> step#3(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1) , x3) 16: foldr_f#1(step(rev_l()), fleft_op_e_xs_1()) -> foldr_f_z(step(rev_l()), fleft_op_e_xs_1()) 17: foldr_f#2(step(rev_l()), fleft_op_e_xs_1(), x0) -> foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), x0) 18: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), x0, x1) -> foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1() , x0 , x1) 19: foldr#1(step(rev_l())) -> foldr_f(step(rev_l())) 20: foldr#2(step(rev_l()), x0) -> foldr_f#1(step(rev_l()), x0) 21: foldr#3(step(rev_l()), x0, x1) -> foldr_f#2(step(rev_l()), x0, x1) 22: foldr#4(step(rev_l()), x0, x1, x2) -> foldr_f#3(step(rev_l()), x0, x1, x2) 23: main(x1) -> foldr#4(step(rev_l()), fleft_op_e_xs_1(), x1, Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list fleft_op_e_xs_1#1 :: 'a29 list -> 'a29 list foldr#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#4 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#1 :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1#1 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineFull, inlineSelect = } + Details: none * Step 15: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l_1#1(x4, x5) -> Cons(x5, x4) 2: rev_l#1(x4) -> rev_l_1(x4) 3: rev_l#2(x4, x5) -> rev_l_1#1(x4, x5) 4: fleft_op_e_xs_1#1(x6) -> x6 5: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 6: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 7: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 8: step_x#2(rev_l(), x2, x1, x3) -> step_x_f#1(rev_l(), x2, x1, x3) 9: step#1(rev_l(), x1) -> step_x(rev_l(), x1) 10: step#2(rev_l(), x1, x2) -> step_x#1(rev_l(), x1, x2) 11: step#3(rev_l(), x1, x2, x3) -> step_x#2(rev_l(), x1, x2, x3) 12: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 13: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Nil(), x12) -> x12 14: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1)) -> step#2(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1)) 15: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1), x3) -> step#3(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1) , x3) 16: foldr_f#1(step(rev_l()), fleft_op_e_xs_1()) -> foldr_f_z(step(rev_l()), fleft_op_e_xs_1()) 17: foldr_f#2(step(rev_l()), fleft_op_e_xs_1(), x0) -> foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), x0) 18: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), x0, x1) -> foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1() , x0 , x1) 19: foldr#1(step(rev_l())) -> foldr_f(step(rev_l())) 20: foldr#2(step(rev_l()), x0) -> foldr_f#1(step(rev_l()), x0) 21: foldr#3(step(rev_l()), x0, x1) -> foldr_f#2(step(rev_l()), x0, x1) 22: foldr#4(step(rev_l()), x0, x1, x2) -> foldr_f#3(step(rev_l()), x0, x1, x2) 23: main(x1) -> foldr#4(step(rev_l()), fleft_op_e_xs_1(), x1, Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list fleft_op_e_xs_1#1 :: 'a29 list -> 'a29 list foldr#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#4 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#1 :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1#1 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: UsableRules {urType = Syntactic} + Details: none * Step 16: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l_1#1(x4, x5) -> Cons(x5, x4) 3: rev_l#2(x4, x5) -> rev_l_1#1(x4, x5) 5: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 6: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 7: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 8: step_x#2(rev_l(), x2, x1, x3) -> step_x_f#1(rev_l(), x2, x1, x3) 10: step#2(rev_l(), x1, x2) -> step_x#1(rev_l(), x1, x2) 11: step#3(rev_l(), x1, x2, x3) -> step_x#2(rev_l(), x1, x2, x3) 12: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 13: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Nil(), x12) -> x12 14: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1)) -> step#2(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1)) 15: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x1), x3) -> step#3(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x1) , x3) 17: foldr_f#2(step(rev_l()), fleft_op_e_xs_1(), x0) -> foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), x0) 18: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), x0, x1) -> foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1() , x0 , x1) 21: foldr#3(step(rev_l()), x0, x1) -> foldr_f#2(step(rev_l()), x0, x1) 22: foldr#4(step(rev_l()), x0, x1, x2) -> foldr_f#3(step(rev_l()), x0, x1, x2) 23: main(x1) -> foldr#4(step(rev_l()), fleft_op_e_xs_1(), x1, Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#4 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1#1 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineFull, inlineSelect = } + Details: none * Step 17: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l_1#1(x4, x5) -> Cons(x5, x4) 2: rev_l#2(x8, x10) -> Cons(x10, x8) 3: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 4: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 5: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 6: step_x#2(rev_l(), x2, x1, x3) -> step_x_f#1(rev_l(), x2, x1, x3) 7: step#2(rev_l(), x4, x2) -> step_x_f(rev_l(), x4, x2) 8: step#3(rev_l(), x4, x2, x6) -> step_x_f#1(rev_l(), x4, x2, x6) 9: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 10: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Nil(), x12) -> x12 11: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x3)) -> step_x#1(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x3)) 12: foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x3), x6) -> step_x#2(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1() , x3) , x6) 13: foldr_f#2(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 14: foldr_f#2(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x2)) -> step#2(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x2)) 15: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Nil(), x24) -> x24 16: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x2), x6) -> step#3(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x2) , x6) 17: foldr#3(step(rev_l()), fleft_op_e_xs_1(), x0) -> foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), x0) 18: foldr#4(step(rev_l()), fleft_op_e_xs_1(), x0, x2) -> foldr_f_z#2(step(rev_l()), fleft_op_e_xs_1() , x0 , x2) 19: main(x2) -> foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), x2, Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr#4 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#2 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list rev_l_1#1 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#2 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: UsableRules {urType = Syntactic} + Details: none * Step 18: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 2: rev_l#2(x8, x10) -> Cons(x10, x8) 3: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 4: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 5: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 8: step#3(rev_l(), x4, x2, x6) -> step_x_f#1(rev_l(), x4, x2, x6) 9: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 11: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x2, x3)) -> step_x#1(rev_l(), x2 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x3)) 15: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Nil(), x24) -> x24 16: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x2), x6) -> step#3(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x2) , x6) 17: foldr#3(step(rev_l()), fleft_op_e_xs_1(), x0) -> foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), x0) 19: main(x2) -> foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), x2, Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineFull, inlineSelect = } + Details: none * Step 19: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l#2(x8, x10) -> Cons(x10, x8) 2: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 3: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 4: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 5: step#3(rev_l(), x4, x2, x6) -> step_x_f#1(rev_l(), x4, x2, x6) 6: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 7: foldr_f_z#1(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x7)) -> step_x_f(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x7)) 8: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Nil(), x24) -> x24 9: foldr_f#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x8, x5), x12) -> step_x_f#1(rev_l(), x8 , foldr#3(step(rev_l()) , fleft_op_e_xs_1() , x5) , x12) 10: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 11: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x6)) -> step_x#1(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x6)) 12: main(Nil()) -> Nil() 13: main(Cons(x8, x4)) -> step#3(rev_l(), x8, foldr#3(step(rev_l()), fleft_op_e_xs_1(), x4), Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list foldr_f_z#1 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: UsableRules {urType = Syntactic} + Details: none * Step 20: Inline WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l#2(x8, x10) -> Cons(x10, x8) 2: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 3: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 4: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 5: step#3(rev_l(), x4, x2, x6) -> step_x_f#1(rev_l(), x4, x2, x6) 10: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 11: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x6)) -> step_x#1(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x6)) 12: main(Nil()) -> Nil() 13: main(Cons(x8, x4)) -> step#3(rev_l(), x8, foldr#3(step(rev_l()), fleft_op_e_xs_1(), x4), Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: Inline {inlineType = InlineFull, inlineSelect = } + Details: none * Step 21: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l#2(x8, x10) -> Cons(x10, x8) 2: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 3: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 4: step_x#1(rev_l(), x2, x1) -> step_x_f(rev_l(), x2, x1) 5: step#3(rev_l(), x4, x2, x6) -> step_x_f#1(rev_l(), x4, x2, x6) 6: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 7: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x13)) -> step_x_f(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x13)) 8: main(Nil()) -> Nil() 9: main(Cons(x8, x9)) -> step_x_f#1(rev_l(), x8, foldr#3(step(rev_l()), fleft_op_e_xs_1(), x9), Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step#3 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: UsableRules {urType = Syntactic} + Details: none * Step 22: Compression WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l#2(x8, x10) -> Cons(x10, x8) 2: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 3: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 6: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Nil()) -> fleft_op_e_xs_1() 7: foldr#3(step(rev_l()), fleft_op_e_xs_1(), Cons(x4, x13)) -> step_x_f(rev_l(), x4 , foldr#3(step(rev_l()) , fleft_op_e_xs_1(), x13)) 8: main(Nil()) -> Nil() 9: main(Cons(x8, x9)) -> step_x_f#1(rev_l(), x8, foldr#3(step(rev_l()), fleft_op_e_xs_1(), x9), Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: ('a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list) -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: Compression + Details: none * Step 23: ToTctProblem WORST_CASE(?,O(n^1)) + Considered Problem: 1: rev_l#2(x8, x10) -> Cons(x10, x8) 2: step_x_f#1(rev_l(), x5, step_x_f(x2, x3, x4), x1) -> step_x_f#1(x2, x3, x4, rev_l#2(x1, x5)) 3: step_x_f#1(rev_l(), x5, fleft_op_e_xs_1(), x3) -> rev_l#2(x3, x5) 4: foldr#3(Nil()) -> fleft_op_e_xs_1() 5: foldr#3(Cons(x4, x13)) -> step_x_f(rev_l(), x4, foldr#3(x13)) 6: main(Nil()) -> Nil() 7: main(Cons(x8, x9)) -> step_x_f#1(rev_l(), x8, foldr#3(x9), Nil()) where Cons :: 'a -> 'a list -> 'a list Nil :: 'a list fleft_op_e_xs_1 :: 'a29 list -> 'a29 list foldr#3 :: 'a29 list -> 'a29 list -> 'a29 list main :: 'a29 list -> 'a29 list rev_l :: 'a29 list -> 'a29 -> 'a29 list rev_l#2 :: 'a29 list -> 'a29 -> 'a29 list step_x_f :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list step_x_f#1 :: ('a29 list -> 'a29 -> 'a29 list) -> 'a29 -> ('a29 list -> 'a29 list) -> 'a29 list -> 'a29 list + Applied Processor: ToTctProblem + Details: none * Step 24: Ara WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: foldr#3(Cons(x4,x13)) -> step_x_f(rev_l(),x4,foldr#3(x13)) foldr#3(Nil()) -> fleft_op_e_xs_1() main(Cons(x8,x9)) -> step_x_f#1(rev_l(),x8,foldr#3(x9),Nil()) main(Nil()) -> Nil() rev_l#2(x8,x10) -> Cons(x10,x8) step_x_f#1(rev_l(),x5,fleft_op_e_xs_1(),x3) -> rev_l#2(x3,x5) step_x_f#1(rev_l(),x5,step_x_f(x2,x3,x4),x1) -> step_x_f#1(x2,x3,x4,rev_l#2(x1,x5)) - Signature: {foldr#3/1,main/1,rev_l#2/2,step_x_f#1/4} / {Cons/2,Nil/0,fleft_op_e_xs_1/0,rev_l/0,step_x_f/3} - Obligation: innermost runtime complexity wrt. defined symbols {main} and constructors {Cons,Nil} + Applied Processor: Ara {minDegree = 1, maxDegree = 2, araTimeout = 5, araRuleShifting = Nothing} + Details: Signatures used: ---------------- F (TrsFun "Cons") :: ["A"(15) x "A"(15)] -(15)-> "A"(15) F (TrsFun "Cons") :: ["A"(0) x "A"(0)] -(0)-> "A"(0) F (TrsFun "Nil") :: [] -(0)-> "A"(15) F (TrsFun "Nil") :: [] -(0)-> "A"(14) F (TrsFun "Nil") :: [] -(0)-> "A"(0) F (TrsFun "fleft_op_e_xs_1") :: [] -(0)-> "A"(2) F (TrsFun "fleft_op_e_xs_1") :: [] -(0)-> "A"(14) F (TrsFun "foldr#3") :: ["A"(15)] -(1)-> "A"(2) F (TrsFun "main") :: ["A"(15)] -(12)-> "A"(0) F (TrsFun "rev_l") :: [] -(0)-> "A"(0) F (TrsFun "rev_l") :: [] -(0)-> "A"(14) F (TrsFun "rev_l#2") :: ["A"(0) x "A"(0)] -(1)-> "A"(0) F (TrsFun "step_x_f") :: ["A"(0) x "A"(2) x "A"(2)] -(2)-> "A"(2) F (TrsFun "step_x_f#1") :: ["A"(0) x "A"(0) x "A"(2) x "A"(0)] -(7)-> "A"(0) Cost-free Signatures used: -------------------------- Base Constructor Signatures used: --------------------------------- "F (TrsFun \"Cons\")_A" :: ["A"(1) x "A"(1)] -(1)-> "A"(1) "F (TrsFun \"Nil\")_A" :: [] -(0)-> "A"(1) "F (TrsFun \"fleft_op_e_xs_1\")_A" :: [] -(0)-> "A"(1) "F (TrsFun \"rev_l\")_A" :: [] -(0)-> "A"(1) "F (TrsFun \"step_x_f\")_A" :: ["A"(0) x "A"(0) x "A"(0)] -(1)-> "A"(1) WORST_CASE(?,O(n^1))