about summary refs log tree commit diff stats
path: root/cpp/.traces
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-04-18 20:11:59 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-04-18 20:11:59 -0700
commit0b82eef7140123e29e2628232e3cc7f740d094f2 (patch)
tree16057bdbcd64d1b365e9ee67a3cd2b36cec16ce0 /cpp/.traces
parent49073ebeef77aea075728953a9fb05d968e1c46a (diff)
downloadmu-0b82eef7140123e29e2628232e3cc7f740d094f2.tar.gz
1099 - new recipe: convert integer to decimal string
Diffstat (limited to 'cpp/.traces')
-rw-r--r--cpp/.traces/divide_with_remainder2
-rw-r--r--cpp/.traces/divide_with_remainder_literal2
-rw-r--r--cpp/.traces/integer-to-decimal-digit-negative477
-rw-r--r--cpp/.traces/integer-to-decimal-digit-positive675
-rw-r--r--cpp/.traces/integer-to-decimal-digit-zero33
-rw-r--r--cpp/.traces/less_than (renamed from cpp/.traces/lesser_than)2
-rw-r--r--cpp/.traces/less_than2 (renamed from cpp/.traces/lesser_than2)2
7 files changed, 1189 insertions, 4 deletions
diff --git a/cpp/.traces/divide_with_remainder b/cpp/.traces/divide_with_remainder
index 867b2c0d..d8989d9c 100644
--- a/cpp/.traces/divide_with_remainder
+++ b/cpp/.traces/divide_with_remainder
@@ -12,7 +12,7 @@ parse/0:   product: {name: "4", value: 0, type: 1, properties: ["4": "integer"]}
 after-brace/0: recipe main
 after-brace/0: copy ...
 after-brace/0: copy ...
-after-brace/0: divide_with_remainder ...
+after-brace/0: divide-with-remainder ...
 run/0: instruction main/0
 run/0: ingredient 0 is 27
 mem/0: storing 27 in location 1
diff --git a/cpp/.traces/divide_with_remainder_literal b/cpp/.traces/divide_with_remainder_literal
index 8cb01953..05bde8a9 100644
--- a/cpp/.traces/divide_with_remainder_literal
+++ b/cpp/.traces/divide_with_remainder_literal
@@ -4,7 +4,7 @@ parse/0:   ingredient: {name: "2", value: 0, type: 0, properties: ["2": "literal
 parse/0:   product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
 parse/0:   product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
 after-brace/0: recipe main
-after-brace/0: divide_with_remainder ...
+after-brace/0: divide-with-remainder ...
 run/0: instruction main/0
 run/0: ingredient 0 is 9
 run/0: ingredient 1 is 2
diff --git a/cpp/.traces/integer-to-decimal-digit-negative b/cpp/.traces/integer-to-decimal-digit-negative
new file mode 100644
index 00000000..d629d10a
--- /dev/null
+++ b/cpp/.traces/integer-to-decimal-digit-negative
@@ -0,0 +1,477 @@
+parse/0: instruction: 105
+parse/0:   ingredient: {name: "-1", value: 0, type: 0, properties: ["-1": "literal"]}
+parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
+parse/0: instruction: 1
+parse/0:   ingredient: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "deref": , "raw": ]}
+parse/0:   product: {name: "2", value: 0, type: 5-4, properties: ["2": "array":"character", "raw": ]}
+after-brace/0: recipe test-integer-to-decimal-digit-negative
+after-brace/0: integer-to-decimal-string ...
+after-brace/0: copy ...
+run/0: instruction test-integer-to-decimal-digit-negative/0
+run/0: instruction integer-to-decimal-string/0
+mem/0: new alloc: 1000
+mem/0: array size is 30
+run/0: instruction integer-to-decimal-string/1
+run/0: product 0 is -1
+mem/0: storing -1 in location 1002
+run/0: instruction integer-to-decimal-string/3
+mem/0: location 1002 is -1
+run/0: ingredient 0 is -1
+run/0: ingredient 1 is 
+run/0: jumping to instruction 6
+run/0: instruction integer-to-decimal-string/7
+run/0: ingredient 0 is 0
+mem/0: storing 0 in location 1004
+run/0: instruction integer-to-decimal-string/9
+run/0: ingredient 0 is n
+mem/0: location 1002 is -1
+run/0: ingredient 1 is 0
+run/0: product 0 is 1
+mem/0: storing 1 in location 1005
+run/0: instruction integer-to-decimal-string/10
+mem/0: location 1005 is 1
+run/0: ingredient 0 is 1
+run/0: jump-unless fell through
+run/0: instruction integer-to-decimal-string/11
+run/0: ingredient 0 is 1
+mem/0: storing 1 in location 1004
+run/0: instruction integer-to-decimal-string/12
+run/0: ingredient 0 is n
+mem/0: location 1002 is -1
+run/0: ingredient 1 is -1
+run/0: ingredient 1 is -1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1002
+run/0: instruction integer-to-decimal-string/14
+run/0: instruction init-buffer/0
+mem/0: new alloc: 1030
+mem/0: array size is 30
+run/0: instruction init-buffer/1
+mem/0: new alloc: 1060
+mem/0: storing 1060 in location 1032
+run/0: instruction init-buffer/2
+run/0: ingredient 0 is result
+mem/0: location 1032 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1033
+run/0: instruction init-buffer/3
+run/0: ingredient 0 is 0
+mem/0: location 1033 is 1060
+mem/0: storing 0 in location 1060
+run/0: instruction init-buffer/4
+run/0: ingredient 0 is result
+mem/0: location 1032 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: product 0 is 1061
+mem/0: storing 1061 in location 1034
+run/0: instruction init-buffer/5
+run/0: product 0 is 30
+mem/0: storing 30 in location 1035
+run/0: instruction init-buffer/6
+mem/0: new alloc: 1062
+mem/0: location 1034 is 1061
+mem/0: storing 1062 in location 1061
+mem/0: location 1035 is 30
+mem/0: array size is 30
+run/0: instruction init-buffer/7
+mem/0: location 1032 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/15
+run/0: ingredient 0 is 48
+mem/0: storing 48 in location 1007
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 1
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/19
+run/0: ingredient 0 is n
+mem/0: location 1002 is 1
+run/0: ingredient 1 is 10
+run/0: product 0 is 0
+mem/0: storing 0 in location 1002
+run/0: product 1 is 1
+mem/0: storing 1 in location 1009
+run/0: instruction integer-to-decimal-string/20
+run/0: ingredient 0 is digit-base
+mem/0: location 1007 is 48
+run/0: ingredient 1 is digit
+mem/0: location 1009 is 1
+run/0: product 0 is 49
+mem/0: storing 49 in location 1010
+run/0: instruction integer-to-decimal-string/21
+mem/0: location 1006 is 1060
+mem/0: location 1010 is 49
+run/0: instruction buffer-append/0
+mem/0: new alloc: 1092
+mem/0: array size is 30
+run/0: instruction buffer-append/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1094
+run/0: instruction buffer-append/2
+run/0: product 0 is 49
+mem/0: storing 49 in location 1095
+run/0: instruction buffer-append/4
+mem/0: location 1094 is 1060
+run/0: instruction buffer-full?/0
+mem/0: new alloc: 1122
+mem/0: array size is 30
+run/0: instruction buffer-full?/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1124
+run/0: instruction buffer-full?/2
+run/0: ingredient 0 is in
+mem/0: location 1124 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1125
+run/0: instruction buffer-full?/3
+run/0: ingredient 0 is in
+mem/0: location 1124 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1126
+run/0: instruction buffer-full?/4
+mem/0: location 1126 is 1062
+mem/0: storing 30 in location 1127
+run/0: instruction buffer-full?/5
+run/0: ingredient 0 is len
+mem/0: location 1125 is 0
+run/0: ingredient 1 is capacity
+mem/0: location 1127 is 30
+run/0: product 0 is 0
+mem/0: storing 0 in location 1128
+run/0: instruction buffer-full?/6
+mem/0: location 1128 is 0
+run/0: result 0 is 0
+mem/0: storing 0 in location 1096
+run/0: instruction buffer-append/5
+mem/0: location 1096 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 7
+run/0: instruction buffer-append/8
+run/0: ingredient 0 is in
+mem/0: location 1094 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1097
+run/0: instruction buffer-append/9
+run/0: ingredient 0 is in
+mem/0: location 1094 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1098
+run/0: instruction buffer-append/10
+run/0: ingredient 0 is s
+mem/0: location 1098 is 1062
+run/0: ingredient 1 is {name: "len", value: 4, type: 2-1, properties: ["len": "address":"integer", "deref": ]}
+mem/0: location 1097 is 1060
+mem/0: location 1060 is 0
+run/0: address to copy is 1063
+run/0: product 0 is 1063
+mem/0: storing 1063 in location 1099
+run/0: instruction buffer-append/11
+run/0: ingredient 0 is c
+mem/0: location 1095 is 49
+mem/0: location 1099 is 1063
+mem/0: storing 49 in location 1063
+run/0: instruction buffer-append/12
+run/0: ingredient 0 is len
+mem/0: location 1097 is 1060
+mem/0: location 1060 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: location 1097 is 1060
+mem/0: storing 1 in location 1060
+run/0: instruction buffer-append/13
+mem/0: location 1094 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/22
+run/0: ingredient 0 is -6
+run/0: pc now 16
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 0
+run/0: ingredient 1 is 0
+run/0: product 0 is 1
+mem/0: storing 1 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 1
+run/0: ingredient 0 is 1
+run/0: ingredient 1 is 
+run/0: jumping to instruction 23
+run/0: instruction integer-to-decimal-string/25
+mem/0: location 1004 is 1
+run/0: ingredient 0 is 1
+run/0: jump-unless fell through
+run/0: instruction integer-to-decimal-string/26
+mem/0: location 1006 is 1060
+run/0: instruction buffer-append/0
+mem/0: new alloc: 1152
+mem/0: array size is 30
+run/0: instruction buffer-append/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1154
+run/0: instruction buffer-append/2
+run/0: product 0 is 45
+mem/0: storing 45 in location 1155
+run/0: instruction buffer-append/4
+mem/0: location 1154 is 1060
+run/0: instruction buffer-full?/0
+mem/0: new alloc: 1182
+mem/0: array size is 30
+run/0: instruction buffer-full?/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1184
+run/0: instruction buffer-full?/2
+run/0: ingredient 0 is in
+mem/0: location 1184 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1185
+run/0: instruction buffer-full?/3
+run/0: ingredient 0 is in
+mem/0: location 1184 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1186
+run/0: instruction buffer-full?/4
+mem/0: location 1186 is 1062
+mem/0: storing 30 in location 1187
+run/0: instruction buffer-full?/5
+run/0: ingredient 0 is len
+mem/0: location 1185 is 1
+run/0: ingredient 1 is capacity
+mem/0: location 1187 is 30
+run/0: product 0 is 0
+mem/0: storing 0 in location 1188
+run/0: instruction buffer-full?/6
+mem/0: location 1188 is 0
+run/0: result 0 is 0
+mem/0: storing 0 in location 1156
+run/0: instruction buffer-append/5
+mem/0: location 1156 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 7
+run/0: instruction buffer-append/8
+run/0: ingredient 0 is in
+mem/0: location 1154 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1157
+run/0: instruction buffer-append/9
+run/0: ingredient 0 is in
+mem/0: location 1154 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1158
+run/0: instruction buffer-append/10
+run/0: ingredient 0 is s
+mem/0: location 1158 is 1062
+run/0: ingredient 1 is {name: "len", value: 4, type: 2-1, properties: ["len": "address":"integer", "deref": ]}
+mem/0: location 1157 is 1060
+mem/0: location 1060 is 1
+run/0: address to copy is 1064
+run/0: product 0 is 1064
+mem/0: storing 1064 in location 1159
+run/0: instruction buffer-append/11
+run/0: ingredient 0 is c
+mem/0: location 1155 is 45
+mem/0: location 1159 is 1064
+mem/0: storing 45 in location 1064
+run/0: instruction buffer-append/12
+run/0: ingredient 0 is len
+mem/0: location 1157 is 1060
+mem/0: location 1060 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 2
+mem/0: location 1157 is 1060
+mem/0: storing 2 in location 1060
+run/0: instruction buffer-append/13
+mem/0: location 1154 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/28
+run/0: ingredient 0 is tmp
+mem/0: location 1006 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 2
+run/0: product 0 is 2
+mem/0: storing 2 in location 1011
+run/0: instruction integer-to-decimal-string/29
+run/0: ingredient 0 is tmp
+mem/0: location 1006 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1012
+run/0: instruction integer-to-decimal-string/30
+mem/0: new alloc: 1212
+mem/0: storing 1212 in location 1003
+mem/0: location 1011 is 2
+mem/0: array size is 2
+run/0: instruction integer-to-decimal-string/31
+run/0: ingredient 0 is len
+mem/0: location 1011 is 2
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1013
+run/0: instruction integer-to-decimal-string/32
+run/0: ingredient 0 is 0
+mem/0: storing 0 in location 1014
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is 1
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/36
+run/0: ingredient 0 is {name: "buf", value: 11, type: 2-5-4, properties: ["buf": "address":"array":"character", "deref": ]}
+mem/0: location 1012 is 1062
+run/0: ingredient 1 is {name: "i", value: 12, type: 1, properties: ["i": "integer"]}
+mem/0: location 1013 is 1
+run/0: address to copy is 1064
+run/0: its type is 4
+mem/0: location 1064 is 45
+run/0: product 0 is 45
+mem/0: storing 45 in location 1015
+run/0: instruction integer-to-decimal-string/37
+run/0: ingredient 0 is result
+mem/0: location 1003 is 1212
+run/0: ingredient 1 is {name: "j", value: 13, type: 1, properties: ["j": "integer"]}
+mem/0: location 1014 is 0
+run/0: address to copy is 1213
+run/0: product 0 is 1213
+mem/0: storing 1213 in location 1016
+run/0: instruction integer-to-decimal-string/38
+run/0: ingredient 0 is src
+mem/0: location 1015 is 45
+mem/0: location 1016 is 1213
+mem/0: storing 45 in location 1213
+run/0: instruction integer-to-decimal-string/39
+run/0: ingredient 0 is i
+mem/0: location 1013 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 0
+mem/0: storing 0 in location 1013
+run/0: instruction integer-to-decimal-string/40
+run/0: ingredient 0 is j
+mem/0: location 1014 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1014
+run/0: instruction integer-to-decimal-string/41
+run/0: ingredient 0 is -8
+run/0: pc now 33
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is 0
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/36
+run/0: ingredient 0 is {name: "buf", value: 11, type: 2-5-4, properties: ["buf": "address":"array":"character", "deref": ]}
+mem/0: location 1012 is 1062
+run/0: ingredient 1 is {name: "i", value: 12, type: 1, properties: ["i": "integer"]}
+mem/0: location 1013 is 0
+run/0: address to copy is 1063
+run/0: its type is 4
+mem/0: location 1063 is 49
+run/0: product 0 is 49
+mem/0: storing 49 in location 1015
+run/0: instruction integer-to-decimal-string/37
+run/0: ingredient 0 is result
+mem/0: location 1003 is 1212
+run/0: ingredient 1 is {name: "j", value: 13, type: 1, properties: ["j": "integer"]}
+mem/0: location 1014 is 1
+run/0: address to copy is 1214
+run/0: product 0 is 1214
+mem/0: storing 1214 in location 1016
+run/0: instruction integer-to-decimal-string/38
+run/0: ingredient 0 is src
+mem/0: location 1015 is 49
+mem/0: location 1016 is 1214
+mem/0: storing 49 in location 1214
+run/0: instruction integer-to-decimal-string/39
+run/0: ingredient 0 is i
+mem/0: location 1013 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is -1
+mem/0: storing -1 in location 1013
+run/0: instruction integer-to-decimal-string/40
+run/0: ingredient 0 is j
+mem/0: location 1014 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 2
+mem/0: storing 2 in location 1014
+run/0: instruction integer-to-decimal-string/41
+run/0: ingredient 0 is -8
+run/0: pc now 33
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is -1
+run/0: ingredient 1 is 0
+run/0: product 0 is 1
+mem/0: storing 1 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 1
+run/0: ingredient 0 is 1
+run/0: ingredient 1 is 
+run/0: jumping to instruction 42
+run/0: instruction integer-to-decimal-string/43
+mem/0: location 1003 is 1212
+run/0: result 0 is 1212
+mem/0: storing 1212 in location 1
+run/0: instruction test-integer-to-decimal-digit-negative/1
+run/0: ingredient 0 is 1
+mem/0: location 1 is 1212
+mem/0: location 1212 is 2
+mem/0: location 1213 is 45
+mem/0: location 1214 is 49
+mem/0: storing 2 in location 2
+mem/0: storing 45 in location 3
+mem/0: storing 49 in location 4
diff --git a/cpp/.traces/integer-to-decimal-digit-positive b/cpp/.traces/integer-to-decimal-digit-positive
new file mode 100644
index 00000000..70cc577f
--- /dev/null
+++ b/cpp/.traces/integer-to-decimal-digit-positive
@@ -0,0 +1,675 @@
+parse/0: instruction: 105
+parse/0:   ingredient: {name: "234", value: 0, type: 0, properties: ["234": "literal"]}
+parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
+parse/0: instruction: 1
+parse/0:   ingredient: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "deref": , "raw": ]}
+parse/0:   product: {name: "2", value: 0, type: 5-4, properties: ["2": "array":"character", "raw": ]}
+after-brace/0: recipe test-integer-to-decimal-digit-positive
+after-brace/0: integer-to-decimal-string ...
+after-brace/0: copy ...
+run/0: instruction test-integer-to-decimal-digit-positive/0
+run/0: instruction integer-to-decimal-string/0
+mem/0: new alloc: 1000
+mem/0: array size is 30
+run/0: instruction integer-to-decimal-string/1
+run/0: product 0 is 234
+mem/0: storing 234 in location 1002
+run/0: instruction integer-to-decimal-string/3
+mem/0: location 1002 is 234
+run/0: ingredient 0 is 234
+run/0: ingredient 1 is 
+run/0: jumping to instruction 6
+run/0: instruction integer-to-decimal-string/7
+run/0: ingredient 0 is 0
+mem/0: storing 0 in location 1004
+run/0: instruction integer-to-decimal-string/9
+run/0: ingredient 0 is n
+mem/0: location 1002 is 234
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1005
+run/0: instruction integer-to-decimal-string/10
+mem/0: location 1005 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 13
+run/0: instruction integer-to-decimal-string/14
+run/0: instruction init-buffer/0
+mem/0: new alloc: 1030
+mem/0: array size is 30
+run/0: instruction init-buffer/1
+mem/0: new alloc: 1060
+mem/0: storing 1060 in location 1032
+run/0: instruction init-buffer/2
+run/0: ingredient 0 is result
+mem/0: location 1032 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1033
+run/0: instruction init-buffer/3
+run/0: ingredient 0 is 0
+mem/0: location 1033 is 1060
+mem/0: storing 0 in location 1060
+run/0: instruction init-buffer/4
+run/0: ingredient 0 is result
+mem/0: location 1032 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: product 0 is 1061
+mem/0: storing 1061 in location 1034
+run/0: instruction init-buffer/5
+run/0: product 0 is 30
+mem/0: storing 30 in location 1035
+run/0: instruction init-buffer/6
+mem/0: new alloc: 1062
+mem/0: location 1034 is 1061
+mem/0: storing 1062 in location 1061
+mem/0: location 1035 is 30
+mem/0: array size is 30
+run/0: instruction init-buffer/7
+mem/0: location 1032 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/15
+run/0: ingredient 0 is 48
+mem/0: storing 48 in location 1007
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 234
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/19
+run/0: ingredient 0 is n
+mem/0: location 1002 is 234
+run/0: ingredient 1 is 10
+run/0: product 0 is 23
+mem/0: storing 23 in location 1002
+run/0: product 1 is 4
+mem/0: storing 4 in location 1009
+run/0: instruction integer-to-decimal-string/20
+run/0: ingredient 0 is digit-base
+mem/0: location 1007 is 48
+run/0: ingredient 1 is digit
+mem/0: location 1009 is 4
+run/0: product 0 is 52
+mem/0: storing 52 in location 1010
+run/0: instruction integer-to-decimal-string/21
+mem/0: location 1006 is 1060
+mem/0: location 1010 is 52
+run/0: instruction buffer-append/0
+mem/0: new alloc: 1092
+mem/0: array size is 30
+run/0: instruction buffer-append/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1094
+run/0: instruction buffer-append/2
+run/0: product 0 is 52
+mem/0: storing 52 in location 1095
+run/0: instruction buffer-append/4
+mem/0: location 1094 is 1060
+run/0: instruction buffer-full?/0
+mem/0: new alloc: 1122
+mem/0: array size is 30
+run/0: instruction buffer-full?/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1124
+run/0: instruction buffer-full?/2
+run/0: ingredient 0 is in
+mem/0: location 1124 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1125
+run/0: instruction buffer-full?/3
+run/0: ingredient 0 is in
+mem/0: location 1124 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1126
+run/0: instruction buffer-full?/4
+mem/0: location 1126 is 1062
+mem/0: storing 30 in location 1127
+run/0: instruction buffer-full?/5
+run/0: ingredient 0 is len
+mem/0: location 1125 is 0
+run/0: ingredient 1 is capacity
+mem/0: location 1127 is 30
+run/0: product 0 is 0
+mem/0: storing 0 in location 1128
+run/0: instruction buffer-full?/6
+mem/0: location 1128 is 0
+run/0: result 0 is 0
+mem/0: storing 0 in location 1096
+run/0: instruction buffer-append/5
+mem/0: location 1096 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 7
+run/0: instruction buffer-append/8
+run/0: ingredient 0 is in
+mem/0: location 1094 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1097
+run/0: instruction buffer-append/9
+run/0: ingredient 0 is in
+mem/0: location 1094 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1098
+run/0: instruction buffer-append/10
+run/0: ingredient 0 is s
+mem/0: location 1098 is 1062
+run/0: ingredient 1 is {name: "len", value: 4, type: 2-1, properties: ["len": "address":"integer", "deref": ]}
+mem/0: location 1097 is 1060
+mem/0: location 1060 is 0
+run/0: address to copy is 1063
+run/0: product 0 is 1063
+mem/0: storing 1063 in location 1099
+run/0: instruction buffer-append/11
+run/0: ingredient 0 is c
+mem/0: location 1095 is 52
+mem/0: location 1099 is 1063
+mem/0: storing 52 in location 1063
+run/0: instruction buffer-append/12
+run/0: ingredient 0 is len
+mem/0: location 1097 is 1060
+mem/0: location 1060 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: location 1097 is 1060
+mem/0: storing 1 in location 1060
+run/0: instruction buffer-append/13
+mem/0: location 1094 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/22
+run/0: ingredient 0 is -6
+run/0: pc now 16
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 23
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/19
+run/0: ingredient 0 is n
+mem/0: location 1002 is 23
+run/0: ingredient 1 is 10
+run/0: product 0 is 2
+mem/0: storing 2 in location 1002
+run/0: product 1 is 3
+mem/0: storing 3 in location 1009
+run/0: instruction integer-to-decimal-string/20
+run/0: ingredient 0 is digit-base
+mem/0: location 1007 is 48
+run/0: ingredient 1 is digit
+mem/0: location 1009 is 3
+run/0: product 0 is 51
+mem/0: storing 51 in location 1010
+run/0: instruction integer-to-decimal-string/21
+mem/0: location 1006 is 1060
+mem/0: location 1010 is 51
+run/0: instruction buffer-append/0
+mem/0: new alloc: 1152
+mem/0: array size is 30
+run/0: instruction buffer-append/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1154
+run/0: instruction buffer-append/2
+run/0: product 0 is 51
+mem/0: storing 51 in location 1155
+run/0: instruction buffer-append/4
+mem/0: location 1154 is 1060
+run/0: instruction buffer-full?/0
+mem/0: new alloc: 1182
+mem/0: array size is 30
+run/0: instruction buffer-full?/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1184
+run/0: instruction buffer-full?/2
+run/0: ingredient 0 is in
+mem/0: location 1184 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1185
+run/0: instruction buffer-full?/3
+run/0: ingredient 0 is in
+mem/0: location 1184 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1186
+run/0: instruction buffer-full?/4
+mem/0: location 1186 is 1062
+mem/0: storing 30 in location 1187
+run/0: instruction buffer-full?/5
+run/0: ingredient 0 is len
+mem/0: location 1185 is 1
+run/0: ingredient 1 is capacity
+mem/0: location 1187 is 30
+run/0: product 0 is 0
+mem/0: storing 0 in location 1188
+run/0: instruction buffer-full?/6
+mem/0: location 1188 is 0
+run/0: result 0 is 0
+mem/0: storing 0 in location 1156
+run/0: instruction buffer-append/5
+mem/0: location 1156 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 7
+run/0: instruction buffer-append/8
+run/0: ingredient 0 is in
+mem/0: location 1154 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1157
+run/0: instruction buffer-append/9
+run/0: ingredient 0 is in
+mem/0: location 1154 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1158
+run/0: instruction buffer-append/10
+run/0: ingredient 0 is s
+mem/0: location 1158 is 1062
+run/0: ingredient 1 is {name: "len", value: 4, type: 2-1, properties: ["len": "address":"integer", "deref": ]}
+mem/0: location 1157 is 1060
+mem/0: location 1060 is 1
+run/0: address to copy is 1064
+run/0: product 0 is 1064
+mem/0: storing 1064 in location 1159
+run/0: instruction buffer-append/11
+run/0: ingredient 0 is c
+mem/0: location 1155 is 51
+mem/0: location 1159 is 1064
+mem/0: storing 51 in location 1064
+run/0: instruction buffer-append/12
+run/0: ingredient 0 is len
+mem/0: location 1157 is 1060
+mem/0: location 1060 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 2
+mem/0: location 1157 is 1060
+mem/0: storing 2 in location 1060
+run/0: instruction buffer-append/13
+mem/0: location 1154 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/22
+run/0: ingredient 0 is -6
+run/0: pc now 16
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 2
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/19
+run/0: ingredient 0 is n
+mem/0: location 1002 is 2
+run/0: ingredient 1 is 10
+run/0: product 0 is 0
+mem/0: storing 0 in location 1002
+run/0: product 1 is 2
+mem/0: storing 2 in location 1009
+run/0: instruction integer-to-decimal-string/20
+run/0: ingredient 0 is digit-base
+mem/0: location 1007 is 48
+run/0: ingredient 1 is digit
+mem/0: location 1009 is 2
+run/0: product 0 is 50
+mem/0: storing 50 in location 1010
+run/0: instruction integer-to-decimal-string/21
+mem/0: location 1006 is 1060
+mem/0: location 1010 is 50
+run/0: instruction buffer-append/0
+mem/0: new alloc: 1212
+mem/0: array size is 30
+run/0: instruction buffer-append/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1214
+run/0: instruction buffer-append/2
+run/0: product 0 is 50
+mem/0: storing 50 in location 1215
+run/0: instruction buffer-append/4
+mem/0: location 1214 is 1060
+run/0: instruction buffer-full?/0
+mem/0: new alloc: 1242
+mem/0: array size is 30
+run/0: instruction buffer-full?/1
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1244
+run/0: instruction buffer-full?/2
+run/0: ingredient 0 is in
+mem/0: location 1244 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 2
+run/0: product 0 is 2
+mem/0: storing 2 in location 1245
+run/0: instruction buffer-full?/3
+run/0: ingredient 0 is in
+mem/0: location 1244 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1246
+run/0: instruction buffer-full?/4
+mem/0: location 1246 is 1062
+mem/0: storing 30 in location 1247
+run/0: instruction buffer-full?/5
+run/0: ingredient 0 is len
+mem/0: location 1245 is 2
+run/0: ingredient 1 is capacity
+mem/0: location 1247 is 30
+run/0: product 0 is 0
+mem/0: storing 0 in location 1248
+run/0: instruction buffer-full?/6
+mem/0: location 1248 is 0
+run/0: result 0 is 0
+mem/0: storing 0 in location 1216
+run/0: instruction buffer-append/5
+mem/0: location 1216 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 7
+run/0: instruction buffer-append/8
+run/0: ingredient 0 is in
+mem/0: location 1214 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: product 0 is 1060
+mem/0: storing 1060 in location 1217
+run/0: instruction buffer-append/9
+run/0: ingredient 0 is in
+mem/0: location 1214 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1218
+run/0: instruction buffer-append/10
+run/0: ingredient 0 is s
+mem/0: location 1218 is 1062
+run/0: ingredient 1 is {name: "len", value: 4, type: 2-1, properties: ["len": "address":"integer", "deref": ]}
+mem/0: location 1217 is 1060
+mem/0: location 1060 is 2
+run/0: address to copy is 1065
+run/0: product 0 is 1065
+mem/0: storing 1065 in location 1219
+run/0: instruction buffer-append/11
+run/0: ingredient 0 is c
+mem/0: location 1215 is 50
+mem/0: location 1219 is 1065
+mem/0: storing 50 in location 1065
+run/0: instruction buffer-append/12
+run/0: ingredient 0 is len
+mem/0: location 1217 is 1060
+mem/0: location 1060 is 2
+run/0: ingredient 1 is 1
+run/0: product 0 is 3
+mem/0: location 1217 is 1060
+mem/0: storing 3 in location 1060
+run/0: instruction buffer-append/13
+mem/0: location 1214 is 1060
+run/0: result 0 is 1060
+mem/0: storing 1060 in location 1006
+run/0: instruction integer-to-decimal-string/22
+run/0: ingredient 0 is -6
+run/0: pc now 16
+run/0: instruction integer-to-decimal-string/17
+run/0: ingredient 0 is n
+mem/0: location 1002 is 0
+run/0: ingredient 1 is 0
+run/0: product 0 is 1
+mem/0: storing 1 in location 1008
+run/0: instruction integer-to-decimal-string/18
+mem/0: location 1008 is 1
+run/0: ingredient 0 is 1
+run/0: ingredient 1 is 
+run/0: jumping to instruction 23
+run/0: instruction integer-to-decimal-string/25
+mem/0: location 1004 is 0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is 
+run/0: jumping to instruction 27
+run/0: instruction integer-to-decimal-string/28
+run/0: ingredient 0 is tmp
+mem/0: location 1006 is 1060
+run/0: ingredient 1 is length
+run/0: address to copy is 1060
+run/0: its type is 1
+mem/0: location 1060 is 3
+run/0: product 0 is 3
+mem/0: storing 3 in location 1011
+run/0: instruction integer-to-decimal-string/29
+run/0: ingredient 0 is tmp
+mem/0: location 1006 is 1060
+run/0: ingredient 1 is data
+run/0: address to copy is 1061
+run/0: its type is 2
+mem/0: location 1061 is 1062
+run/0: product 0 is 1062
+mem/0: storing 1062 in location 1012
+run/0: instruction integer-to-decimal-string/30
+mem/0: new alloc: 1272
+mem/0: storing 1272 in location 1003
+mem/0: location 1011 is 3
+mem/0: array size is 3
+run/0: instruction integer-to-decimal-string/31
+run/0: ingredient 0 is len
+mem/0: location 1011 is 3
+run/0: ingredient 1 is 1
+run/0: product 0 is 2
+mem/0: storing 2 in location 1013
+run/0: instruction integer-to-decimal-string/32
+run/0: ingredient 0 is 0
+mem/0: storing 0 in location 1014
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is 2
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/36
+run/0: ingredient 0 is {name: "buf", value: 11, type: 2-5-4, properties: ["buf": "address":"array":"character", "deref": ]}
+mem/0: location 1012 is 1062
+run/0: ingredient 1 is {name: "i", value: 12, type: 1, properties: ["i": "integer"]}
+mem/0: location 1013 is 2
+run/0: address to copy is 1065
+run/0: its type is 4
+mem/0: location 1065 is 50
+run/0: product 0 is 50
+mem/0: storing 50 in location 1015
+run/0: instruction integer-to-decimal-string/37
+run/0: ingredient 0 is result
+mem/0: location 1003 is 1272
+run/0: ingredient 1 is {name: "j", value: 13, type: 1, properties: ["j": "integer"]}
+mem/0: location 1014 is 0
+run/0: address to copy is 1273
+run/0: product 0 is 1273
+mem/0: storing 1273 in location 1016
+run/0: instruction integer-to-decimal-string/38
+run/0: ingredient 0 is src
+mem/0: location 1015 is 50
+mem/0: location 1016 is 1273
+mem/0: storing 50 in location 1273
+run/0: instruction integer-to-decimal-string/39
+run/0: ingredient 0 is i
+mem/0: location 1013 is 2
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1013
+run/0: instruction integer-to-decimal-string/40
+run/0: ingredient 0 is j
+mem/0: location 1014 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is 1
+mem/0: storing 1 in location 1014
+run/0: instruction integer-to-decimal-string/41
+run/0: ingredient 0 is -8
+run/0: pc now 33
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is 1
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/36
+run/0: ingredient 0 is {name: "buf", value: 11, type: 2-5-4, properties: ["buf": "address":"array":"character", "deref": ]}
+mem/0: location 1012 is 1062
+run/0: ingredient 1 is {name: "i", value: 12, type: 1, properties: ["i": "integer"]}
+mem/0: location 1013 is 1
+run/0: address to copy is 1064
+run/0: its type is 4
+mem/0: location 1064 is 51
+run/0: product 0 is 51
+mem/0: storing 51 in location 1015
+run/0: instruction integer-to-decimal-string/37
+run/0: ingredient 0 is result
+mem/0: location 1003 is 1272
+run/0: ingredient 1 is {name: "j", value: 13, type: 1, properties: ["j": "integer"]}
+mem/0: location 1014 is 1
+run/0: address to copy is 1274
+run/0: product 0 is 1274
+mem/0: storing 1274 in location 1016
+run/0: instruction integer-to-decimal-string/38
+run/0: ingredient 0 is src
+mem/0: location 1015 is 51
+mem/0: location 1016 is 1274
+mem/0: storing 51 in location 1274
+run/0: instruction integer-to-decimal-string/39
+run/0: ingredient 0 is i
+mem/0: location 1013 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 0
+mem/0: storing 0 in location 1013
+run/0: instruction integer-to-decimal-string/40
+run/0: ingredient 0 is j
+mem/0: location 1014 is 1
+run/0: ingredient 1 is 1
+run/0: product 0 is 2
+mem/0: storing 2 in location 1014
+run/0: instruction integer-to-decimal-string/41
+run/0: ingredient 0 is -8
+run/0: pc now 33
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is 0
+run/0: ingredient 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/36
+run/0: ingredient 0 is {name: "buf", value: 11, type: 2-5-4, properties: ["buf": "address":"array":"character", "deref": ]}
+mem/0: location 1012 is 1062
+run/0: ingredient 1 is {name: "i", value: 12, type: 1, properties: ["i": "integer"]}
+mem/0: location 1013 is 0
+run/0: address to copy is 1063
+run/0: its type is 4
+mem/0: location 1063 is 52
+run/0: product 0 is 52
+mem/0: storing 52 in location 1015
+run/0: instruction integer-to-decimal-string/37
+run/0: ingredient 0 is result
+mem/0: location 1003 is 1272
+run/0: ingredient 1 is {name: "j", value: 13, type: 1, properties: ["j": "integer"]}
+mem/0: location 1014 is 2
+run/0: address to copy is 1275
+run/0: product 0 is 1275
+mem/0: storing 1275 in location 1016
+run/0: instruction integer-to-decimal-string/38
+run/0: ingredient 0 is src
+mem/0: location 1015 is 52
+mem/0: location 1016 is 1275
+mem/0: storing 52 in location 1275
+run/0: instruction integer-to-decimal-string/39
+run/0: ingredient 0 is i
+mem/0: location 1013 is 0
+run/0: ingredient 1 is 1
+run/0: product 0 is -1
+mem/0: storing -1 in location 1013
+run/0: instruction integer-to-decimal-string/40
+run/0: ingredient 0 is j
+mem/0: location 1014 is 2
+run/0: ingredient 1 is 1
+run/0: product 0 is 3
+mem/0: storing 3 in location 1014
+run/0: instruction integer-to-decimal-string/41
+run/0: ingredient 0 is -8
+run/0: pc now 33
+run/0: instruction integer-to-decimal-string/34
+run/0: ingredient 0 is i
+mem/0: location 1013 is -1
+run/0: ingredient 1 is 0
+run/0: product 0 is 1
+mem/0: storing 1 in location 1008
+run/0: instruction integer-to-decimal-string/35
+mem/0: location 1008 is 1
+run/0: ingredient 0 is 1
+run/0: ingredient 1 is 
+run/0: jumping to instruction 42
+run/0: instruction integer-to-decimal-string/43
+mem/0: location 1003 is 1272
+run/0: result 0 is 1272
+mem/0: storing 1272 in location 1
+run/0: instruction test-integer-to-decimal-digit-positive/1
+run/0: ingredient 0 is 1
+mem/0: location 1 is 1272
+mem/0: location 1272 is 3
+mem/0: location 1273 is 50
+mem/0: location 1274 is 51
+mem/0: location 1275 is 52
+mem/0: storing 3 in location 2
+mem/0: storing 50 in location 3
+mem/0: storing 51 in location 4
+mem/0: storing 52 in location 5
diff --git a/cpp/.traces/integer-to-decimal-digit-zero b/cpp/.traces/integer-to-decimal-digit-zero
new file mode 100644
index 00000000..39d858e2
--- /dev/null
+++ b/cpp/.traces/integer-to-decimal-digit-zero
@@ -0,0 +1,33 @@
+parse/0: instruction: 105
+parse/0:   ingredient: {name: "0", value: 0, type: 0, properties: ["0": "literal"]}
+parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
+parse/0: instruction: 1
+parse/0:   ingredient: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "deref": , "raw": ]}
+parse/0:   product: {name: "2", value: 0, type: 5-4, properties: ["2": "array":"character", "raw": ]}
+after-brace/0: recipe test-integer-to-decimal-digit-zero
+after-brace/0: integer-to-decimal-string ...
+after-brace/0: copy ...
+run/0: instruction test-integer-to-decimal-digit-zero/0
+run/0: instruction integer-to-decimal-string/0
+mem/0: new alloc: 1000
+mem/0: array size is 30
+run/0: instruction integer-to-decimal-string/1
+run/0: product 0 is 0
+mem/0: storing 0 in location 1002
+run/0: instruction integer-to-decimal-string/3
+mem/0: location 1002 is 0
+run/0: ingredient 0 is 0
+run/0: jump-if fell through
+run/0: instruction integer-to-decimal-string/4
+mem/0: storing 1030 in location 1003
+run/0: instruction integer-to-decimal-string/5
+mem/0: location 1003 is 1030
+run/0: result 0 is 1030
+mem/0: storing 1030 in location 1
+run/0: instruction test-integer-to-decimal-digit-zero/1
+run/0: ingredient 0 is 1
+mem/0: location 1 is 1030
+mem/0: location 1030 is 1
+mem/0: location 1031 is 48
+mem/0: storing 1 in location 2
+mem/0: storing 48 in location 3
diff --git a/cpp/.traces/lesser_than b/cpp/.traces/less_than
index 9628c081..0d6b4b80 100644
--- a/cpp/.traces/lesser_than
+++ b/cpp/.traces/less_than
@@ -11,7 +11,7 @@ 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: lesser-than ...
+after-brace/0: less-than ...
 run/0: instruction main/0
 run/0: ingredient 0 is 32
 mem/0: storing 32 in location 1
diff --git a/cpp/.traces/lesser_than2 b/cpp/.traces/less_than2
index dc373a53..d747f82f 100644
--- a/cpp/.traces/lesser_than2
+++ b/cpp/.traces/less_than2
@@ -11,7 +11,7 @@ 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: lesser-than ...
+after-brace/0: less-than ...
 run/0: instruction main/0
 run/0: ingredient 0 is 34
 mem/0: storing 34 in location 1