Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function compare_list ... Trying degree: 1 == compare_list : [int list; int list] -> bool Non-zero annotations of the argument: 2.00 <-- ([::(*)], []) 12.00 <-- ([], [::(*)]) 3.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 3.00 + 12.00*L + 2.00*M where 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: upper Metric: steps Degree: 1 Run time: 0.02 seconds #Constraints: 56 ==== Analyzing function insert ... Trying degree: 1 == insert : [['a; 'a] -> bool; 'a; 'a list] -> 'a list Non-zero annotations of the argument: 15.00 <-- (*, *, [::(*)]) 6.00 <-- (*, *, []) Non-zero annotations of result: Simplified bound: 6.00 + 15.00*M where M is the number of ::-nodes of the 3rd component of the argument -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 54 ==== Analyzing function isort ... Trying degree: 1, 2 == isort : [['a; 'a] -> bool; 'a list] -> 'a list Non-zero annotations of the argument: 15.00 <-- (*, [::(*); ::(*)]) 16.00 <-- (*, [::(*)]) 3.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 3.00 + 8.50*M + 7.50*M^2 where M is the number of ::-nodes of the 2nd component of the argument -- Mode: upper Metric: steps Degree: 2 Run time: 0.06 seconds #Constraints: 183 ==== Analyzing function isort_list ... Trying degree: 1, 2, 3 == isort_list : int list list -> int list list Non-zero annotations of the argument: 12.00 <-- [::([::(*)]); ::([])] 2.00 <-- [::([]); ::([::(*)])] 18.00 <-- [::([]); ::([])] 18.00 <-- [::([])] 3.00 <-- [] Non-zero annotations of result: Simplified bound: 3.00 - 7.00*L*M + 7.00*L*M^2 + 9.00*M + 9.00*M^2 where M is the number of ::-nodes of the argument L is the maximal number of ::-nodes in the ::-nodes of the argument -- Mode: upper Metric: steps Degree: 3 Run time: 0.53 seconds #Constraints: 2935 ====