|Serialize -> (1, 1)
|Larger -> (2, 1)
|Smaller -> (2, 1)
+ |Max -> (2, 1)
+ |Min -> (2, 1)
|Prefix -> (2, 1)
|Select2 -> (3, 1)
|Select3 -> (4, 1);;
|Mod -> 0
|Larger -> 0
|Smaller -> 0
+ |Max -> 0
+ |Min -> 0
|Vectorize -> vectorize_memory_length
|Vconcat -> 0
|Vpick -> 0
|Prefix -> 1
|Select2 -> 0
|Select3 -> 0;;
+
+let string_of_symbol : symbol -> string =
+ fun (s : symbol) ->
+ match s with
+ |Add -> "Add"
+ |Sub -> "Sub"
+ |Mul -> "Mul"
+ |Div -> "Div"
+ |Pass -> "Pass"
+ |Stop -> "Stop"
+ |Mem -> "Mem"
+ |Delay -> "Delay"
+ |Floor -> "Floor"
+ |Int -> "Int"
+ |Sin -> "Sin"
+ |Cos -> "Cos"
+ |Atan -> "Atan"
+ |Atan2 -> "Atan2"
+ |Sqrt -> "Sqrt"
+ |Rdtable -> "Rdtable"
+ |Mod -> "Mod"
+ |Larger -> "Larger"
+ |Smaller -> "Smaller"
+ |Max -> "Max"
+ |Min -> "Min"
+ |Vectorize -> "Vectorize"
+ |Vconcat -> "Vconcat"
+ |Vpick -> "Vpick"
+ |Serialize -> "Serialize"
+ |Prefix -> "Prefix"
+ |Select2 -> "Select2"
+ |Select3 -> "Select3";;
+