parse/0: instruction: new parse/0: ingredient: {name: "integer", value: 0, type: 0, properties: ["integer": "type"]} parse/0: ingredient: {name: "5", value: 0, type: 0, properties: ["5": "literal"]} parse/0: product: {name: "1", value: 0, type: 2-5-1, properties: ["1": "address":"array":"integer", "raw": ]} parse/0: instruction: new parse/0: ingredient: {name: "integer", value: 0, type: 0, properties: ["integer": "type"]} parse/0: product: {name: "2", value: 0, type: 2-1, properties: ["2": "address":"integer", "raw": ]} parse/0: instruction: subtract parse/0: ingredient: {name: "2", value: 0, type: 2-1, properties: ["2": "address":"integer", "raw": ]} parse/0: ingredient: {name: "1", value: 0, type: 2-5-1, properties: ["1": "address":"array":"integer", "raw": ]} parse/0: product: {name: "3", value: 0, type: 1, properties: ["3": "integer", "raw": ]} new/0: integer -> 1 new/0: integer -> 1 after-brace/0: recipe main after-brace/0: new ... after-brace/0: new ... 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: 2-5-1, properties: ["1": "address":"array":"integer", "raw": ]} <- new/43 {name: "integer", value: 1, type: 0, properties: ["integer": "type"]}, {name: "5", value: 5, type: 0, properties: ["5": "literal"]} mem/0: array size is 5 mem/0: new alloc: 1000 mem/0: storing 1000 in location 1 run/0: instruction main/1 run/0: {name: "2", value: 2, type: 2-1, properties: ["2": "address":"integer", "raw": ]} <- new/43 {name: "integer", value: 1, type: 0, properties: ["integer": "type"]} mem/0: new alloc: 1006 mem/0: storing 1006 in location 2 run/0: instruction main/2 run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer", "raw": ]} <- subtract/3 {name: "2", value: 2, type: 2-1, properties: ["2": "address":"integer", "raw": ]}, {name: "1", value: 1, type: 2-5-1, properties: ["1": "address":"array":"integer", "raw": ]} run/0: ingredient 0 is 2 mem/0: location 2 is 1006 run/0: ingredient 1 is 1 mem/0: location 1 is 1000 run/0: product 0 is 6 mem/0: storing 6 in location 3