Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function iplus ... Trying degree: 1 == iplus : [int; int] -> int Non-zero annotations of the argument: 7.00 <-- (*, *) Non-zero annotations of result: Simplified bound: 7.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.00 seconds #Constraints: 10 ==== Analyzing function imult ... Trying degree: 1 == imult : [int; int] -> int Non-zero annotations of the argument: 7.00 <-- (*, *) Non-zero annotations of result: Simplified bound: 7.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.00 seconds #Constraints: 10 ==== Analyzing function split ... Trying degree: 1 == split : int -> int * int Non-zero annotations of the argument: 11.00 <-- * Non-zero annotations of result: Simplified bound: 11.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 16 ==== Analyzing function of_int ... Trying degree: 1 == of_int : 'a -> 'a list Non-zero annotations of the argument: 4.00 <-- * Non-zero annotations of result: Simplified bound: 4.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.00 seconds #Constraints: 6 ==== Analyzing function is_int ... Trying degree: 1 == is_int : 'a list -> bool 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: 22 ==== Analyzing function to_int_opt ... Trying degree: 1 == to_int_opt : int list -> int option Non-zero annotations of the argument: 6.00 <-- [] Non-zero annotations of result: Simplified bound: 6.00 -- Mode: upper Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 27 ==== Analyzing function add_int ... Trying degree: 1 == add_int : [int list; int] -> int list Non-zero annotations of the argument: 42.00 <-- ([::(*)], *) 12.00 <-- ([], *) Non-zero annotations of result: Simplified bound: 12.00 + 42.00*M where 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: 82 ==== Analyzing function add ... Trying degree: 1 == add : [int list; int list] -> int list Non-zero annotations of the argument: 42.00 <-- ([::(*)], []) 42.00 <-- ([], [::(*)]) 27.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 27.00 + 42.00*L + 42.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.09 seconds #Constraints: 280 ====