Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function foldr ... Trying degree: 1 == foldr : [['a; 'b] -> 'b; 'b; 'a list] -> 'b Non-zero annotations of the argument: 10.00 <-- (*, *, [Cons(*)]) 3.00 <-- (*, *, []) Non-zero annotations of result: Simplified bound: 3.00 + 10.00*M where M is the number of Cons-nodes of the 3rd component of the argument -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 29 ==== Analyzing function plus ... Trying degree: 1 == plus : [nat; nat] -> nat Non-zero annotations of the argument: 8.00 <-- ([S(*)], []) 3.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 3.00 + 8.00*M where M is the number of S-nodes of the 1st component of the argument -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 32 ==== Analyzing function map ... Trying degree: 1 == map : ['a -> 'b; 'a list] -> 'b list Non-zero annotations of the argument: 11.00 <-- (*, [Cons(*)]) 3.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 3.00 + 11.00*M where M is the number of Cons-nodes of the 2nd component of the argument -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 33 ==== Analyzing function comp ... Trying degree: 1 == comp : ['a -> 'b; 'c -> 'a; 'c] -> 'b Non-zero annotations of the argument: 5.00 <-- (*, *, *) Non-zero annotations of result: Simplified bound: 5.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 12 ==== Analyzing function id ... Trying degree: 1 == id : 'a -> 'a Non-zero annotations of the argument: 1.00 <-- * Non-zero annotations of result: Simplified bound: 1.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.00 seconds #Constraints: 2 ==== Analyzing function foldsum ... Trying degree: 1, 2, 3 A bound for foldsum could not be derived. The linear program is infeasible. -- Mode: upper Metric: steps Degree: 3 Run time: 0.20 seconds #Constraints: 916 ====