summaryrefslogtreecommitdiff
path: root/docs/chapter11/graph6.svg
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-06-30 01:58:08 +0100
committerCliff Click <cliffc@acm.org>2024-11-16 15:19:12 -0800
commita667a5b81d47d9f15728c397c68bf196b4ecc7ba (patch)
tree0919c3fc9e23b1d243e33720bee6b150adaf3b88 /docs/chapter11/graph6.svg
parent5439604a2de8eb00398cf7c56f921a8f5dd21528 (diff)
downloadSimple-a667a5b81d47d9f15728c397c68bf196b4ecc7ba.tar.gz
Simple-a667a5b81d47d9f15728c397c68bf196b4ecc7ba.zip
Chapter 11: Global Code Motion
Co-authored-by: Dibyendu Majumdar <mobile@majumdar.org.uk> Co-authored-by: Thalia Archibald <thalia@archibald.dev> Co-authored-by: Robert Obkircher <robert.obkircher@gmail.com>
Diffstat (limited to 'docs/chapter11/graph6.svg')
-rw-r--r--docs/chapter11/graph6.svg437
1 files changed, 437 insertions, 0 deletions
diff --git a/docs/chapter11/graph6.svg b/docs/chapter11/graph6.svg
new file mode 100644
index 00000000..354f5d2f
--- /dev/null
+++ b/docs/chapter11/graph6.svg
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.43.0 (0)
+ -->
+<!-- Title: chapter11 Pages: 1 -->
+<svg width="382pt" height="880pt"
+ viewBox="0.00 0.00 382.00 880.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 876)">
+<title>chapter11</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-876 378,-876 378,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_Nodes</title>
+<polygon fill="none" stroke="black" points="8,-8 8,-864 366,-864 366,-8 8,-8"/>
+</g>
+<!-- Start2 -->
+<g id="node1" class="node">
+<title>Start2</title>
+<polygon fill="yellow" stroke="transparent" points="160,-827 160,-852 266,-852 266,-827 160,-827"/>
+<polygon fill="none" stroke="black" points="160,-827 160,-852 266,-852 266,-827 160,-827"/>
+<text text-anchor="start" x="194.5" y="-835.8" font-family="Times,serif" font-size="14.00">Start</text>
+<polygon fill="none" stroke="black" points="160,-796 160,-827 266,-827 266,-796 160,-796"/>
+<polygon fill="yellow" stroke="transparent" points="165,-801 165,-822 205,-822 205,-801 165,-801"/>
+<polygon fill="none" stroke="black" points="165,-801 165,-822 205,-822 205,-801 165,-801"/>
+<text text-anchor="start" x="168" y="-807.8" font-family="Times,serif" font-size="14.00">$ctrl</text>
+<polygon fill="none" stroke="black" points="205,-801 205,-822 236,-822 236,-801 205,-801"/>
+<text text-anchor="start" x="208" y="-807.8" font-family="Times,serif" font-size="14.00">arg</text>
+<polygon fill="none" stroke="black" points="236,-801 236,-822 261,-822 261,-801 236,-801"/>
+<text text-anchor="start" x="239" y="-807.8" font-family="Times,serif" font-size="14.00">$2</text>
+</g>
+<!-- Stop3 -->
+<g id="node2" class="node">
+<title>Stop3</title>
+<polygon fill="yellow" stroke="black" points="150,-282 96,-282 96,-246 150,-246 150,-282"/>
+<text text-anchor="middle" x="123" y="-260.3" font-family="Times,serif" font-size="14.00">Stop</text>
+</g>
+<!-- Return37 -->
+<g id="node21" class="node">
+<title>Return37</title>
+<polygon fill="yellow" stroke="black" points="142,-368 76,-368 76,-332 142,-332 142,-368"/>
+<text text-anchor="middle" x="109" y="-346.3" font-family="Times,serif" font-size="14.00">Return</text>
+</g>
+<!-- Stop3&#45;&gt;Return37 -->
+<g id="edge1" class="edge">
+<title>Stop3&#45;&gt;Return37</title>
+<path fill="none" stroke="red" d="M120.1,-282.4C118.21,-293.74 115.7,-308.77 113.55,-321.68"/>
+<polygon fill="red" stroke="red" points="110.04,-321.47 111.85,-331.9 116.95,-322.62 110.04,-321.47"/>
+<text text-anchor="middle" x="117.1" y="-285" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Con_4 -->
+<g id="node3" class="node">
+<title>Con_4</title>
+<ellipse fill="none" stroke="black" cx="231" cy="-738" rx="27" ry="18"/>
+<text text-anchor="middle" x="231" y="-734.3" font-family="Times,serif" font-size="14.00">#0</text>
+</g>
+<!-- new9 -->
+<g id="node4" class="node">
+<title>new9</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-738" rx="38.99" ry="18"/>
+<text text-anchor="middle" x="127" y="-734.3" font-family="Times,serif" font-size="14.00">new S</text>
+</g>
+<!-- new9&#45;&gt;Start2 -->
+<g id="edge2" class="edge">
+<title>new9&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="green" d="M128.38,-756.06C130.74,-774.19 137.07,-801.28 154.09,-808.93"/>
+<polygon fill="green" stroke="green" points="153.5,-812.38 164,-811 154.93,-805.53 153.5,-812.38"/>
+<text text-anchor="middle" x="125.38" y="-758.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Store10 -->
+<g id="node5" class="node">
+<title>Store10</title>
+<ellipse fill="none" stroke="black" cx="157" cy="-666" rx="27.9" ry="18"/>
+<text text-anchor="middle" x="157" y="-662.3" font-family="Times,serif" font-size="14.00">.f =</text>
+</g>
+<!-- Store10&#45;&gt;Start2 -->
+<g id="edge3" class="edge">
+<title>Store10&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="red" d="M163.73,-683.93C167.57,-694.21 172.17,-707.69 175,-720 182.21,-751.38 184.54,-762.02 184.93,-789.85"/>
+<polygon fill="red" stroke="red" points="181.44,-790.02 185,-800 188.44,-789.98 181.44,-790.02"/>
+<text text-anchor="middle" x="160.73" y="-686.53" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Store10&#45;&gt;Con_4 -->
+<g id="edge6" class="edge">
+<title>Store10&#45;&gt;Con_4</title>
+<path fill="none" stroke="black" d="M172.33,-681.5C182.82,-691.42 196.89,-704.74 208.63,-715.84"/>
+<polygon fill="black" stroke="black" points="206.27,-718.42 215.94,-722.75 211.08,-713.34 206.27,-718.42"/>
+<text text-anchor="middle" x="169.33" y="-684.1" font-family="Helvetica,sans-Serif" font-size="8.00">3</text>
+</g>
+<!-- Store10&#45;&gt;new9 -->
+<g id="edge5" class="edge">
+<title>Store10&#45;&gt;new9</title>
+<path fill="none" stroke="black" d="M149.89,-683.59C146.43,-691.66 142.18,-701.57 138.29,-710.65"/>
+<polygon fill="black" stroke="black" points="134.99,-709.47 134.27,-720.04 141.42,-712.23 134.99,-709.47"/>
+<text text-anchor="middle" x="146.89" y="-686.19" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Loop11 -->
+<g id="node6" class="node">
+<title>Loop11</title>
+<polygon fill="yellow" stroke="black" points="246,-612 192,-612 192,-576 246,-576 246,-612"/>
+<text text-anchor="middle" x="219" y="-590.3" font-family="Times,serif" font-size="14.00">Loop</text>
+</g>
+<!-- Loop11&#45;&gt;Start2 -->
+<g id="edge7" class="edge">
+<title>Loop11&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="red" d="M232.6,-612.1C255.23,-642.79 295.45,-708.44 267,-756 247.84,-788.03 196.49,-764.41 186.65,-789.87"/>
+<polygon fill="red" stroke="red" points="183.15,-789.57 185,-800 190.06,-790.69 183.15,-789.57"/>
+<text text-anchor="middle" x="229.6" y="-614.7" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Region32 -->
+<g id="node17" class="node">
+<title>Region32</title>
+<polygon fill="yellow" stroke="black" points="266,-124 200,-124 200,-88 266,-88 266,-124"/>
+<text text-anchor="middle" x="233" y="-102.3" font-family="Times,serif" font-size="14.00">Region</text>
+</g>
+<!-- Loop11&#45;&gt;Region32 -->
+<g id="edge8" class="edge">
+<title>Loop11&#45;&gt;Region32</title>
+<path fill="none" stroke="red" d="M191.95,-583.41C149.79,-568.45 73.1,-541.12 72,-540 38.13,-505.5 37,-485.35 37,-437 37,-349 37,-349 37,-349 37,-292.45 45.93,-270.87 87,-232 121.01,-199.82 150.7,-226.76 186,-196 204.96,-179.48 217.45,-153.41 224.76,-133.74"/>
+<polygon fill="red" stroke="red" points="228.13,-134.72 228.12,-124.13 221.52,-132.42 228.13,-134.72"/>
+<text text-anchor="middle" x="188.95" y="-577.01" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_arg13 -->
+<g id="node7" class="node">
+<title>Phi_arg13</title>
+<ellipse fill="lightyellow" stroke="black" cx="321" cy="-594" rx="37.09" ry="18"/>
+<text text-anchor="middle" x="321" y="-590.3" font-family="Times,serif" font-size="14.00">φ_arg</text>
+</g>
+<!-- Phi_arg13&#45;&gt;Start2 -->
+<g id="edge10" class="edge">
+<title>Phi_arg13&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M319.63,-612.41C316.47,-643.6 306.42,-710.01 276,-756 261.03,-778.64 230.66,-771.56 222.86,-789.7"/>
+<polygon fill="black" stroke="black" points="219.33,-789.54 221,-800 226.22,-790.78 219.33,-789.54"/>
+<text text-anchor="middle" x="316.63" y="-615.01" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_arg13&#45;&gt;Loop11 -->
+<g id="edge9" class="edge">
+<title>Phi_arg13&#45;&gt;Loop11</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M283.84,-594C274.6,-594 265.36,-594 256.12,-594"/>
+<polygon fill="black" stroke="black" points="256.09,-590.5 246.09,-594 256.09,-597.5 256.09,-590.5"/>
+<text text-anchor="middle" x="280.84" y="-587.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Sub35 -->
+<g id="node19" class="node">
+<title>Sub35</title>
+<ellipse fill="none" stroke="black" cx="285" cy="-34" rx="27" ry="18"/>
+<text text-anchor="middle" x="285" y="-30.3" font-family="Times,serif" font-size="14.00">&#45;</text>
+</g>
+<!-- LT14 -->
+<g id="node8" class="node">
+<title>LT14</title>
+<ellipse fill="none" stroke="black" cx="265" cy="-522" rx="27" ry="18"/>
+<text text-anchor="middle" x="265" y="-518.3" font-family="Times,serif" font-size="14.00">&lt;</text>
+</g>
+<!-- LT14&#45;&gt;Con_4 -->
+<g id="edge13" class="edge">
+<title>LT14&#45;&gt;Con_4</title>
+<path fill="none" stroke="black" d="M263.48,-540.11C261.78,-558.07 258.78,-587.1 255,-612 249.83,-646.03 242.07,-684.92 236.78,-710.16"/>
+<polygon fill="black" stroke="black" points="233.33,-709.58 234.68,-720.09 240.17,-711.03 233.33,-709.58"/>
+<text text-anchor="middle" x="260.48" y="-542.71" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- LT14&#45;&gt;Loop11 -->
+<g id="edge12" class="edge">
+<title>LT14&#45;&gt;Loop11</title>
+<path fill="none" stroke="red" d="M254.56,-538.88C249.04,-547.28 242.13,-557.8 235.87,-567.33"/>
+<polygon fill="red" stroke="red" points="232.93,-565.43 230.36,-575.71 238.78,-569.27 232.93,-565.43"/>
+<text text-anchor="middle" x="251.56" y="-541.48" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- LT14&#45;&gt;Phi_arg13 -->
+<g id="edge14" class="edge">
+<title>LT14&#45;&gt;Phi_arg13</title>
+<path fill="none" stroke="black" d="M277.15,-538.19C284.36,-547.2 293.66,-558.82 301.84,-569.05"/>
+<polygon fill="black" stroke="black" points="299.11,-571.24 308.09,-576.87 304.58,-566.87 299.11,-571.24"/>
+<text text-anchor="middle" x="274.15" y="-540.79" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- If16 -->
+<g id="node9" class="node">
+<title>If16</title>
+<polygon fill="yellow" stroke="transparent" points="144,-439 144,-464 238,-464 238,-439 144,-439"/>
+<polygon fill="none" stroke="black" points="144,-439 144,-464 238,-464 238,-439 144,-439"/>
+<text text-anchor="start" x="185.5" y="-447.8" font-family="Times,serif" font-size="14.00">If</text>
+<polygon fill="none" stroke="black" points="144,-408 144,-439 238,-439 238,-408 144,-408"/>
+<polygon fill="yellow" stroke="transparent" points="149,-413 149,-434 189,-434 189,-413 149,-413"/>
+<polygon fill="none" stroke="black" points="149,-413 149,-434 189,-434 189,-413 149,-413"/>
+<text text-anchor="start" x="152" y="-419.8" font-family="Times,serif" font-size="14.00">True</text>
+<polygon fill="yellow" stroke="transparent" points="189,-413 189,-434 233,-434 233,-413 189,-413"/>
+<polygon fill="none" stroke="black" points="189,-413 189,-434 233,-434 233,-413 189,-413"/>
+<text text-anchor="start" x="192" y="-419.8" font-family="Times,serif" font-size="14.00">False</text>
+</g>
+<!-- If16&#45;&gt;Loop11 -->
+<g id="edge15" class="edge">
+<title>If16&#45;&gt;Loop11</title>
+<path fill="none" stroke="red" d="M196.6,-468.19C201.73,-496.77 209.24,-538.64 214.13,-565.86"/>
+<polygon fill="red" stroke="red" points="210.71,-566.63 215.92,-575.86 217.6,-565.4 210.71,-566.63"/>
+<text text-anchor="middle" x="193.6" y="-470.79" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- If16&#45;&gt;LT14 -->
+<g id="edge16" class="edge">
+<title>If16&#45;&gt;LT14</title>
+<path fill="none" stroke="black" d="M218.55,-468.28C227.33,-478.24 236.86,-489.05 244.99,-498.29"/>
+<polygon fill="black" stroke="black" points="242.49,-500.74 251.72,-505.93 247.74,-496.11 242.49,-500.74"/>
+<text text-anchor="middle" x="215.55" y="-470.88" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Div21 -->
+<g id="node10" class="node">
+<title>Div21</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-738" rx="27" ry="18"/>
+<text text-anchor="middle" x="43" y="-734.3" font-family="Times,serif" font-size="14.00">//</text>
+</g>
+<!-- Div21&#45;&gt;Start2 -->
+<g id="edge17" class="edge">
+<title>Div21&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="red" d="M56.68,-753.92C76,-773.4 113.45,-805.6 153.93,-810.4"/>
+<polygon fill="red" stroke="red" points="153.81,-813.89 164,-811 154.23,-806.91 153.81,-813.89"/>
+<text text-anchor="middle" x="53.68" y="-756.52" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Div21&#45;&gt;Start2 -->
+<g id="edge18" class="edge">
+<title>Div21&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M64.1,-749.57C68.94,-751.82 74.1,-754.1 79,-756 137.09,-778.59 211.95,-738.92 220.24,-789.82"/>
+<polygon fill="black" stroke="black" points="216.77,-790.29 221,-800 223.75,-789.77 216.77,-790.29"/>
+<text text-anchor="middle" x="61.1" y="-752.17" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Con_22 -->
+<g id="node11" class="node">
+<title>Con_22</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-824" rx="27" ry="18"/>
+<text text-anchor="middle" x="43" y="-820.3" font-family="Times,serif" font-size="14.00">#3</text>
+</g>
+<!-- Div21&#45;&gt;Con_22 -->
+<g id="edge19" class="edge">
+<title>Div21&#45;&gt;Con_22</title>
+<path fill="none" stroke="black" d="M43,-756.4C43,-767.74 43,-782.77 43,-795.68"/>
+<polygon fill="black" stroke="black" points="39.5,-795.9 43,-805.9 46.5,-795.9 39.5,-795.9"/>
+<text text-anchor="middle" x="40" y="-759" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- EQ23 -->
+<g id="node12" class="node">
+<title>EQ23</title>
+<ellipse fill="none" stroke="black" cx="284" cy="-350" rx="27" ry="18"/>
+<text text-anchor="middle" x="284" y="-346.3" font-family="Times,serif" font-size="14.00">==</text>
+</g>
+<!-- EQ23&#45;&gt;Phi_arg13 -->
+<g id="edge21" class="edge">
+<title>EQ23&#45;&gt;Phi_arg13</title>
+<path fill="none" stroke="black" d="M299.94,-365.01C309.81,-374.8 321.61,-388.81 327,-404 346.42,-458.77 336.12,-528.17 327.91,-565.78"/>
+<polygon fill="black" stroke="black" points="324.4,-565.41 325.57,-575.94 331.22,-566.98 324.4,-565.41"/>
+<text text-anchor="middle" x="296.94" y="-367.61" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- EQ23&#45;&gt;If16 -->
+<g id="edge20" class="edge">
+<title>EQ23&#45;&gt;If16:p0</title>
+<path fill="none" stroke="red" d="M259.89,-358.47C231.44,-367.9 186.29,-385 172.88,-402.37"/>
+<polygon fill="red" stroke="red" points="169.49,-401.42 169,-412 175.98,-404.03 169.49,-401.42"/>
+<text text-anchor="middle" x="256.89" y="-352.07" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Con_24 -->
+<g id="node13" class="node">
+<title>Con_24</title>
+<ellipse fill="none" stroke="black" cx="291" cy="-436" rx="27" ry="18"/>
+<text text-anchor="middle" x="291" y="-432.3" font-family="Times,serif" font-size="14.00">#5</text>
+</g>
+<!-- EQ23&#45;&gt;Con_24 -->
+<g id="edge22" class="edge">
+<title>EQ23&#45;&gt;Con_24</title>
+<path fill="none" stroke="black" d="M285.42,-368C286.36,-379.31 287.62,-394.42 288.7,-407.43"/>
+<polygon fill="black" stroke="black" points="285.24,-408.06 289.56,-417.74 292.22,-407.48 285.24,-408.06"/>
+<text text-anchor="middle" x="282.42" y="-370.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- If25 -->
+<g id="node14" class="node">
+<title>If25</title>
+<polygon fill="yellow" stroke="transparent" points="208,-267 208,-292 302,-292 302,-267 208,-267"/>
+<polygon fill="none" stroke="black" points="208,-267 208,-292 302,-292 302,-267 208,-267"/>
+<text text-anchor="start" x="249.5" y="-275.8" font-family="Times,serif" font-size="14.00">If</text>
+<polygon fill="none" stroke="black" points="208,-236 208,-267 302,-267 302,-236 208,-236"/>
+<polygon fill="yellow" stroke="transparent" points="213,-241 213,-262 253,-262 253,-241 213,-241"/>
+<polygon fill="none" stroke="black" points="213,-241 213,-262 253,-262 253,-241 213,-241"/>
+<text text-anchor="start" x="216" y="-247.8" font-family="Times,serif" font-size="14.00">True</text>
+<polygon fill="yellow" stroke="transparent" points="253,-241 253,-262 297,-262 297,-241 253,-241"/>
+<polygon fill="none" stroke="black" points="253,-241 253,-262 297,-262 297,-241 253,-241"/>
+<text text-anchor="start" x="256" y="-247.8" font-family="Times,serif" font-size="14.00">False</text>
+</g>
+<!-- If25&#45;&gt;If16 -->
+<g id="edge23" class="edge">
+<title>If25&#45;&gt;If16:p0</title>
+<path fill="none" stroke="red" d="M234.4,-296.29C213.03,-329.21 181.43,-379.35 171.85,-402.21"/>
+<polygon fill="red" stroke="red" points="168.44,-401.42 169,-412 175.16,-403.38 168.44,-401.42"/>
+<text text-anchor="middle" x="231.4" y="-298.89" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- If25&#45;&gt;EQ23 -->
+<g id="edge24" class="edge">
+<title>If25&#45;&gt;EQ23</title>
+<path fill="none" stroke="black" d="M265.8,-296.28C268.78,-304.9 271.97,-314.17 274.85,-322.49"/>
+<polygon fill="black" stroke="black" points="271.58,-323.76 278.16,-332.07 278.2,-321.48 271.58,-323.76"/>
+<text text-anchor="middle" x="262.8" y="-298.88" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_230 -->
+<g id="node15" class="node">
+<title>Phi_230</title>
+<ellipse fill="lightyellow" stroke="black" cx="129" cy="-594" rx="33.29" ry="18"/>
+<text text-anchor="middle" x="129" y="-590.3" font-family="Times,serif" font-size="14.00">φ_$2</text>
+</g>
+<!-- Phi_230&#45;&gt;Store10 -->
+<g id="edge26" class="edge">
+<title>Phi_230&#45;&gt;Store10</title>
+<path fill="none" stroke="blue" d="M135.78,-611.95C139.01,-620.03 142.95,-629.88 146.56,-638.89"/>
+<polygon fill="blue" stroke="blue" points="143.32,-640.23 150.28,-648.21 149.82,-637.63 143.32,-640.23"/>
+<text text-anchor="middle" x="132.78" y="-614.55" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_230&#45;&gt;Loop11 -->
+<g id="edge25" class="edge">
+<title>Phi_230&#45;&gt;Loop11</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M162.4,-594C168.78,-594 175.17,-594 181.55,-594"/>
+<polygon fill="black" stroke="black" points="181.58,-597.5 191.58,-594 181.58,-590.5 181.58,-597.5"/>
+<text text-anchor="middle" x="165.4" y="-587.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Phi_233 -->
+<g id="node18" class="node">
+<title>Phi_233</title>
+<ellipse fill="lightyellow" stroke="black" cx="149" cy="-106" rx="33.29" ry="18"/>
+<text text-anchor="middle" x="149" y="-102.3" font-family="Times,serif" font-size="14.00">φ_$2</text>
+</g>
+<!-- Store31 -->
+<g id="node16" class="node">
+<title>Store31</title>
+<ellipse fill="none" stroke="black" cx="149" cy="-178" rx="27.9" ry="18"/>
+<text text-anchor="middle" x="149" y="-174.3" font-family="Times,serif" font-size="14.00">.f =</text>
+</g>
+<!-- Store31&#45;&gt;new9 -->
+<g id="edge30" class="edge">
+<title>Store31&#45;&gt;new9</title>
+<path fill="none" stroke="black" d="M125.79,-188.29C107.7,-196.82 83.59,-211.3 71,-232 43.78,-276.74 57,-296.63 57,-349 57,-349 57,-349 57,-437 57,-506.9 72.18,-523.27 77,-593"/>
+<path fill="none" stroke="black" d="M77,-595C78.62,-637.52 98.4,-683.39 112.59,-711.15"/>
+<polygon fill="black" stroke="black" points="109.59,-712.96 117.34,-720.18 115.78,-709.7 109.59,-712.96"/>
+<text text-anchor="middle" x="122.79" y="-190.89" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Store31&#45;&gt;Div21 -->
+<g id="edge31" class="edge">
+<title>Store31&#45;&gt;Div21</title>
+<path fill="none" stroke="black" d="M122.62,-184.31C96.9,-190.92 58.72,-204.83 38,-232 5.97,-274.01 17,-296.17 17,-349 17,-349 17,-349 17,-595 17,-635.67 27.45,-681.83 35.1,-710.19"/>
+<polygon fill="black" stroke="black" points="31.81,-711.44 37.86,-720.13 38.55,-709.56 31.81,-711.44"/>
+<text text-anchor="middle" x="119.62" y="-177.91" font-family="Helvetica,sans-Serif" font-size="8.00">3</text>
+</g>
+<!-- Store31&#45;&gt;If25 -->
+<g id="edge28" class="edge">
+<title>Store31&#45;&gt;If25:p0</title>
+<path fill="none" stroke="red" d="M160.65,-194.62C172.83,-210.67 191.77,-234.77 203.47,-245.51"/>
+<polygon fill="red" stroke="red" points="201.7,-248.53 212,-251 205.49,-242.64 201.7,-248.53"/>
+<text text-anchor="middle" x="157.65" y="-197.22" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Store31&#45;&gt;Phi_230 -->
+<g id="edge29" class="edge">
+<title>Store31&#45;&gt;Phi_230</title>
+<path fill="none" stroke="blue" d="M153.06,-196.07C155.31,-206.4 157.87,-219.88 159,-232 161.65,-260.32 160.57,-267.6 159,-296 157.22,-328.15 162.02,-337.75 151,-368 144.42,-386.07 132.57,-385.6 127,-404 118.76,-431.22 126.77,-439.56 127,-468 127.27,-501.46 127.94,-539.96 128.43,-565.29"/>
+<polygon fill="blue" stroke="blue" points="124.94,-565.68 128.63,-575.61 131.94,-565.54 124.94,-565.68"/>
+<text text-anchor="middle" x="150.06" y="-198.67" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Region32&#45;&gt;If25 -->
+<g id="edge32" class="edge">
+<title>Region32&#45;&gt;If25:p0</title>
+<path fill="none" stroke="red" d="M233,-124.22C233,-147.49 233,-190.58 233,-229.64"/>
+<polygon fill="red" stroke="red" points="229.5,-230 233,-240 236.5,-230 229.5,-230"/>
+<text text-anchor="middle" x="230" y="-126.82" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_233&#45;&gt;Phi_230 -->
+<g id="edge36" class="edge">
+<title>Phi_233&#45;&gt;Phi_230</title>
+<path fill="none" stroke="blue" d="M170.5,-129.96C185.43,-148.79 200.3,-175.58 186,-196 159.14,-234.35 113.86,-193.65 87,-232 70.68,-255.3 72.64,-271.45 87,-296 103.48,-324.17 134.52,-303.83 151,-332 159.08,-345.81 156.69,-353.04 151,-368 143.39,-388.01 126.61,-383.99 119,-404 98.19,-458.74 111.2,-528.88 121.03,-566.43"/>
+<polygon fill="blue" stroke="blue" points="173.07,-127.58 163.96,-122.17 167.71,-132.08 173.07,-127.58"/>
+<polygon fill="blue" stroke="blue" points="117.67,-567.4 123.69,-576.12 124.42,-565.55 117.67,-567.4"/>
+<text text-anchor="middle" x="160.96" y="-124.77" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_233&#45;&gt;Store31 -->
+<g id="edge35" class="edge">
+<title>Phi_233&#45;&gt;Store31</title>
+<path fill="none" stroke="blue" d="M149,-124.3C149,-132.02 149,-141.29 149,-149.89"/>
+<polygon fill="blue" stroke="blue" points="145.5,-149.9 149,-159.9 152.5,-149.9 145.5,-149.9"/>
+<text text-anchor="middle" x="146" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_233&#45;&gt;Region32 -->
+<g id="edge34" class="edge">
+<title>Phi_233&#45;&gt;Region32</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M182.47,-106C184.91,-106 187.35,-106 189.8,-106"/>
+<polygon fill="black" stroke="black" points="189.84,-109.5 199.84,-106 189.84,-102.5 189.84,-109.5"/>
+<text text-anchor="middle" x="185.47" y="-99.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Sub35&#45;&gt;Phi_arg13 -->
+<g id="edge38" class="edge">
+<title>Sub35&#45;&gt;Phi_arg13</title>
+<path fill="none" stroke="black" d="M287.31,-62.31C288.99,-79.97 291.57,-103.42 295,-124 303.09,-172.5 311.09,-183.47 319,-232 331.36,-307.86 331.84,-327.31 337,-404 339.98,-448.36 339.33,-459.54 340,-504 340.24,-520 342.74,-524.24 340,-540 338.44,-549 335.48,-558.49 332.36,-566.91"/>
+<polygon fill="black" stroke="black" points="290.77,-61.78 286.38,-52.14 283.8,-62.41 290.77,-61.78"/>
+<polygon fill="black" stroke="black" points="329.1,-565.63 328.7,-576.22 335.62,-568.2 329.1,-565.63"/>
+<text text-anchor="middle" x="283.38" y="-54.74" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Sub35&#45;&gt;Region32 -->
+<g id="edge37" class="edge">
+<title>Sub35&#45;&gt;Region32</title>
+<path fill="none" stroke="red" d="M273.46,-50.54C267.16,-59.01 259.21,-69.71 252.03,-79.39"/>
+<polygon fill="red" stroke="red" points="249.12,-77.42 245.97,-87.54 254.74,-81.6 249.12,-77.42"/>
+<text text-anchor="middle" x="270.46" y="-53.14" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Con_36 -->
+<g id="node20" class="node">
+<title>Con_36</title>
+<ellipse fill="none" stroke="black" cx="331" cy="-106" rx="27" ry="18"/>
+<text text-anchor="middle" x="331" y="-102.3" font-family="Times,serif" font-size="14.00">#1</text>
+</g>
+<!-- Sub35&#45;&gt;Con_36 -->
+<g id="edge39" class="edge">
+<title>Sub35&#45;&gt;Con_36</title>
+<path fill="none" stroke="black" d="M295.44,-50.88C301.2,-59.66 308.48,-70.74 314.96,-80.58"/>
+<polygon fill="black" stroke="black" points="312.19,-82.74 320.6,-89.18 318.04,-78.9 312.19,-82.74"/>
+<text text-anchor="middle" x="292.44" y="-53.48" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Return37&#45;&gt;new9 -->
+<g id="edge41" class="edge">
+<title>Return37&#45;&gt;new9</title>
+<path fill="none" stroke="black" d="M101.56,-368.35C89.32,-399.07 67.21,-465.09 77,-521"/>
+<path fill="none" stroke="black" d="M77,-523C81.47,-553.79 74.85,-561.96 77,-593"/>
+<text text-anchor="middle" x="98.56" y="-370.95" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Return37&#45;&gt;If16 -->
+<g id="edge40" class="edge">
+<title>Return37&#45;&gt;If16:p1</title>
+<path fill="none" stroke="red" d="M142.12,-356.57C168.64,-362.93 202.56,-375.99 209.66,-401.87"/>
+<polygon fill="red" stroke="red" points="206.22,-402.55 211,-412 213.16,-401.63 206.22,-402.55"/>
+<text text-anchor="middle" x="145.12" y="-350.17" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Return37&#45;&gt;Phi_230 -->
+<g id="edge42" class="edge">
+<title>Return37&#45;&gt;Phi_230</title>
+<path fill="none" stroke="blue" d="M77,-523C80.24,-541.52 92.58,-558.55 104.43,-571.18"/>
+<polygon fill="blue" stroke="blue" points="102.12,-573.82 111.65,-578.44 107.08,-568.88 102.12,-573.82"/>
+<text text-anchor="middle" x="74" y="-516.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+</g>
+</svg>