#3[0] → #115 · CTRL#4[0] → #2 · ASSOC#5[0] → #2 · ASSOC#12[0] → #2 · ASSOC#13[2] → #7 · MEM#13[3] → #7 · MEM#14[0] → #6 · CTRL#14[1] → #13 · MEM#14[2] → #12 · DATA#14[3] → #4 · DATA#14[4] → #4 · DATA#18[0] → #2 · ASSOC#24[0] → #2 · ASSOC#26[4] → #7 · MEM#26[5] → #7 · MEM#27[0] → #6 · CTRL#27[1] → #26 · MEM#27[2] → #24 · DATA#27[3] → #18 · DATA#27[4] → #4 · DATA#32[1] → #6 · CTRL#32[2] → #41 · CTRL#34[1] → #4 · DATA#34[2] → #60 · DATA#35[1] → #34 · DATA#35[2] → #18 · DATA#40[0] → #32 · CTRL#40[1] → #35 · DATA#46[0] → #2 · ASSOC#51[0] → #2 · ASSOC#52[0] → #2 · ASSOC#53[1] → #34 · DATA#53[2] → #52 · DATA#54[1] → #53 · DATA#54[2] → #51 · DATA#56[1] → #34 · DATA#56[2] → #8 · DATA#57[0] → #41 · CTRL#57[1] → #124 · MEM#57[2] → #28 · DATA#57[3] → #54 · DATA#57[4] → #56 · DATA#60[1] → #34 · DATA#60[2] → #46 · DATA#65[1] → #42 · CTRL#65[2] → #74 · CTRL#67[1] → #4 · DATA#67[2] → #103 · DATA#68[1] → #67 · DATA#68[2] → #18 · DATA#73[0] → #65 · CTRL#73[1] → #68 · DATA#88[1] → #131 · DATA#88[2] → #93 · DATA#91[1] → #67 · DATA#91[2] → #52 · DATA#92[1] → #91 · DATA#92[2] → #51 · DATA#93[0] → #74 · CTRL#93[1] → #124 · MEM#93[2] → #28 · DATA#93[3] → #92 · DATA#94[1] → #104 · MEM#94[2] → #15 · DATA#94[3] → #4 · DATA#94[4] → #88 · DATA#99[1] → #138 · DATA#99[2] → #46 · DATA#100[1] → #132 · MEM#100[2] → #15 · DATA#100[3] → #51 · DATA#100[4] → #99 · DATA#103[1] → #67 · DATA#103[2] → #46 · DATA#104[1] → #16 · MEM#104[2] → #94 · MEM#106[1] → #7 · MEM#106[2] → #104 · MEM#106[3] → #132 · MEM#106[4] → #29 · MEM#106[5] → #124 · MEM#112[1] → #138 · DATA#112[2] → #131 · DATA#115[0] → #75 · CTRL#115[1] → #106 · MEM#115[2] → #112 · DATA#124[1] → #29 · MEM#124[2] → #57 · MEM#131[1] → #4 · DATA#131[2] → #88 · DATA#132[1] → #16 · MEM#132[2] → #100 · MEM#138[1] → #4 · DATA#138[2] → #99 · DATAStart #2[ Ctrl, MemBot, int]#2 Start
[ Ctrl, MemBot, int]
[0] → — ASSOC
[1] → — CTRL
[2] → — CTRL012Stop #3#3 Stop
Bot
[0] → #115 CTRL0Con #40#4 Con
0
[0] → #2 ASSOC0Xctrl #5~Ctrl#5 Xctrl
~Ctrl
[0] → #2 ASSOC0$ctrl #6/0Ctrl#6 $ctrl
Projection 0 of #2
Ctrl
[0] → #2 CTRL$mem #7/1MemBot#7 $mem
Projection 1 of #2
MemBot
[0] → #2 MEMarg #8/2int#8 arg
Projection 2 of #2
int
[0] → #2 DATACon #1216#12 Con
16
[0] → #2 ASSOC0MemMerge #13MemBot#13 MemMerge
MemBot
[0] → — CTRL
[1] → — DATA
[2] → #7 MEM
[3] → #7 MEM0123new_Totals #14[ *Totals {int !sum; int !visits; }, MemBot]#14 new_Totals
[ *Totals {int !sum; int !visits; }, MemBot]
[0] → #6 CTRL
[1] → #13 MEM
[2] → #12 DATA
[3] → #4 DATA
[4] → #4 DATA01234Totals #15/0*Totals {int !sum; int !visits; }#15 Totals
Projection 0 of #14
*Totals {int !sum; int !visits; }
[0] → #14 DATA$mem #16/1MemBot#16 $mem
Projection 1 of #14
MemBot
[0] → #14 MEMCon #184#18 Con
4
[0] → #2 ASSOC0Con #2440#24 Con
40
[0] → #2 ASSOC0MemMerge #26MemBot#26 MemMerge
MemBot
[0] → — CTRL
[1] → — DATA
[2] → — DATA
[3] → — DATA
[4] → #7 MEM
[5] → #7 MEM012345new_ary_int #27[ *[int] {int #; int ![]; }, MemBot]#27 new_ary_int
[ *[int] {int #; int ![]; }, MemBot]
[0] → #6 CTRL
[1] → #26 MEM
[2] → #24 DATA
[3] → #18 DATA
[4] → #4 DATA01234[int] #28/0*[int] {int #; int ![]; }#28 [int]
Projection 0 of #27
*[int] {int #; int ![]; }
[0] → #27 DATA$mem #29/1MemBot#29 $mem
Projection 1 of #27
MemBot
[0] → #27 MEMLoop #32Ctrl#32 Loop
Ctrl
[0] → — ASSOC
[1] → #6 CTRL
[2] → #41 CTRL012Phi_i #34int#34 Phi_i
int
[0] → #32 ASSOC
[1] → #4 DATA
[2] → #60 DATA[0] → #32012LT #35bool#35 LT
bool
[0] → — CTRL
[1] → #34 DATA
[2] → #18 DATA012If #40[ Ctrl, Ctrl]#40 If
[ Ctrl, Ctrl]
[0] → #32 CTRL
[1] → #35 DATA01True #41/0Ctrl#41 True
Projection 0 of #40
Ctrl
[0] → #40 CTRLFalse #42/1Ctrl#42 False
Projection 1 of #40
Ctrl
[0] → #40 CTRLCon #461#46 Con
1
[0] → #2 ASSOC0Con #518#51 Con
8
[0] → #2 ASSOC0Con #523#52 Con
3
[0] → #2 ASSOC0Shl #53int#53 Shl
int
[0] → — CTRL
[1] → #34 DATA
[2] → #52 DATA012Add #54int#54 Add
int
[0] → — CTRL
[1] → #53 DATA
[2] → #51 DATA012Add #56int#56 Add
int
[0] → — CTRL
[1] → #34 DATA
[2] → #8 DATA012st_ary #57MEM#5:Bot#57 st_ary
MEM#5:Bot
[0] → #41 CTRL
[1] → #124 MEM
[2] → #28 DATA
[3] → #54 DATA
[4] → #56 DATA01234Add #60int#60 Add
int
[0] → — CTRL
[1] → #34 DATA
[2] → #46 DATA012Loop #65Ctrl#65 Loop
Ctrl
[0] → — ASSOC
[1] → #42 CTRL
[2] → #74 CTRL012Phi_i #67int#67 Phi_i
int
[0] → #65 ASSOC
[1] → #4 DATA
[2] → #103 DATA[0] → #65012LT #68bool#68 LT
bool
[0] → — CTRL
[1] → #67 DATA
[2] → #18 DATA012If #73[ Ctrl, Ctrl]#73 If
[ Ctrl, Ctrl]
[0] → #65 CTRL
[1] → #68 DATA01True #74/0Ctrl#74 True
Projection 0 of #73
Ctrl
[0] → #73 CTRLFalse #75/1Ctrl#75 False
Projection 1 of #73
Ctrl
[0] → #73 CTRLAdd #88int#88 Add
int
[0] → — CTRL
[1] → #131 DATA
[2] → #93 DATA012Shl #91int#91 Shl
int
[0] → — CTRL
[1] → #67 DATA
[2] → #52 DATA012Add #92int#92 Add
int
[0] → — CTRL
[1] → #91 DATA
[2] → #51 DATA012ld_ary #93int#93 ld_ary
int
[0] → #74 CTRL
[1] → #124 MEM
[2] → #28 DATA
[3] → #92 DATA0123st_sum #94MEM#2:Bot#94 st_sum
MEM#2:Bot
[0] → — CTRL
[1] → #104 MEM
[2] → #15 DATA
[3] → #4 DATA
[4] → #88 DATA01234Add #99int#99 Add
int
[0] → — CTRL
[1] → #138 DATA
[2] → #46 DATA012st_visits #100MEM#3:Bot#100 st_visits
MEM#3:Bot
[0] → — CTRL
[1] → #132 MEM
[2] → #15 DATA
[3] → #51 DATA
[4] → #99 DATA01234Add #103int#103 Add
int
[0] → — CTRL
[1] → #67 DATA
[2] → #46 DATA012MemPhi_2 #104MEM#2:Bot#104 MemPhi_2
MEM#2:Bot
[0] → #65 ASSOC
[1] → #16 MEM
[2] → #94 MEM[0] → #65012MemMerge #106MemBot#106 MemMerge
MemBot
[0] → — CTRL
[1] → #7 MEM
[2] → #104 MEM
[3] → #132 MEM
[4] → #29 MEM
[5] → #124 MEM012345Add #112int#112 Add
int
[0] → — CTRL
[1] → #138 DATA
[2] → #131 DATA012Return #115[ Ctrl, MemBot, int]#115 Return
[ Ctrl, MemBot, int]
[0] → #75 CTRL
[1] → #106 MEM
[2] → #112 DATA012MemPhi_5 #124MEM#5:Bot#124 MemPhi_5
MEM#5:Bot
[0] → #32 ASSOC
[1] → #29 MEM
[2] → #57 MEM[0] → #32012Phi_sum #131int#131 Phi_sum
int
[0] → #65 ASSOC
[1] → #4 DATA
[2] → #88 DATA[0] → #65012MemPhi_3 #132MEM#3:Bot#132 MemPhi_3
MEM#3:Bot
[0] → #65 ASSOC
[1] → #16 MEM
[2] → #100 MEM[0] → #65012Phi_visits #138int#138 Phi_visits
int
[0] → #65 ASSOC
[1] → #4 DATA
[2] → #99 DATA[0] → #65012Loop #32Loop · 12 nodes−Fold regionLoop #65Loop · 19 nodes−Fold region