parse/0: instruction: f
parse/0: ingredient: {name: "2", value: 0, type: 0, properties: ["2": "literal"]}
parse/0: product: {name: "3", value: 0, type: 6, properties: ["3": "point"]}
parse/0: instruction: next-ingredient
parse/0: product: {name: "12", value: 0, type: 1, properties: ["12": "integer"]}
parse/0: instruction: copy
parse/0: ingredient: {name: "35", value: 0, type: 0, properties: ["35": "literal"]}
parse/0: product: {name: "13", value: 0, type: 1, properties: ["13": "integer"]}
parse/0: instruction: reply
parse/0: ingredient: {name: "12", value: 0, type: 6, properties: ["12": "point"]}
after-brace/0: recipe main
after-brace/0: f ...
after-brace/0: recipe f
after-brace/0: next-ingredient ...
after-brace/0: copy ...
after-brace/0: reply ...
new/0: routine allocated memory from 1000 to 101000
schedule/0: main
run/0: instruction main/0
run/0: {name: "3", value: 3, type: 6, properties: ["3": "point"]} <- f/1001 {name: "2", value: 2, type: 0, properties: ["2": "literal"]}
run/0: instruction f/0
run/0: {name: "12", value: 12, type: 1, properties: ["12": "integer"]} <- next-ingredient/30
run/0: product 0 is 2
mem/0: storing 2 in location 12
run/0: instruction f/1
run/0: {name: "13", value: 13, type: 1, properties: ["13": "integer"]} <- copy/1 {name: "35", value: 35, type: 0, properties: ["35": "literal"]}
run/0: ingredient 0 is 35
mem/0: storing 35 in location 13
run/0: instruction f/2
run/0: reply/33 {name: "12", value: 12, type: 6, properties: ["12": "point"]}
mem/0: location 12 is 2
mem/0: location 13 is 35
run/0: result 0 is [2, 35]
mem/0: storing 2 in location 3
mem/0: storing 35 in location 4