parse/0: instruction: copy parse/0: ingredient: {name: "23", value: 0, type: 0, properties: ["23": "literal"]} parse/0: product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]} parse/0: instruction: copy parse/0: ingredient: {name: "34", value: 0, type: 0, properties: ["34": "literal"]} parse/0: product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]} parse/0: instruction: subtract 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: subtract ... 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/1 {name: "23", value: 23, type: 0, properties: ["23": "literal"]} run/0: ingredient 0 is 23 mem/0: storing 23 in location 1 run/0: instruction main/1 run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- copy/1 {name: "34", value: 34, type: 0, properties: ["34": "literal"]} run/0: ingredient 0 is 34 mem/0: storing 34 in location 2 run/0: instruction main/2 run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- subtract/3 {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 23 run/0: ingredient 1 is 2 mem/0: location 2 is 34 run/0: product 0 is -11 mem/0: storing -11 in location 3