parse/0: instruction: copy
parse/0: ingredient: {name: "1", value: 0, type: 0, properties: ["1": "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"]}
parse/0: instruction: or
parse/0: ingredient: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0: ingredient: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
parse/0: product: {name: "3", value: 0, type: 1, properties: ["3": "integer"]}
after-brace/0: recipe main
after-brace/0: copy ...
after-brace/0: copy ...
after-brace/0: or ...
new/0: routine allocated memory from 1000 to 101000
schedule/0: main
run/0: instruction main/0
run/0: {name: "1", value: 1, type: 1, properties: ["1": "integer"]} <- copy {name: "1", value: 1, type: 0, properties: ["1": "literal"]}
run/0: ingredient 0 is 1
mem/0: storing 1 in location 1
run/0: instruction main/1
run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- copy {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
run/0: ingredient 0 is 0
mem/0: storing 0 in location 2
run/0: instruction main/2
run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- or {name: "1", value: 1, type: 1, properties: ["1": "integer"]}, {name: "2", value: 2, type: 1, properties: ["2": "integer"]}
run/0: ingredient 0 is 1
mem/0: location 1 is 1
run/0: ingredient 1 is 2
mem/0: location 2 is 0
run/0: product 0 is 1
mem/0: storing 1 in location 3