Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function append ... Trying degree: 1 == append : ['a list; 'a list] -> 'a list Non-zero annotations of the argument: 9.00 <-- ([::(*)], []) 3.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 3.00 + 9.00*M where M is the number of ::-nodes of the 1st component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 41 ==== Analyzing function partition ... Trying degree: 1 == partition : ['a -> bool; 'a list] -> 'a list * 'a list Non-zero annotations of the argument: 19.00 <-- (*, [::(*)]) 5.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 5.00 + 19.00*M where M is the number of ::-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.02 seconds #Constraints: 69 ==== Analyzing function quicksort ... Trying degree: 1 == quicksort : ['a -> 'a -> bool; 'a list] -> 'a list Non-zero annotations of the argument: 35.00 <-- (*, [::(*)]) 3.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 3.00 + 35.00*M where M is the number of ::-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.03 seconds #Constraints: 159 ==== Analyzing function abmap ... Trying degree: 1 == abmap : ['a -> 'b; 'c -> 'd; ('a * 'c) ablist] -> ('b * 'd) ablist Non-zero annotations of the argument: 12.00 <-- (*, *, [Acons(*)]) 12.00 <-- (*, *, [Bcons(*)]) 3.00 <-- (*, *, []) Non-zero annotations of result: Simplified bound: 3.00 + 12.00*M + 12.00*N where M is the number of Bcons-nodes of the 3rd component of the argument N is the number of Acons-nodes of the 3rd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.02 seconds #Constraints: 76 ==== Analyzing function asort ... Trying degree: 1 == asort : ['a -> 'a -> bool; ('a list * 'b) ablist] -> ('a list * 'b) ablist Non-zero annotations of the argument: 15.00 <-- (*, [Acons([])]) 13.00 <-- (*, [Bcons(*)]) 11.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 11.00 + 13.00*L + 15.00*N where L is the number of Bcons-nodes of the 2nd component of the argument N is the number of Acons-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.04 seconds #Constraints: 257 ==== Analyzing function asort' ... Trying degree: 1 == asort' : ['a -> 'a -> bool; ('a list * 'b) ablist] -> ('a list * 'c) ablist Non-zero annotations of the argument: 15.00 <-- (*, [Acons([])]) 12.00 <-- (*, [Bcons(*)]) 11.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 11.00 + 12.00*L + 15.00*N where L is the number of Bcons-nodes of the 2nd component of the argument N is the number of Acons-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.05 seconds #Constraints: 257 ==== Analyzing function btick ... Trying degree: 1 == btick : (int list * int) ablist -> (int list * int) ablist Non-zero annotations of the argument: 15.00 <-- [Acons([])] 17.00 <-- [Bcons(*)] 3.00 <-- [] Non-zero annotations of result: Simplified bound: 3.00 + 17.00*L + 15.00*N where L is the number of Bcons-nodes of the argument N is the number of Acons-nodes of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.04 seconds #Constraints: 91 ==== Analyzing function abfoldr ... Trying degree: 1 == abfoldr : [['a; 'b] -> 'b; ['c; 'b] -> 'b; 'b; ('a * 'c) ablist] -> 'b Non-zero annotations of the argument: 13.00 <-- (*, *, *, [Acons(*)]) 13.00 <-- (*, *, *, [Bcons(*)]) 3.00 <-- (*, *, *, []) Non-zero annotations of result: Simplified bound: 3.00 + 13.00*M + 13.00*N where M is the number of Bcons-nodes of the 4th component of the argument N is the number of Acons-nodes of the 4th component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.04 seconds #Constraints: 68 ==== Analyzing function cons_all ... Trying degree: 1 == cons_all : (int * int) ablist -> ('a * int) ablist Non-zero annotations of the argument: 26.00 <-- [Acons(*)] 17.00 <-- [Bcons(*)] 13.00 <-- [] Non-zero annotations of result: Simplified bound: 13.00 + 17.00*M + 26.00*N where M is the number of Bcons-nodes of the argument N is the number of Acons-nodes of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.07 seconds #Constraints: 218 ==== Analyzing function e1 ... Trying degree: 1 == e1 : unit -> (int list * int) ablist Non-zero annotations of the argument: 78.00 <-- * Non-zero annotations of result: Simplified bound: 78.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.09 seconds #Constraints: 295 ==== Analyzing function e2 ... Trying degree: 1 == e2 : unit -> (int list * 'a) ablist Non-zero annotations of the argument: 77.00 <-- * Non-zero annotations of result: Simplified bound: 77.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.10 seconds #Constraints: 295 ==== Analyzing function e3 ... Trying degree: 1 == e3 : unit -> (int list * int) ablist Non-zero annotations of the argument: 74.00 <-- * Non-zero annotations of result: Simplified bound: 74.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.08 seconds #Constraints: 125 ====