97
98
```
99
bb0:
100
- [1] Let mutate a$13_@0[0:23] = Object { }
101
- [2] Let mutate b$14_@0[0:23] = Object { }
102
- [3] Let mutate c$15_@0[0:23] = Object { }
103
- [4] Let mutate d$16_@0[0:23] = Object { }
100
+ [1] Let mutate a$18_@0[0:23] = Object { }
101
+ [2] Let mutate b$20_@0[0:23] = Object { }
102
+ [3] Let mutate c$22_@0[0:23] = Object { }
103
+ [4] Let mutate d$24_@0[0:23] = Object { }
104
[5] While test=bb1 loop=bb3 fallthrough=bb2
105
bb1:
106
predecessor blocks: bb0 bb4
107
- a$18_@0[0:23]: phi(bb0: a$13_@0, bb4: a$21_@0)
108
- b$20_@0[0:23]: phi(bb0: b$14_@0, bb4: b$23_@0)
109
- c$22_@0[0:23]: phi(bb0: c$15_@0, bb4: c$25_@0)
110
- d$24_@0[0:23]: phi(bb0: d$16_@0, bb4: d$26_@0)
107
[6] Const mutate $17_@1[6:8] = true
108
[7] If (read $17_@1) then:bb3 else:bb2 fallthrough=bb2
109
bb3:
110
predecessor blocks: bb1
115
- [8] Let mutate z$19_@0[0:23] = read a$18_@0
116
- [9] Reassign mutate a$21_@0[0:23] = read b$20_@0
117
- [10] Reassign mutate b$23_@0[0:23] = read c$22_@0
118
- [11] Reassign mutate c$25_@0[0:23] = read d$24_@0
119
- [12] Reassign mutate d$26_@0[0:23] = read z$19_@0
120
- [13] Call mutate mutate$7_@0(mutate a$21_@0, mutate b$23_@0)
121
- [14] Const mutate $29_@0[0:23] = Call mutate cond$8_@0(mutate a$21_@0)
111
+ [8] Const mutate z$19_@0[0:23] = read a$18_@0
112
+ [9] Reassign mutate a$18_@0[0:23] = read b$20_@0
113
+ [10] Reassign mutate b$20_@0[0:23] = read c$22_@0
114
+ [11] Reassign mutate c$22_@0[0:23] = read d$24_@0
115
+ [12] Reassign mutate d$24_@0[0:23] = read z$19_@0
116
+ [13] Call mutate mutate$7_@0(mutate a$18_@0, mutate b$20_@0)
117
+ [14] Const mutate $29_@0[0:23] = Call mutate cond$8_@0(mutate a$18_@0)
118
[15] If (read $29_@0) then:bb2 else:bb4 fallthrough=bb4
119
bb4:
120
predecessor blocks: bb3
121
[16] Goto(Continue) bb1
122
bb2:
123
predecessor blocks: bb3 bb1
128
- a$30_@0[0:23]: phi(bb3: a$21_@0, bb1: a$18_@0)
129
- b$31_@0[0:23]: phi(bb3: b$23_@0, bb1: b$20_@0)
130
- c$32_@0[0:23]: phi(bb3: c$25_@0, bb1: c$22_@0)
131
- d$33_@0[0:23]: phi(bb3: d$26_@0, bb1: d$24_@0)
132
- [17] If (read a$30_@0) then:bb7 else:bb7 fallthrough=bb7
124
+ [17] If (read a$18_@0) then:bb7 else:bb7 fallthrough=bb7
125
bb7:
126
predecessor blocks: bb2
135
- [18] If (read b$31_@0) then:bb9 else:bb9 fallthrough=bb9
127
+ [18] If (read b$20_@0) then:bb9 else:bb9 fallthrough=bb9
128
bb9:
129
predecessor blocks: bb7
138
- [19] If (read c$32_@0) then:bb11 else:bb11 fallthrough=bb11
130
+ [19] If (read c$22_@0) then:bb11 else:bb11 fallthrough=bb11
131
bb11:
132
predecessor blocks: bb9
141
- [20] If (read d$33_@0) then:bb13 else:bb13 fallthrough=bb13
133
+ [20] If (read d$24_@0) then:bb13 else:bb13 fallthrough=bb13
134
bb13:
135
predecessor blocks: bb11
136
[21] Const mutate $34_@2 = null
145
- [22] Call mutate mutate$7_@0(mutate d$33_@0, read $34_@2)
137
+ [22] Call mutate mutate$7_@0(mutate d$24_@0, read $34_@2)
138
[23] Return
139
140
```
146
%% Basic Blocks
147
subgraph bb0
148
bb0_instrs["
157
- [1] Let mutate a$13_@0[0:23] = Object { }
158
- [2] Let mutate b$14_@0[0:23] = Object { }
159
- [3] Let mutate c$15_@0[0:23] = Object { }
160
- [4] Let mutate d$16_@0[0:23] = Object { }
149
+ [1] Let mutate a$18_@0[0:23] = Object { }
150
+ [2] Let mutate b$20_@0[0:23] = Object { }
151
+ [3] Let mutate c$22_@0[0:23] = Object { }
152
+ [4] Let mutate d$24_@0[0:23] = Object { }
153
"]
154
bb0_instrs --> bb0_terminal(["While"])
155
end
161
end
162
subgraph bb3
163
bb3_instrs["
172
- [8] Let mutate z$19_@0[0:23] = read a$18_@0
173
- [9] Reassign mutate a$21_@0[0:23] = read b$20_@0
174
- [10] Reassign mutate b$23_@0[0:23] = read c$22_@0
175
- [11] Reassign mutate c$25_@0[0:23] = read d$24_@0
176
- [12] Reassign mutate d$26_@0[0:23] = read z$19_@0
177
- [13] Call mutate mutate$7_@0(mutate a$21_@0, mutate b$23_@0)
178
- [14] Const mutate $29_@0[0:23] = Call mutate cond$8_@0(mutate a$21_@0)
164
+ [8] Const mutate z$19_@0[0:23] = read a$18_@0
165
+ [9] Reassign mutate a$18_@0[0:23] = read b$20_@0
166
+ [10] Reassign mutate b$20_@0[0:23] = read c$22_@0
167
+ [11] Reassign mutate c$22_@0[0:23] = read d$24_@0
168
+ [12] Reassign mutate d$24_@0[0:23] = read z$19_@0
169
+ [13] Call mutate mutate$7_@0(mutate a$18_@0, mutate b$20_@0)
170
+ [14] Const mutate $29_@0[0:23] = Call mutate cond$8_@0(mutate a$18_@0)
171
"]
172
bb3_instrs --> bb3_terminal(["If (read $29_@0)"])
173
end
175
bb4_terminal(["Goto"])
176
end
177
subgraph bb2
186
- bb2_terminal(["If (read a$30_@0)"])
178
+ bb2_terminal(["If (read a$18_@0)"])
179
end
180
subgraph bb7
189
- bb7_terminal(["If (read b$31_@0)"])
181
+ bb7_terminal(["If (read b$20_@0)"])
182
end
183
subgraph bb9
192
- bb9_terminal(["If (read c$32_@0)"])
184
+ bb9_terminal(["If (read c$22_@0)"])
185
end
186
subgraph bb11
195
- bb11_terminal(["If (read d$33_@0)"])
187
+ bb11_terminal(["If (read d$24_@0)"])
188
end
189
subgraph bb13
190
bb13_instrs["
191
[21] Const mutate $34_@2 = null
200
- [22] Call mutate mutate$7_@0(mutate d$33_@0, read $34_@2)
192
+ [22] Call mutate mutate$7_@0(mutate d$24_@0, read $34_@2)
193
"]
194
bb13_instrs --> bb13_terminal(["Return"])
195
end