parse/0: instruction: copy
parse/0: ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
parse/0: product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0: instruction: copy
parse/0: ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
parse/0: product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
new/0: routine allocated memory from 1000 to 101000
new/0: routine allocated memory from 101000 to 201000
parse/0: instruction: copy
parse/0: ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
parse/0: product: {name: "3", value: 0, type: 1, properties: ["3": "integer"]}
after-brace/0: recipe f1
after-brace/0: copy ...
after-brace/0: recipe f2
after-brace/0: copy ...
after-brace/0: recipe f3
after-brace/0: copy ...
new/0: routine allocated memory from 201000 to 301000
schedule/0: f3
run/0: instruction f3/0
run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- copy {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
run/0: ingredient 0 is 0
mem/0: storing 0 in location 3
schedule/0: f1
run/0: instruction f1/0
run/0: {name: "1", value: 1, type: 1, properties: ["1": "integer"]} <- copy {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1