Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function assoc ... Trying degree: 1 == assoc : [int; (int * 'a) list] -> 'a Non-zero annotations of the argument: 2.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 2.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 48 ==== Analyzing function rev ... Trying degree: 1 == rev : 'a list -> 'a list Non-zero annotations of the argument: 11.00 <-- [::(*)] 9.00 <-- [] Non-zero annotations of result: Simplified bound: 9.00 + 11.00*M where M is the number of ::-nodes of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 50 ==== Analyzing function concat ... Trying degree: 1 == concat : ['a list; 'a list] -> 'a list Non-zero annotations of the argument: 11.00 <-- ([::(*)], []) 3.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 3.00 + 11.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: 43 ==== Analyzing function eval ... Trying degree: 1 == eval : [(int * bool) list; bool_expr] -> bool Non-zero annotations of the argument: 11.00 <-- ([], [Not(*)]) 25.00 <-- ([], [And(*)]) 25.00 <-- ([], [Or(*)]) 10.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 10.00 + 11.00*L + 25.00*X + 25.00*Y where Y is the number of Or-nodes of the 2nd component of the argument X is the number of And-nodes of the 2nd component of the argument L is the number of Not-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.03 seconds #Constraints: 189 ==== Analyzing function table_make ... Trying degree: 1 == table_make : [(int * bool) list; int list; bool_expr] -> ((int * bool) list * bool) list Non-zero annotations of the argument: 11.00 <-- ([::(*, *)], [], []) 41.50 <-- ([], [::(*)], []) 11.00 <-- ([], [], [Not(*)]) 25.00 <-- ([], [], [And(*)]) 25.00 <-- ([], [], [Or(*)]) 32.00 <-- ([], [], []) Non-zero annotations of result: Simplified bound: 32.00 + 41.50*L + 11.00*M + 25.00*R + 11.00*Y + 25.00*Z where R is the number of Or-nodes of the 3rd component of the argument Z is the number of And-nodes of the 3rd component of the argument Y is the number of Not-nodes of the 3rd component of the argument L is the number of ::-nodes of the 2nd component of the argument M is the number of ::-nodes of the 1st component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.07 seconds #Constraints: 395 ====