diff options
| author | Cliff Click <cliffc@acm.org> | 2026-09-29 13:08:30 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-09-29 13:08:30 -0700 |
| commit | b475b072b38db7f46406ed6128fffe3e15a6e7ac (patch) | |
| tree | 4690b23b117f29003801212bbbf7d89322adb9a3 /chapter11/docs | |
| parent | a8558640bd9e3391134577db3c53737273135bf9 (diff) | |
| download | Simple-b475b072b38db7f46406ed6128fffe3e15a6e7ac.tar.gz Simple-b475b072b38db7f46406ed6128fffe3e15a6e7ac.zip | |
forward port lazy memory to ch11
Diffstat (limited to 'chapter11/docs')
| -rw-r--r-- | chapter11/docs/Makefile | 2 | ||||
| -rw-r--r-- | chapter11/docs/graph1.gv | 15 | ||||
| -rw-r--r-- | chapter11/docs/graph1.svg | 317 | ||||
| -rw-r--r-- | chapter11/docs/graph2.gv | 16 | ||||
| -rw-r--r-- | chapter11/docs/graph2.svg | 342 | ||||
| -rw-r--r-- | chapter11/docs/graph3.gv | 16 | ||||
| -rw-r--r-- | chapter11/docs/graph3.svg | 354 | ||||
| -rw-r--r-- | chapter11/docs/graph4.gv | 19 | ||||
| -rw-r--r-- | chapter11/docs/graph4.svg | 435 | ||||
| -rw-r--r-- | chapter11/docs/graph5.gv | 20 | ||||
| -rw-r--r-- | chapter11/docs/graph5.svg | 486 | ||||
| -rw-r--r-- | chapter11/docs/graph6.gv | 20 | ||||
| -rw-r--r-- | chapter11/docs/graph6.svg | 478 | ||||
| -rw-r--r-- | chapter11/docs/graph8.gv | 2 | ||||
| -rw-r--r-- | chapter11/docs/graph8.svg | 104 |
15 files changed, 1402 insertions, 1224 deletions
diff --git a/chapter11/docs/Makefile b/chapter11/docs/Makefile index 12659b8f..055882b2 100644 --- a/chapter11/docs/Makefile +++ b/chapter11/docs/Makefile @@ -1,11 +1,13 @@ GV := $(wildcard *.gv) SVG := $(patsubst %.gv,%.svg,$(GV)) +.DELETE_ON_ERROR: .PHONY: all all: $(SVG) %.svg: %.gv dot -Tsvg $< > $@ + @sed -i 's/\r$$//' $@ .PHONY: clean clean: diff --git a/chapter11/docs/graph1.gv b/chapter11/docs/graph1.gv index 74c54fdb..3554a572 100644 --- a/chapter11/docs/graph1.gv +++ b/chapter11/docs/graph1.gv @@ -18,11 +18,12 @@ return i; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -44,14 +45,14 @@ return i; Con_21 [ label="#1" ]; Store22 [ label=".f =" ]; Region23 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_224 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_224 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Return25 [ shape=box style=filled fillcolor=yellow label="Return" ]; { rank=same; Region23;Phi_224;} } edge [ fontname=Helvetica, fontsize=8 ]; Stop3 -> Return25[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; - Store12 -> Start2:p2[taillabel=1 color=blue]; + Store12 -> Start2:p1[taillabel=1 color=blue]; Store12 -> new9[taillabel=2]; Store12 -> Con_11[taillabel=3]; new13 -> Start2:p0[taillabel=0 color=green]; @@ -61,7 +62,7 @@ return i; Load16 -> Store14[taillabel=1 color=blue]; Load16 -> new9[taillabel=2]; If17 -> Start2:p0[taillabel=0 color=red]; - If17 -> Start2:p1[taillabel=1]; + If17 -> Start2:p2[taillabel=1]; Store22 -> Store14[taillabel=1 color=blue]; Store22 -> new9[taillabel=2]; Store22 -> Con_21[taillabel=3]; @@ -71,6 +72,8 @@ return i; Phi_224 -> Store22[taillabel=1 color=blue]; Phi_224 -> Store14[taillabel=2 color=blue constraint=false]; Return25 -> Region23[taillabel=0 color=red]; - Return25 -> Load16[taillabel=1]; - Return25 -> Phi_224[taillabel=2 color=blue]; + Return25 -> Load16[taillabel=2]; + Return25 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_224[taillabel=2 color=blue]; } diff --git a/chapter11/docs/graph1.svg b/chapter11/docs/graph1.svg index 592db961..422d790e 100644 --- a/chapter11/docs/graph1.svg +++ b/chapter11/docs/graph1.svg @@ -1,285 +1,306 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="336pt" height="636pt" - viewBox="0.00 0.00 336.00 636.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 632)"> +<svg width="346pt" height="714pt" + viewBox="0.00 0.00 346.00 714.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 710)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-632 332,-632 332,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-710 342,-710 342,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-8 8,-620 320,-620 320,-8 8,-8"/> +<polygon fill="none" stroke="black" points="8,-8 8,-698 330,-698 330,-8 8,-8"/> </g> <!-- Start2 --> <g id="node1" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="198,-583 198,-608 304,-608 304,-583 198,-583"/> -<polygon fill="none" stroke="black" points="198,-583 198,-608 304,-608 304,-583 198,-583"/> -<text text-anchor="start" x="232.5" y="-591.8" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="198,-552 198,-583 304,-583 304,-552 198,-552"/> -<polygon fill="yellow" stroke="transparent" points="203,-557 203,-578 243,-578 243,-557 203,-557"/> -<polygon fill="none" stroke="black" points="203,-557 203,-578 243,-578 243,-557 203,-557"/> -<text text-anchor="start" x="206" y="-563.8" font-family="Times,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="243,-557 243,-578 274,-578 274,-557 243,-557"/> -<text text-anchor="start" x="246" y="-563.8" font-family="Times,serif" font-size="14.00">arg</text> -<polygon fill="none" stroke="black" points="274,-557 274,-578 299,-578 299,-557 274,-557"/> -<text text-anchor="start" x="277" y="-563.8" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="yellow" stroke="none" points="207.38,-659.5 207.38,-686 312.62,-686 312.62,-659.5 207.38,-659.5"/> +<polygon fill="none" stroke="black" points="207.38,-659.5 207.38,-686 312.62,-686 312.62,-659.5 207.38,-659.5"/> +<text text-anchor="start" x="247.25" y="-667.7" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="207.38,-627 207.38,-659.5 312.62,-659.5 312.62,-627 207.38,-627"/> +<polygon fill="yellow" stroke="none" points="212.38,-632 212.38,-654.5 243.12,-654.5 243.12,-632 212.38,-632"/> +<polygon fill="none" stroke="black" points="212.38,-632 212.38,-654.5 243.12,-654.5 243.12,-632 212.38,-632"/> +<text text-anchor="start" x="215.38" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="243.12,-632 243.12,-654.5 284.38,-654.5 284.38,-632 243.12,-632"/> +<text text-anchor="start" x="246.12" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="284.38,-632 284.38,-654.5 307.62,-654.5 307.62,-632 284.38,-632"/> +<text text-anchor="start" x="287.38" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="195,-196 113,-196 113,-160 195,-160 195,-196"/> +<text text-anchor="middle" x="154" y="-172.95" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge25" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M174.24,-196.05C184.06,-205.56 195.02,-218.24 201,-232 238.55,-318.39 196.42,-352.07 221,-443 234.8,-494.06 259.62,-499.34 271,-551 277.81,-581.92 266.84,-592.84 264.27,-619.8"/> +<polygon fill="blue" stroke="blue" points="260.79,-619.34 263.82,-629.49 267.78,-619.66 260.79,-619.34"/> +<text text-anchor="middle" x="171.99" y="-198.2" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Phi_224 --> +<g id="node15" class="node"> +<title>Phi_224</title> +<ellipse fill="lightyellow" stroke="black" cx="139" cy="-250" rx="52.89" ry="18"/> +<text text-anchor="middle" x="139" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_224 --> +<g id="edge26" class="edge"> +<title>MemMerge->Phi_224</title> +<path fill="none" stroke="blue" d="M150.29,-196.3C148.71,-203.68 146.83,-212.48 145.05,-220.75"/> +<polygon fill="blue" stroke="blue" points="141.66,-219.9 142.98,-230.42 148.5,-221.37 141.66,-219.9"/> +<text text-anchor="middle" x="148.04" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="210,-52 156,-52 156,-16 210,-16 210,-52"/> -<text text-anchor="middle" x="183" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="181,-52 127,-52 127,-16 181,-16 181,-52"/> +<text text-anchor="middle" x="154" y="-28.95" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return25 --> -<g id="node15" class="node"> +<g id="node16" class="node"> <title>Return25</title> -<polygon fill="yellow" stroke="black" points="216,-124 150,-124 150,-88 216,-88 216,-124"/> -<text text-anchor="middle" x="183" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="181,-124 127,-124 127,-88 181,-88 181,-124"/> +<text text-anchor="middle" x="154" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return25 --> <g id="edge1" class="edge"> <title>Stop3->Return25</title> -<path fill="none" stroke="red" d="M183,-52.3C183,-60.02 183,-69.29 183,-77.89"/> -<polygon fill="red" stroke="red" points="179.5,-77.9 183,-87.9 186.5,-77.9 179.5,-77.9"/> -<text text-anchor="middle" x="180" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M154,-52.3C154,-59.59 154,-68.27 154,-76.46"/> +<polygon fill="red" stroke="red" points="150.5,-76.38 154,-86.38 157.5,-76.38 150.5,-76.38"/> +<text text-anchor="middle" x="151.75" y="-54.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="137" cy="-422" rx="27" ry="18"/> -<text text-anchor="middle" x="137" y="-418.3" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="93" cy="-497" rx="27" ry="18"/> +<text text-anchor="middle" x="93" y="-491.95" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" class="node"> <title>new9</title> -<ellipse fill="none" stroke="black" cx="151" cy="-494" rx="38.99" ry="18"/> -<text text-anchor="middle" x="151" y="-490.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="50" cy="-569" rx="33.95" ry="18"/> +<text text-anchor="middle" x="50" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M155.04,-512.06C160.38,-530.53 171.62,-558.28 191.99,-565.33"/> -<polygon fill="green" stroke="green" points="191.56,-568.8 202,-567 192.71,-561.9 191.56,-568.8"/> -<text text-anchor="middle" x="152.04" y="-514.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M68.15,-584.47C94.9,-604.4 147.46,-638.35 200.14,-642.77"/> +<polygon fill="green" stroke="green" points="199.72,-646.26 209.86,-643.19 200.02,-639.26 199.72,-646.26"/> +<text text-anchor="middle" x="70.4" y="-586.62" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_11 --> -<g id="node5" class="node"> +<g id="node6" class="node"> <title>Con_11</title> -<ellipse fill="none" stroke="black" cx="255" cy="-494" rx="27" ry="18"/> -<text text-anchor="middle" x="255" y="-490.3" font-family="Times,serif" font-size="14.00">#2</text> +<ellipse fill="none" stroke="black" cx="149" cy="-569" rx="27" ry="18"/> +<text text-anchor="middle" x="149" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">#2</text> </g> <!-- Store12 --> -<g id="node6" class="node"> +<g id="node7" class="node"> <title>Store12</title> -<ellipse fill="none" stroke="black" cx="230" cy="-422" rx="27.9" ry="18"/> -<text text-anchor="middle" x="230" y="-418.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="165" cy="-497" rx="27" ry="18"/> +<text text-anchor="middle" x="165" y="-491.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store12->Start2 --> <g id="edge3" class="edge"> -<title>Store12->Start2:p2</title> -<path fill="none" stroke="blue" d="M222.43,-439.51C215.04,-458.25 206.57,-489.16 219,-512 234.25,-540.04 275.92,-524.64 285.17,-545.89"/> -<polygon fill="blue" stroke="blue" points="281.77,-546.79 287,-556 288.66,-545.54 281.77,-546.79"/> -<text text-anchor="middle" x="219.43" y="-442.11" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Store12->Start2:p1</title> +<path fill="none" stroke="blue" d="M147.77,-510.96C126.13,-528.81 94,-561.66 113,-587 152.26,-639.35 250.4,-570.87 262.52,-619.62"/> +<polygon fill="blue" stroke="blue" points="259.03,-619.93 263.59,-629.5 265.99,-619.18 259.03,-619.93"/> +<text text-anchor="middle" x="145.52" y="-513.11" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store12->new9 --> <g id="edge4" class="edge"> <title>Store12->new9</title> -<path fill="none" stroke="black" d="M214.01,-437.17C203.14,-446.8 188.53,-459.75 176.11,-470.75"/> -<polygon fill="black" stroke="black" points="173.5,-468.39 168.33,-477.64 178.14,-473.63 173.5,-468.39"/> -<text text-anchor="middle" x="211.01" y="-439.77" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M145.49,-509.87C127.95,-520.55 101.87,-536.43 81.39,-548.89"/> +<polygon fill="black" stroke="black" points="79.58,-545.9 72.86,-554.09 83.22,-551.88 79.58,-545.9"/> +<text text-anchor="middle" x="147.74" y="-502.27" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store12->Con_11 --> <g id="edge5" class="edge"> <title>Store12->Con_11</title> -<path fill="none" stroke="black" d="M236.05,-439.95C238.91,-447.94 242.38,-457.67 245.57,-466.6"/> -<polygon fill="black" stroke="black" points="242.34,-467.97 249,-476.21 248.94,-465.62 242.34,-467.97"/> -<text text-anchor="middle" x="233.05" y="-442.55" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M161.04,-515.3C159.36,-522.68 157.35,-531.48 155.46,-539.75"/> +<polygon fill="black" stroke="black" points="152.06,-538.89 153.25,-549.42 158.89,-540.45 152.06,-538.89"/> +<text text-anchor="middle" x="158.79" y="-517.45" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- new13 --> -<g id="node7" class="node"> +<g id="node8" class="node"> <title>new13</title> -<ellipse fill="none" stroke="black" cx="55" cy="-494" rx="38.99" ry="18"/> -<text text-anchor="middle" x="55" y="-490.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="228" cy="-569" rx="33.95" ry="18"/> +<text text-anchor="middle" x="228" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new13->Start2 --> <g id="edge6" class="edge"> <title>new13->Start2:p0</title> -<path fill="none" stroke="green" d="M72.65,-510.27C97.21,-530 144.07,-562.34 191.81,-566.54"/> -<polygon fill="green" stroke="green" points="191.85,-570.05 202,-567 192.17,-563.06 191.85,-570.05"/> -<text text-anchor="middle" x="69.65" y="-512.87" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M227.89,-587.35C227.84,-596.51 227.79,-608.2 227.76,-619.69"/> +<polygon fill="green" stroke="green" points="224.26,-619.48 227.75,-629.49 231.26,-619.49 224.26,-619.48"/> +<text text-anchor="middle" x="225.64" y="-589.5" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store14 --> -<g id="node8" class="node"> +<g id="node9" class="node"> <title>Store14</title> -<ellipse fill="none" stroke="black" cx="136" cy="-336" rx="27.9" ry="18"/> -<text text-anchor="middle" x="136" y="-332.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="93" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="93" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store14->Con_4 --> <g id="edge9" class="edge"> <title>Store14->Con_4</title> -<path fill="none" stroke="black" d="M136.21,-354.4C136.34,-365.74 136.52,-380.77 136.67,-393.68"/> -<polygon fill="black" stroke="black" points="133.18,-393.95 136.8,-403.9 140.18,-393.86 133.18,-393.95"/> -<text text-anchor="middle" x="133.21" y="-357" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M93,-427.8C93,-439.16 93,-454.28 93,-467.4"/> +<polygon fill="black" stroke="black" points="89.5,-467.21 93,-477.21 96.5,-467.21 89.5,-467.21"/> +<text text-anchor="middle" x="90.75" y="-429.95" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store14->Store12 --> <g id="edge7" class="edge"> <title>Store14->Store12</title> -<path fill="none" stroke="blue" d="M151.95,-351.25C166.89,-364.6 189.42,-384.73 206.44,-399.94"/> -<polygon fill="blue" stroke="blue" points="204.5,-402.91 214.29,-406.96 209.17,-397.69 204.5,-402.91"/> -<text text-anchor="middle" x="148.95" y="-353.85" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M105.87,-425.79C116.73,-438.67 132.44,-457.34 144.94,-472.18"/> +<polygon fill="blue" stroke="blue" points="142.15,-474.29 151.26,-479.69 147.5,-469.79 142.15,-474.29"/> +<text text-anchor="middle" x="103.62" y="-427.94" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store14->new13 --> <g id="edge8" class="edge"> <title>Store14->new13</title> -<path fill="none" stroke="black" d="M127.49,-353.24C120.39,-366.8 110.02,-386.65 101,-404 89.97,-425.23 77.52,-449.33 68.35,-467.1"/> -<polygon fill="black" stroke="black" points="65.1,-465.77 63.63,-476.26 71.32,-468.97 65.1,-465.77"/> -<text text-anchor="middle" x="124.49" y="-355.84" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M107.31,-425.06C113.63,-431.04 121.35,-437.78 129,-443 158.55,-463.17 177.93,-451.66 201,-479 215.33,-495.99 222.06,-520.44 225.21,-539.41"/> +<polygon fill="black" stroke="black" points="221.73,-539.76 226.58,-549.18 228.66,-538.79 221.73,-539.76"/> +<text text-anchor="middle" x="109.56" y="-427.21" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16 --> -<g id="node9" class="node"> +<g id="node10" class="node"> <title>Load16</title> -<ellipse fill="none" stroke="black" cx="183" cy="-250" rx="27" ry="18"/> -<text text-anchor="middle" x="183" y="-246.3" font-family="Times,serif" font-size="14.00">.f</text> +<ellipse fill="none" stroke="black" cx="43" cy="-322" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-316.95" font-family="Times New Roman,serif" font-size="14.00">.f</text> </g> <!-- Load16->new9 --> <g id="edge11" class="edge"> <title>Load16->new9</title> -<path fill="none" stroke="black" d="M184.02,-268.21C185.58,-301.74 187.07,-378 173,-440 170.94,-449.08 167.45,-458.59 163.85,-467.01"/> -<polygon fill="black" stroke="black" points="160.59,-465.75 159.66,-476.3 166.96,-468.63 160.59,-465.75"/> -<text text-anchor="middle" x="181.02" y="-270.81" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M47,-410.5C36.94,-454.72 41.17,-507.73 45.4,-539.6"/> +<polygon fill="black" stroke="black" points="41.89,-539.81 46.78,-549.21 48.82,-538.82 41.89,-539.81"/> +<path fill="none" stroke="black" d="M46.72,-340.02C49.87,-357.49 53,-385.34 47,-408.5"/> +<text text-anchor="middle" x="44.75" y="-402.9" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16->Store14 --> <g id="edge10" class="edge"> <title>Load16->Store14</title> -<path fill="none" stroke="blue" d="M173.94,-267.2C167.18,-279.28 157.81,-296.02 150.08,-309.84"/> -<polygon fill="blue" stroke="blue" points="146.86,-308.42 145.03,-318.85 152.97,-311.84 146.86,-308.42"/> -<text text-anchor="middle" x="170.94" y="-269.8" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M52.4,-339.08C59.55,-351.3 69.53,-368.37 77.81,-382.52"/> +<polygon fill="blue" stroke="blue" points="74.63,-384.03 82.7,-390.89 80.68,-380.49 74.63,-384.03"/> +<text text-anchor="middle" x="50.15" y="-341.23" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- If17 --> -<g id="node10" class="node"> +<g id="node11" class="node"> <title>If17</title> -<polygon fill="yellow" stroke="transparent" points="210,-339 210,-364 304,-364 304,-339 210,-339"/> -<polygon fill="none" stroke="black" points="210,-339 210,-364 304,-364 304,-339 210,-339"/> -<text text-anchor="start" x="251.5" y="-347.8" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="210,-308 210,-339 304,-339 304,-308 210,-308"/> -<polygon fill="yellow" stroke="transparent" points="215,-313 215,-334 255,-334 255,-313 215,-313"/> -<polygon fill="none" stroke="black" points="215,-313 215,-334 255,-334 255,-313 215,-313"/> -<text text-anchor="start" x="218" y="-319.8" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="255,-313 255,-334 299,-334 299,-313 255,-313"/> -<polygon fill="none" stroke="black" points="255,-313 255,-334 299,-334 299,-313 255,-313"/> -<text text-anchor="start" x="258" y="-319.8" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="238,-412.5 238,-439 314,-439 314,-412.5 238,-412.5"/> +<polygon fill="none" stroke="black" points="238,-412.5 238,-439 314,-439 314,-412.5 238,-412.5"/> +<text text-anchor="start" x="271.5" y="-420.7" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="238,-380 238,-412.5 314,-412.5 314,-380 238,-380"/> +<polygon fill="yellow" stroke="none" points="243,-385 243,-407.5 274.5,-407.5 274.5,-385 243,-385"/> +<polygon fill="none" stroke="black" points="243,-385 243,-407.5 274.5,-407.5 274.5,-385 243,-385"/> +<text text-anchor="start" x="246" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="274.5,-385 274.5,-407.5 309,-407.5 309,-385 274.5,-385"/> +<polygon fill="none" stroke="black" points="274.5,-385 274.5,-407.5 309,-407.5 309,-385 274.5,-385"/> +<text text-anchor="start" x="277.5" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If17->Start2 --> <g id="edge12" class="edge"> <title>If17->Start2:p0</title> -<path fill="none" stroke="red" d="M274.94,-368.3C293.31,-404.87 315.92,-466.19 291,-512 275.75,-540.04 234.08,-524.64 224.83,-545.89"/> -<polygon fill="red" stroke="red" points="221.34,-545.54 223,-556 228.23,-546.79 221.34,-545.54"/> -<text text-anchor="middle" x="271.94" y="-370.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M301,-498C306.79,-539.34 292.85,-551.43 271,-587 261.11,-603.09 244.32,-604.88 234.83,-613.4"/> +<polygon fill="red" stroke="red" points="231.88,-611.53 229.53,-621.86 237.81,-615.25 231.88,-611.53"/> +<path fill="none" stroke="red" d="M287.84,-442.9C293,-458.69 298.44,-478.09 301,-496"/> +<text text-anchor="middle" x="298.75" y="-490.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- If17->Start2 --> +<g id="edge13" class="edge"> +<title>If17->Start2:p2</title> +<path fill="none" stroke="black" d="M301,-498C306.61,-537.22 310.42,-547.63 306,-587 304.69,-598.67 301.49,-604.88 299.06,-612.05"/> +<polygon fill="black" stroke="black" points="295.7,-611.02 296.82,-621.55 302.52,-612.62 295.7,-611.02"/> +<text text-anchor="middle" x="298.75" y="-500.15" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_21 --> -<g id="node11" class="node"> +<g id="node12" class="node"> <title>Con_21</title> -<ellipse fill="none" stroke="black" cx="43" cy="-336" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-332.3" font-family="Times,serif" font-size="14.00">#1</text> +<ellipse fill="none" stroke="black" cx="165" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="165" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Store22 --> -<g id="node12" class="node"> +<g id="node13" class="node"> <title>Store22</title> -<ellipse fill="none" stroke="black" cx="99" cy="-250" rx="27.9" ry="18"/> -<text text-anchor="middle" x="99" y="-246.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="135" cy="-322" rx="27" ry="18"/> +<text text-anchor="middle" x="135" y="-316.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store22->new9 --> <g id="edge15" class="edge"> <title>Store22->new9</title> -<path fill="none" stroke="black" d="M95.12,-268.01C88.19,-302.16 76.55,-380.87 101,-440 105.95,-451.96 114.93,-462.83 123.93,-471.57"/> -<polygon fill="black" stroke="black" points="121.66,-474.24 131.41,-478.38 126.37,-469.06 121.66,-474.24"/> -<text text-anchor="middle" x="92.12" y="-270.61" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M113.11,-332.75C95.54,-341.64 71.49,-356.38 57,-376 48.02,-388.16 50.79,-393.87 47,-408.5"/> +<text text-anchor="middle" x="115.36" y="-334.9" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store22->Store14 --> <g id="edge14" class="edge"> <title>Store22->Store14</title> -<path fill="none" stroke="blue" d="M106.31,-267.6C111.53,-279.45 118.65,-295.62 124.61,-309.15"/> -<polygon fill="blue" stroke="blue" points="121.47,-310.7 128.71,-318.44 127.88,-307.88 121.47,-310.7"/> -<text text-anchor="middle" x="103.31" y="-270.2" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M126.9,-339.49C120.98,-351.55 112.81,-368.17 105.98,-382.08"/> +<polygon fill="blue" stroke="blue" points="103.01,-380.19 101.74,-390.71 109.29,-383.27 103.01,-380.19"/> +<text text-anchor="middle" x="124.65" y="-341.64" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store22->Con_21 --> <g id="edge16" class="edge"> <title>Store22->Con_21</title> -<path fill="none" stroke="black" d="M88.47,-266.8C80.25,-279.12 68.7,-296.45 59.3,-310.55"/> -<polygon fill="black" stroke="black" points="56.12,-309.01 53.49,-319.27 61.95,-312.89 56.12,-309.01"/> -<text text-anchor="middle" x="85.47" y="-269.4" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M140.93,-339.89C145.04,-351.6 150.6,-367.46 155.34,-380.98"/> +<polygon fill="black" stroke="black" points="151.97,-381.94 158.58,-390.21 158.58,-379.62 151.97,-381.94"/> +<text text-anchor="middle" x="138.68" y="-342.04" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Region23 --> -<g id="node13" class="node"> +<g id="node14" class="node"> <title>Region23</title> -<polygon fill="yellow" stroke="black" points="268,-196 202,-196 202,-160 268,-160 268,-196"/> -<text text-anchor="middle" x="235" y="-174.3" font-family="Times,serif" font-size="14.00">Region</text> +<polygon fill="yellow" stroke="black" points="285.5,-268 230.5,-268 230.5,-232 285.5,-232 285.5,-268"/> +<text text-anchor="middle" x="258" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">Region</text> </g> <!-- Region23->If17 --> <g id="edge17" class="edge"> <title>Region23->If17:p0</title> -<path fill="none" stroke="red" d="M235,-196.22C235,-219.49 235,-262.58 235,-301.64"/> -<polygon fill="red" stroke="red" points="231.5,-302 235,-312 238.5,-302 231.5,-302"/> -<text text-anchor="middle" x="232" y="-198.82" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> -</g> -<!-- Region23->If17 --> -<g id="edge18" class="edge"> -<title>Region23->If17:p1</title> -<path fill="none" stroke="red" d="M244.11,-196.1C255.5,-218.96 273.84,-261.33 276.64,-301.77"/> -<polygon fill="red" stroke="red" points="273.15,-302.13 277,-312 280.14,-301.88 273.15,-302.13"/> -<text text-anchor="middle" x="241.11" y="-198.7" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_224 --> -<g id="node14" class="node"> -<title>Phi_224</title> -<ellipse fill="lightyellow" stroke="black" cx="131" cy="-178" rx="33.29" ry="18"/> -<text text-anchor="middle" x="131" y="-174.3" font-family="Times,serif" font-size="14.00">φ_$2</text> +<path fill="none" stroke="red" d="M258.16,-268.22C258.36,-291.29 258.68,-333.85 258.74,-372.64"/> +<polygon fill="red" stroke="red" points="255.24,-372.49 258.75,-382.49 262.24,-372.48 255.24,-372.49"/> +<text text-anchor="middle" x="255.91" y="-270.37" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_224->Store14 --> <g id="edge21" class="edge"> <title>Phi_224->Store14</title> -<path fill="none" stroke="blue" d="M159.11,-187.55C179.74,-195.47 206.28,-209.49 219,-232 237.92,-265.48 196.57,-299.24 165.7,-318.58"/> -<polygon fill="blue" stroke="blue" points="163.69,-315.71 156.94,-323.87 167.31,-321.7 163.69,-315.71"/> -<text text-anchor="middle" x="162.11" y="-190.15" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="blue" d="M122.4,-267.57C113.78,-277.31 104.01,-290.37 99,-304 90,-328.5 89.21,-358.4 90.25,-379.93"/> +<polygon fill="blue" stroke="blue" points="86.75,-379.98 90.9,-389.73 93.73,-379.52 86.75,-379.98"/> +<text text-anchor="middle" x="120.15" y="-269.72" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_224->Store22 --> <g id="edge20" class="edge"> <title>Phi_224->Store22</title> -<path fill="none" stroke="blue" d="M123.42,-195.59C119.63,-203.87 114.97,-214.08 110.73,-223.34"/> -<polygon fill="blue" stroke="blue" points="107.5,-221.98 106.53,-232.53 113.87,-224.89 107.5,-221.98"/> -<text text-anchor="middle" x="120.42" y="-198.19" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M138.01,-268.3C137.59,-275.59 137.1,-284.27 136.63,-292.46"/> +<polygon fill="blue" stroke="blue" points="133.14,-292.2 136.06,-302.38 140.13,-292.6 133.14,-292.2"/> +<text text-anchor="middle" x="135.76" y="-270.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_224->Region23 --> <g id="edge19" class="edge"> <title>Phi_224->Region23</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M164.31,-178C173.41,-178 182.5,-178 191.6,-178"/> -<polygon fill="black" stroke="black" points="191.87,-181.5 201.87,-178 191.87,-174.5 191.87,-181.5"/> -<text text-anchor="middle" x="167.31" y="-171.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M191.99,-250C200.94,-250 209.88,-250 218.82,-250"/> +<polygon fill="black" stroke="black" points="218.64,-253.5 228.64,-250 218.64,-246.5 218.64,-253.5"/> +<text text-anchor="middle" x="194.24" y="-242.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Return25->MemMerge --> +<g id="edge24" class="edge"> +<title>Return25->MemMerge</title> +<path fill="none" stroke="blue" d="M154,-124.3C154,-131.59 154,-140.27 154,-148.46"/> +<polygon fill="blue" stroke="blue" points="150.5,-148.38 154,-158.38 157.5,-148.38 150.5,-148.38"/> +<text text-anchor="middle" x="151.75" y="-126.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return25->Load16 --> <g id="edge23" class="edge"> <title>Return25->Load16</title> -<path fill="none" stroke="black" d="M183,-124.13C183,-148.33 183,-192.79 183,-221.61"/> -<polygon fill="black" stroke="black" points="179.5,-221.81 183,-231.81 186.5,-221.81 179.5,-221.81"/> -<text text-anchor="middle" x="180" y="-126.73" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M134.47,-124.14C124.31,-133.85 112.32,-146.7 104,-160 77.05,-203.06 59,-259.91 49.91,-293.26"/> +<polygon fill="black" stroke="black" points="46.62,-291.99 47.45,-302.55 53.39,-293.78 46.62,-291.99"/> +<text text-anchor="middle" x="132.22" y="-126.29" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return25->Region23 --> <g id="edge22" class="edge"> <title>Return25->Region23</title> -<path fill="none" stroke="red" d="M195.85,-124.3C202.03,-132.61 209.54,-142.72 216.32,-151.86"/> -<polygon fill="red" stroke="red" points="213.52,-153.96 222.29,-159.9 219.14,-149.78 213.52,-153.96"/> -<text text-anchor="middle" x="192.85" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Return25->Phi_224 --> -<g id="edge24" class="edge"> -<title>Return25->Phi_224</title> -<path fill="none" stroke="blue" d="M170.15,-124.3C163.79,-132.86 156.01,-143.33 149.07,-152.67"/> -<polygon fill="blue" stroke="blue" points="146.15,-150.74 142.99,-160.86 151.77,-154.92 146.15,-150.74"/> -<text text-anchor="middle" x="167.15" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M172.12,-124.31C182.08,-134.28 194.34,-147.32 204,-160 218.92,-179.59 233.25,-203.54 243.4,-221.66"/> +<polygon fill="red" stroke="red" points="240.24,-223.18 248.13,-230.25 246.37,-219.8 240.24,-223.18"/> +<text text-anchor="middle" x="169.87" y="-126.46" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph2.gv b/chapter11/docs/graph2.gv index 04d02a3f..730cf845 100644 --- a/chapter11/docs/graph2.gv +++ b/chapter11/docs/graph2.gv @@ -18,11 +18,12 @@ return i; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -44,7 +45,7 @@ return i; Con_21 [ label="#1" ]; Store22 [ label=".f =" ]; Region23 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_224 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_224 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Return25 [ shape=box style=filled fillcolor=yellow label="Return" ]; { rank=same; Region23;Phi_224;} } @@ -52,7 +53,7 @@ return i; Stop3 -> Return25[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; Store12 -> Start2:p0[taillabel=0 color=red]; - Store12 -> Start2:p2[taillabel=1 color=blue]; + Store12 -> Start2:p1[taillabel=1 color=blue]; Store12 -> new9[taillabel=2]; Store12 -> Con_11[taillabel=3]; new13 -> Start2:p0[taillabel=0 color=green]; @@ -64,7 +65,7 @@ return i; Load16 -> Store14[taillabel=1 color=blue]; Load16 -> new9[taillabel=2]; If17 -> Start2:p0[taillabel=0 color=red]; - If17 -> Start2:p1[taillabel=1]; + If17 -> Start2:p2[taillabel=1]; Store22 -> Start2:p0[taillabel=0 color=red]; Store22 -> Store14[taillabel=1 color=blue]; Store22 -> new9[taillabel=2]; @@ -75,6 +76,9 @@ return i; Phi_224 -> Store22[taillabel=1 color=blue]; Phi_224 -> Store14[taillabel=2 color=blue constraint=false]; Return25 -> Region23[taillabel=0 color=red]; - Return25 -> Load16[taillabel=1]; - Return25 -> Phi_224[taillabel=2 color=blue]; + Return25 -> Load16[taillabel=2]; + Return25 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_224[taillabel=2 color=blue]; + MemMerge -> Region23[taillabel=0 color=green]; } diff --git a/chapter11/docs/graph2.svg b/chapter11/docs/graph2.svg index 00f7b594..b8d43cc9 100644 --- a/chapter11/docs/graph2.svg +++ b/chapter11/docs/graph2.svg @@ -1,309 +1,335 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="346pt" height="636pt" - viewBox="0.00 0.00 346.00 636.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 632)"> +<svg width="358pt" height="714pt" + viewBox="0.00 0.00 358.12 714.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 710)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-632 342,-632 342,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-710 354.12,-710 354.12,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-8 8,-620 330,-620 330,-8 8,-8"/> +<polygon fill="none" stroke="black" points="10.12,-8 10.12,-698 342.12,-698 342.12,-8 10.12,-8"/> </g> <!-- Start2 --> <g id="node1" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="137,-583 137,-608 243,-608 243,-583 137,-583"/> -<polygon fill="none" stroke="black" points="137,-583 137,-608 243,-608 243,-583 137,-583"/> -<text text-anchor="start" x="171.5" y="-591.8" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="137,-552 137,-583 243,-583 243,-552 137,-552"/> -<polygon fill="yellow" stroke="transparent" points="142,-557 142,-578 182,-578 182,-557 142,-557"/> -<polygon fill="none" stroke="black" points="142,-557 142,-578 182,-578 182,-557 142,-557"/> -<text text-anchor="start" x="145" y="-563.8" font-family="Times,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="182,-557 182,-578 213,-578 213,-557 182,-557"/> -<text text-anchor="start" x="185" y="-563.8" font-family="Times,serif" font-size="14.00">arg</text> -<polygon fill="none" stroke="black" points="213,-557 213,-578 238,-578 238,-557 213,-557"/> -<text text-anchor="start" x="216" y="-563.8" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="yellow" stroke="none" points="178.5,-659.5 178.5,-686 283.75,-686 283.75,-659.5 178.5,-659.5"/> +<polygon fill="none" stroke="black" points="178.5,-659.5 178.5,-686 283.75,-686 283.75,-659.5 178.5,-659.5"/> +<text text-anchor="start" x="218.37" y="-667.7" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="178.5,-627 178.5,-659.5 283.75,-659.5 283.75,-627 178.5,-627"/> +<polygon fill="yellow" stroke="none" points="183.5,-632 183.5,-654.5 214.25,-654.5 214.25,-632 183.5,-632"/> +<polygon fill="none" stroke="black" points="183.5,-632 183.5,-654.5 214.25,-654.5 214.25,-632 183.5,-632"/> +<text text-anchor="start" x="186.5" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="214.25,-632 214.25,-654.5 255.5,-654.5 255.5,-632 214.25,-632"/> +<text text-anchor="start" x="217.25" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="255.5,-632 255.5,-654.5 278.75,-654.5 278.75,-632 255.5,-632"/> +<text text-anchor="start" x="258.5" y="-638.2" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="235.12,-196 153.12,-196 153.12,-160 235.12,-160 235.12,-196"/> +<text text-anchor="middle" x="194.12" y="-172.95" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge29" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M230.64,-196.45C271.82,-218.98 333.12,-262.35 333.12,-321 333.12,-321 333.12,-321 333.12,-498 333.12,-542.32 315.79,-552.37 288.12,-587 271.8,-607.42 244.66,-602.71 236.96,-619.82"/> +<polygon fill="blue" stroke="blue" points="233.55,-619.04 235.15,-629.51 240.43,-620.33 233.55,-619.04"/> +<text text-anchor="middle" x="228.39" y="-198.6" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Region23 --> +<g id="node14" class="node"> +<title>Region23</title> +<polygon fill="yellow" stroke="black" points="270.62,-268 215.62,-268 215.62,-232 270.62,-232 270.62,-268"/> +<text text-anchor="middle" x="243.12" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">Region</text> +</g> +<!-- MemMerge->Region23 --> +<g id="edge31" class="edge"> +<title>MemMerge->Region23</title> +<path fill="none" stroke="green" d="M206.23,-196.3C211.81,-204.27 218.55,-213.9 224.74,-222.74"/> +<polygon fill="green" stroke="green" points="221.68,-224.47 230.28,-230.66 227.41,-220.46 221.68,-224.47"/> +<text text-anchor="middle" x="203.98" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Phi_224 --> +<g id="node15" class="node"> +<title>Phi_224</title> +<ellipse fill="lightyellow" stroke="black" cx="145.12" cy="-250" rx="52.89" ry="18"/> +<text text-anchor="middle" x="145.12" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_224 --> +<g id="edge30" class="edge"> +<title>MemMerge->Phi_224</title> +<path fill="none" stroke="blue" d="M182.01,-196.3C176.35,-204.39 169.49,-214.19 163.23,-223.13"/> +<polygon fill="blue" stroke="blue" points="160.49,-220.94 157.62,-231.14 166.23,-224.95 160.49,-220.94"/> +<text text-anchor="middle" x="179.76" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="176,-52 122,-52 122,-16 176,-16 176,-52"/> -<text text-anchor="middle" x="149" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="136.12,-52 82.12,-52 82.12,-16 136.12,-16 136.12,-52"/> +<text text-anchor="middle" x="109.12" y="-28.95" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return25 --> -<g id="node15" class="node"> +<g id="node16" class="node"> <title>Return25</title> -<polygon fill="yellow" stroke="black" points="182,-124 116,-124 116,-88 182,-88 182,-124"/> -<text text-anchor="middle" x="149" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="136.12,-124 82.12,-124 82.12,-88 136.12,-88 136.12,-124"/> +<text text-anchor="middle" x="109.12" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return25 --> <g id="edge1" class="edge"> <title>Stop3->Return25</title> -<path fill="none" stroke="red" d="M149,-52.3C149,-60.02 149,-69.29 149,-77.89"/> -<polygon fill="red" stroke="red" points="145.5,-77.9 149,-87.9 152.5,-77.9 145.5,-77.9"/> -<text text-anchor="middle" x="146" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M109.12,-52.3C109.12,-59.59 109.12,-68.27 109.12,-76.46"/> +<polygon fill="red" stroke="red" points="105.62,-76.38 109.12,-86.38 112.62,-76.38 105.62,-76.38"/> +<text text-anchor="middle" x="106.87" y="-54.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="121" cy="-422" rx="27" ry="18"/> -<text text-anchor="middle" x="121" y="-418.3" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="85.12" cy="-497" rx="27" ry="18"/> +<text text-anchor="middle" x="85.12" y="-491.95" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" class="node"> <title>new9</title> -<ellipse fill="none" stroke="black" cx="191" cy="-494" rx="38.99" ry="18"/> -<text text-anchor="middle" x="191" y="-490.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="158.12" cy="-569" rx="33.95" ry="18"/> +<text text-anchor="middle" x="158.12" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M178.53,-511.11C172.27,-520.49 165.49,-533 162.99,-546"/> -<polygon fill="green" stroke="green" points="159.51,-545.7 162,-556 166.47,-546.4 159.51,-545.7"/> -<text text-anchor="middle" x="175.53" y="-513.71" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M175.17,-584.76C183.98,-593.73 193.64,-606.07 197.33,-619.77"/> +<polygon fill="green" stroke="green" points="193.84,-620.07 198.66,-629.5 200.77,-619.12 193.84,-620.07"/> +<text text-anchor="middle" x="177.42" y="-586.91" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_11 --> -<g id="node5" class="node"> +<g id="node6" class="node"> <title>Con_11</title> -<ellipse fill="none" stroke="black" cx="275" cy="-494" rx="27" ry="18"/> -<text text-anchor="middle" x="275" y="-490.3" font-family="Times,serif" font-size="14.00">#2</text> +<ellipse fill="none" stroke="black" cx="237.12" cy="-569" rx="27" ry="18"/> +<text text-anchor="middle" x="237.12" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">#2</text> </g> <!-- Store12 --> -<g id="node6" class="node"> +<g id="node7" class="node"> <title>Store12</title> -<ellipse fill="none" stroke="black" cx="217" cy="-422" rx="27.9" ry="18"/> -<text text-anchor="middle" x="217" y="-418.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="200.12" cy="-497" rx="27" ry="18"/> +<text text-anchor="middle" x="200.12" y="-491.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store12->Start2 --> <g id="edge3" class="edge"> <title>Store12->Start2:p0</title> -<path fill="none" stroke="red" d="M239.72,-432.8C270.79,-446.95 322.54,-473.53 321,-493"/> -<path fill="none" stroke="red" d="M321,-495C315.6,-563.11 190.37,-496.28 166.07,-538.32"/> -<polygon fill="red" stroke="red" points="162.72,-537.27 162.68,-547.87 169.32,-539.61 162.72,-537.27"/> -<text text-anchor="middle" x="242.72" y="-435.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M283.12,-570C284.3,-608.41 225.3,-593.17 205.36,-613.49"/> +<polygon fill="red" stroke="red" points="202.48,-611.47 200.58,-621.89 208.57,-614.92 202.48,-611.47"/> +<path fill="none" stroke="red" d="M223.33,-506.27C247.55,-516.58 282.16,-536.72 283.12,-568"/> +<text text-anchor="middle" x="280.87" y="-562.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store12->new9 --> <g id="edge5" class="edge"> <title>Store12->new9</title> -<path fill="none" stroke="black" d="M210.84,-439.59C207.84,-447.66 204.16,-457.57 200.79,-466.65"/> -<polygon fill="black" stroke="black" points="197.5,-465.45 197.3,-476.04 204.06,-467.89 197.5,-465.45"/> -<text text-anchor="middle" x="207.84" y="-442.19" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M190.38,-514.24C185.52,-522.33 179.52,-532.34 174.02,-541.51"/> +<polygon fill="black" stroke="black" points="171.02,-539.69 168.88,-550.07 177.03,-543.29 171.02,-539.69"/> +<text text-anchor="middle" x="188.13" y="-516.39" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store12->Con_11 --> <g id="edge6" class="edge"> <title>Store12->Con_11</title> -<path fill="none" stroke="black" d="M229.59,-438.19C237.26,-447.45 247.23,-459.48 255.86,-469.91"/> -<polygon fill="black" stroke="black" points="253.36,-472.37 262.44,-477.84 258.75,-467.91 253.36,-472.37"/> -<text text-anchor="middle" x="226.59" y="-440.79" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M208.7,-514.24C213.05,-522.45 218.42,-532.63 223.33,-541.91"/> +<polygon fill="black" stroke="black" points="220.11,-543.31 227.88,-550.51 226.3,-540.04 220.11,-543.31"/> +<text text-anchor="middle" x="206.45" y="-516.39" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- new13 --> -<g id="node7" class="node"> +<g id="node8" class="node"> <title>new13</title> -<ellipse fill="none" stroke="black" cx="75" cy="-494" rx="38.99" ry="18"/> -<text text-anchor="middle" x="75" y="-490.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="72.12" cy="-569" rx="33.95" ry="18"/> +<text text-anchor="middle" x="72.12" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new13->Start2 --> <g id="edge7" class="edge"> <title>new13->Start2:p0</title> -<path fill="none" stroke="green" d="M81.73,-512.06C90.25,-530.86 106.79,-559.28 130.97,-565.69"/> -<polygon fill="green" stroke="green" points="130.63,-569.17 141,-567 131.54,-562.23 130.63,-569.17"/> -<text text-anchor="middle" x="78.73" y="-514.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M84.9,-585.89C102,-605.42 134.45,-636.66 171.03,-642.35"/> +<polygon fill="green" stroke="green" points="170.74,-645.84 180.99,-643.13 171.29,-638.86 170.74,-645.84"/> +<text text-anchor="middle" x="82.65" y="-588.04" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store14 --> -<g id="node8" class="node"> +<g id="node9" class="node"> <title>Store14</title> -<ellipse fill="none" stroke="black" cx="74" cy="-336" rx="27.9" ry="18"/> -<text text-anchor="middle" x="74" y="-332.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="65.12" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="65.12" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store14->Start2 --> <g id="edge8" class="edge"> <title>Store14->Start2:p0</title> -<path fill="none" stroke="red" d="M75,-423C81.23,-454.16 104.2,-450.38 123,-476 125.09,-478.85 144.12,-515.97 154.8,-538.72"/> -<polygon fill="red" stroke="red" points="151.69,-540.34 159.03,-547.99 158.06,-537.44 151.69,-540.34"/> -<text text-anchor="middle" x="72" y="-416.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M39.12,-498C35.91,-530.2 3.02,-539.93 19.12,-568"/> +<path fill="none" stroke="red" d="M57.93,-427.13C51.12,-444.08 41.58,-471.3 39.12,-496"/> +<text text-anchor="middle" x="36.87" y="-490.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store14->Con_4 --> <g id="edge11" class="edge"> <title>Store14->Con_4</title> -<path fill="none" stroke="black" d="M83.06,-353.2C89.82,-365.28 99.19,-382.02 106.92,-395.84"/> -<polygon fill="black" stroke="black" points="104.03,-397.84 111.97,-404.85 110.14,-394.42 104.03,-397.84"/> -<text text-anchor="middle" x="80.06" y="-355.8" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M69.07,-427.39C71.77,-438.91 75.4,-454.44 78.53,-467.81"/> +<polygon fill="black" stroke="black" points="75.08,-468.44 80.76,-477.38 81.89,-466.84 75.08,-468.44"/> +<text text-anchor="middle" x="66.82" y="-429.54" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store14->Store12 --> <g id="edge9" class="edge"> <title>Store14->Store12</title> -<path fill="none" stroke="blue" d="M91.16,-350.58C98.61,-356.24 107.55,-362.71 116,-368 138.6,-382.16 165.37,-396.08 185.67,-406.11"/> -<polygon fill="blue" stroke="blue" points="184.27,-409.32 194.79,-410.56 187.34,-403.03 184.27,-409.32"/> -<text text-anchor="middle" x="88.16" y="-353.18" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M84.18,-422.57C106.99,-437.02 145.41,-461.35 171.73,-478.02"/> +<polygon fill="blue" stroke="blue" points="169.56,-480.79 179.88,-483.18 173.31,-474.88 169.56,-480.79"/> +<text text-anchor="middle" x="86.43" y="-424.72" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store14->new13 --> <g id="edge10" class="edge"> <title>Store14->new13</title> -<path fill="none" stroke="black" d="M72.36,-354.25C71.17,-371.36 70.46,-398.26 75,-421"/> -<path fill="none" stroke="black" d="M75,-423C77.77,-436.87 78.02,-452.6 77.47,-465.63"/> -<polygon fill="black" stroke="black" points="73.97,-465.65 76.86,-475.84 80.95,-466.07 73.97,-465.65"/> -<text text-anchor="middle" x="69.36" y="-356.85" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M39.12,-498C37.54,-513.82 44.48,-529.98 52.39,-542.78"/> +<polygon fill="black" stroke="black" points="49.45,-544.68 57.96,-551 55.25,-540.75 49.45,-544.68"/> +<text text-anchor="middle" x="36.87" y="-500.15" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16 --> -<g id="node9" class="node"> +<g id="node10" class="node"> <title>Load16</title> -<ellipse fill="none" stroke="black" cx="74" cy="-250" rx="27" ry="18"/> -<text text-anchor="middle" x="74" y="-246.3" font-family="Times,serif" font-size="14.00">.f</text> +<ellipse fill="none" stroke="black" cx="45.12" cy="-322" rx="27" ry="18"/> +<text text-anchor="middle" x="45.12" y="-316.95" font-family="Times New Roman,serif" font-size="14.00">.f</text> </g> <!-- Load16->Start2 --> <g id="edge12" class="edge"> <title>Load16->Start2:p0</title> -<path fill="none" stroke="red" d="M60.29,-266C52.02,-276 42.12,-289.86 37,-304 19.23,-353.07 6.22,-373.12 27,-421"/> -<path fill="none" stroke="red" d="M27,-423C42.75,-459.29 5.97,-478.5 27,-512 52.69,-552.92 76.85,-564.12 118.8,-566.47"/> -<polygon fill="red" stroke="red" points="118.8,-569.97 128.93,-566.86 119.08,-562.98 118.8,-569.97"/> -<text text-anchor="middle" x="57.29" y="-268.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M37.1,-339.54C18.2,-381.13 -24.39,-492.12 19.12,-568"/> +<path fill="none" stroke="red" d="M19.12,-570C23.95,-577.31 22.39,-581.38 29.12,-587 78.43,-628.14 103.69,-640.51 159.1,-642.82"/> +<polygon fill="red" stroke="red" points="158.99,-646.32 169.09,-643.11 159.19,-639.32 158.99,-646.32"/> +<text text-anchor="middle" x="34.85" y="-341.69" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Load16->new9 --> <g id="edge14" class="edge"> <title>Load16->new9</title> -<path fill="none" stroke="black" d="M27,-423C37.2,-446.5 102.74,-468.87 147.82,-481.75"/> -<polygon fill="black" stroke="black" points="147.08,-485.18 157.66,-484.5 148.97,-478.44 147.08,-485.18"/> -<text text-anchor="middle" x="24" y="-416.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M63.11,-335.98C75.41,-345.72 91.23,-360.08 101.12,-376 109.09,-388.84 106.98,-393.97 111.12,-408.5"/> +<path fill="none" stroke="black" d="M111.12,-410.5C124.08,-456.01 139.97,-508.64 149.56,-540.08"/> +<polygon fill="black" stroke="black" points="146.19,-541.04 152.46,-549.58 152.89,-538.99 146.19,-541.04"/> +<text text-anchor="middle" x="60.86" y="-338.13" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16->Store14 --> <g id="edge13" class="edge"> <title>Load16->Store14</title> -<path fill="none" stroke="blue" d="M74,-268.4C74,-279.74 74,-294.77 74,-307.68"/> -<polygon fill="blue" stroke="blue" points="70.5,-307.9 74,-317.9 77.5,-307.9 70.5,-307.9"/> -<text text-anchor="middle" x="71" y="-271" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M49.07,-339.89C51.77,-351.41 55.4,-366.94 58.53,-380.31"/> +<polygon fill="blue" stroke="blue" points="55.08,-380.94 60.76,-389.88 61.89,-379.34 55.08,-380.94"/> +<text text-anchor="middle" x="46.82" y="-342.04" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- If17 --> -<g id="node10" class="node"> +<g id="node11" class="node"> <title>If17</title> -<polygon fill="yellow" stroke="transparent" points="220,-339 220,-364 314,-364 314,-339 220,-339"/> -<polygon fill="none" stroke="black" points="220,-339 220,-364 314,-364 314,-339 220,-339"/> -<text text-anchor="start" x="261.5" y="-347.8" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="220,-308 220,-339 314,-339 314,-308 220,-308"/> -<polygon fill="yellow" stroke="transparent" points="225,-313 225,-334 265,-334 265,-313 225,-313"/> -<polygon fill="none" stroke="black" points="225,-313 225,-334 265,-334 265,-313 225,-313"/> -<text text-anchor="start" x="228" y="-319.8" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="265,-313 265,-334 309,-334 309,-313 265,-313"/> -<polygon fill="none" stroke="black" points="265,-313 265,-334 309,-334 309,-313 265,-313"/> -<text text-anchor="start" x="268" y="-319.8" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="230.12,-412.5 230.12,-439 306.12,-439 306.12,-412.5 230.12,-412.5"/> +<polygon fill="none" stroke="black" points="230.12,-412.5 230.12,-439 306.12,-439 306.12,-412.5 230.12,-412.5"/> +<text text-anchor="start" x="263.62" y="-420.7" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="230.12,-380 230.12,-412.5 306.12,-412.5 306.12,-380 230.12,-380"/> +<polygon fill="yellow" stroke="none" points="235.12,-385 235.12,-407.5 266.62,-407.5 266.62,-385 235.12,-385"/> +<polygon fill="none" stroke="black" points="235.12,-385 235.12,-407.5 266.62,-407.5 266.62,-385 235.12,-385"/> +<text text-anchor="start" x="238.12" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="266.62,-385 266.62,-407.5 301.12,-407.5 301.12,-385 266.62,-385"/> +<polygon fill="none" stroke="black" points="266.62,-385 266.62,-407.5 301.12,-407.5 301.12,-385 266.62,-385"/> +<text text-anchor="start" x="269.62" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If17->Start2 --> <g id="edge15" class="edge"> <title>If17->Start2:p0</title> -<path fill="none" stroke="red" d="M258.27,-368.06C255.35,-385.41 255.35,-406.41 267,-421"/> -<text text-anchor="middle" x="255.27" y="-370.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M263.95,-442.76C262.88,-459.03 263.19,-478.88 268.12,-496"/> +<text text-anchor="middle" x="261.7" y="-444.91" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_21 --> -<g id="node11" class="node"> +<g id="node12" class="node"> <title>Con_21</title> -<ellipse fill="none" stroke="black" cx="167" cy="-336" rx="27" ry="18"/> -<text text-anchor="middle" x="167" y="-332.3" font-family="Times,serif" font-size="14.00">#1</text> +<ellipse fill="none" stroke="black" cx="157.12" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="157.12" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Store22 --> -<g id="node12" class="node"> +<g id="node13" class="node"> <title>Store22</title> -<ellipse fill="none" stroke="black" cx="149" cy="-250" rx="27.9" ry="18"/> -<text text-anchor="middle" x="149" y="-246.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="117.12" cy="-322" rx="27" ry="18"/> +<text text-anchor="middle" x="117.12" y="-316.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store22->Start2 --> <g id="edge17" class="edge"> <title>Store22->Start2:p0</title> -<path fill="none" stroke="red" d="M121,-337C124.72,-350.99 120.62,-357.9 131,-368 171.82,-407.72 207.03,-371.77 254,-404 261.84,-409.38 261.07,-413.57 267,-421"/> -<path fill="none" stroke="red" d="M267,-423C291.51,-453.71 324.1,-453.83 321,-493"/> -<text text-anchor="middle" x="118" y="-330.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M138.84,-333.04C155.95,-342.01 179.17,-356.71 193.12,-376 211.33,-401.18 196.96,-416.46 213.12,-443 230.78,-471.99 258.72,-463.38 268.12,-496"/> +<path fill="none" stroke="red" d="M268.12,-498C276.93,-528.57 282.14,-536.2 283.12,-568"/> +<text text-anchor="middle" x="136.59" y="-335.19" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store22->new9 --> <g id="edge19" class="edge"> <title>Store22->new9</title> -<path fill="none" stroke="black" d="M138.02,-266.62C127.62,-283.37 114.49,-310.8 121,-335"/> -<path fill="none" stroke="black" d="M121,-337C124.76,-350.98 124.46,-355.08 131,-368 139.92,-385.61 147.62,-386.63 157,-404 167.83,-424.05 176.84,-448.28 182.87,-466.4"/> -<polygon fill="black" stroke="black" points="179.57,-467.59 185.98,-476.03 186.23,-465.43 179.57,-467.59"/> -<text text-anchor="middle" x="135.02" y="-269.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M112.54,-340.07C108.62,-357.58 104.56,-385.46 111.12,-408.5"/> +<text text-anchor="middle" x="110.29" y="-342.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store22->Store14 --> <g id="edge18" class="edge"> <title>Store22->Store14</title> -<path fill="none" stroke="blue" d="M135.59,-266.02C124.07,-278.92 107.3,-297.71 94.16,-312.42"/> -<polygon fill="blue" stroke="blue" points="91.34,-310.32 87.29,-320.11 96.56,-314.98 91.34,-310.32"/> -<text text-anchor="middle" x="132.59" y="-268.62" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M107.34,-339.08C99.86,-351.38 89.4,-368.59 80.76,-382.79"/> +<polygon fill="blue" stroke="blue" points="77.85,-380.83 75.64,-391.2 83.83,-384.47 77.85,-380.83"/> +<text text-anchor="middle" x="105.09" y="-341.23" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store22->Con_21 --> <g id="edge20" class="edge"> <title>Store22->Con_21</title> -<path fill="none" stroke="black" d="M152.64,-268C155.11,-279.5 158.41,-294.93 161.23,-308.08"/> -<polygon fill="black" stroke="black" points="157.85,-308.98 163.36,-318.03 164.69,-307.52 157.85,-308.98"/> -<text text-anchor="middle" x="149.64" y="-270.6" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> -</g> -<!-- Region23 --> -<g id="node13" class="node"> -<title>Region23</title> -<polygon fill="yellow" stroke="black" points="269,-196 203,-196 203,-160 269,-160 269,-196"/> -<text text-anchor="middle" x="236" y="-174.3" font-family="Times,serif" font-size="14.00">Region</text> +<path fill="none" stroke="black" d="M124.83,-339.49C130.39,-351.36 138,-367.64 144.44,-381.4"/> +<polygon fill="black" stroke="black" points="141.25,-382.83 148.65,-390.4 147.59,-379.86 141.25,-382.83"/> +<text text-anchor="middle" x="122.58" y="-341.64" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Region23->If17 --> <g id="edge21" class="edge"> <title>Region23->If17:p0</title> -<path fill="none" stroke="red" d="M237.91,-196.19C240.33,-219.44 244.28,-262.49 244.91,-301.62"/> -<polygon fill="red" stroke="red" points="241.42,-302.03 245,-312 248.42,-301.97 241.42,-302.03"/> -<text text-anchor="middle" x="234.91" y="-198.79" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M244.76,-268.2C246.83,-291.25 250.19,-333.78 250.78,-372.63"/> +<polygon fill="red" stroke="red" points="247.28,-372.51 250.86,-382.49 254.28,-372.46 247.28,-372.51"/> +<text text-anchor="middle" x="242.51" y="-270.35" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region23->If17 --> <g id="edge22" class="edge"> <title>Region23->If17:p1</title> -<path fill="none" stroke="red" d="M249.35,-196.26C256.45,-206.22 264.76,-219.26 270,-232 282.41,-262.21 286.24,-273.37 286.89,-301.69"/> -<polygon fill="red" stroke="red" points="283.4,-302.04 287,-312 290.4,-301.96 283.4,-302.04"/> -<text text-anchor="middle" x="246.35" y="-198.86" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_224 --> -<g id="node14" class="node"> -<title>Phi_224</title> -<ellipse fill="lightyellow" stroke="black" cx="149" cy="-178" rx="33.29" ry="18"/> -<text text-anchor="middle" x="149" y="-174.3" font-family="Times,serif" font-size="14.00">φ_$2</text> +<path fill="none" stroke="red" d="M252.57,-268.22C257.8,-278.38 264.05,-291.63 268.12,-304 278.15,-334.53 282.78,-345.32 283.7,-372.64"/> +<polygon fill="red" stroke="red" points="280.19,-372.54 283.85,-382.49 287.19,-372.43 280.19,-372.54"/> +<text text-anchor="middle" x="250.32" y="-270.37" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_224->Store14 --> <g id="edge25" class="edge"> <title>Phi_224->Store14</title> -<path fill="none" stroke="blue" d="M163.74,-194.16C179.64,-212.44 200.82,-243.72 186,-268 167.78,-297.86 145.73,-285.55 116,-304 110.44,-307.45 104.68,-311.42 99.27,-315.34"/> -<polygon fill="blue" stroke="blue" points="97.08,-312.61 91.14,-321.38 101.25,-318.23 97.08,-312.61"/> -<text text-anchor="middle" x="160.74" y="-196.76" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="blue" d="M151.73,-268.04C157.85,-286.71 164.45,-317.05 153.12,-340 141.47,-363.59 126.88,-359.83 106.12,-376 101.11,-379.91 95.77,-384.11 90.66,-388.15"/> +<polygon fill="blue" stroke="blue" points="88.67,-385.26 83.01,-394.21 93.02,-390.74 88.67,-385.26"/> +<text text-anchor="middle" x="149.48" y="-270.19" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_224->Store22 --> <g id="edge24" class="edge"> <title>Phi_224->Store22</title> -<path fill="none" stroke="blue" d="M149,-196.3C149,-204.02 149,-213.29 149,-221.89"/> -<polygon fill="blue" stroke="blue" points="145.5,-221.9 149,-231.9 152.5,-221.9 145.5,-221.9"/> -<text text-anchor="middle" x="146" y="-198.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M138.2,-268.3C135.14,-275.96 131.46,-285.15 128.04,-293.7"/> +<polygon fill="blue" stroke="blue" points="124.8,-292.39 124.33,-302.97 131.3,-294.99 124.8,-292.39"/> +<text text-anchor="middle" x="135.95" y="-270.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_224->Region23 --> <g id="edge23" class="edge"> <title>Phi_224->Region23</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M182.3,-178C185.73,-178 189.16,-178 192.58,-178"/> -<polygon fill="black" stroke="black" points="192.86,-181.5 202.86,-178 192.86,-174.5 192.86,-181.5"/> -<text text-anchor="middle" x="185.3" y="-171.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M198.33,-250C200.17,-250 202.01,-250 203.84,-250"/> +<polygon fill="black" stroke="black" points="203.61,-253.5 213.61,-250 203.61,-246.5 203.61,-253.5"/> +<text text-anchor="middle" x="200.58" y="-242.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Return25->MemMerge --> +<g id="edge28" class="edge"> +<title>Return25->MemMerge</title> +<path fill="none" stroke="blue" d="M130.13,-124.3C140.45,-132.8 153.06,-143.19 164.35,-152.49"/> +<polygon fill="blue" stroke="blue" points="161.94,-155.04 171.89,-158.69 166.39,-149.63 161.94,-155.04"/> +<text text-anchor="middle" x="127.88" y="-126.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return25->Load16 --> <g id="edge27" class="edge"> <title>Return25->Load16</title> -<path fill="none" stroke="black" d="M133.12,-124.15C124.54,-134.07 114.25,-147.11 107,-160 95.8,-179.9 87.06,-204.34 81.39,-222.56"/> -<polygon fill="black" stroke="black" points="78.01,-221.66 78.49,-232.24 84.71,-223.67 78.01,-221.66"/> -<text text-anchor="middle" x="130.12" y="-126.75" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M73.12,-179C81.32,-218.99 67.84,-265.4 56.89,-293.98"/> +<polygon fill="black" stroke="black" points="53.76,-292.38 53.29,-302.96 60.26,-294.99 53.76,-292.38"/> +<path fill="none" stroke="black" d="M92.26,-124.39C81.14,-137.97 69.27,-157.7 73.12,-177"/> +<text text-anchor="middle" x="70.87" y="-171.4" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return25->Region23 --> <g id="edge26" class="edge"> <title>Return25->Region23</title> -<path fill="none" stroke="red" d="M170.51,-124.3C181.46,-133.12 194.95,-143.97 206.82,-153.53"/> -<polygon fill="red" stroke="red" points="204.76,-156.35 214.74,-159.9 209.14,-150.9 204.76,-156.35"/> -<text text-anchor="middle" x="167.51" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Return25->Phi_224 --> -<g id="edge28" class="edge"> -<title>Return25->Phi_224</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">2</text> +<path fill="none" stroke="red" d="M73.12,-179C85.3,-238.43 141.92,-209.98 204.75,-231.55"/> +<polygon fill="red" stroke="red" points="203.29,-234.74 213.88,-235.09 205.83,-228.21 203.29,-234.74"/> +<text text-anchor="middle" x="70.87" y="-181.15" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph3.gv b/chapter11/docs/graph3.gv index c47ac565..d89d0ed4 100644 --- a/chapter11/docs/graph3.gv +++ b/chapter11/docs/graph3.gv @@ -18,11 +18,12 @@ return i; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -44,7 +45,7 @@ return i; Con_21 [ label="#1" ]; Store22 [ label=".f =" ]; Region23 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_224 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_224 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Return25 [ shape=box style=filled fillcolor=yellow label="Return" ]; { rank=same; Region23;Phi_224;} } @@ -52,7 +53,7 @@ return i; Stop3 -> Return25[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; Store12 -> Start2:p0[taillabel=0 color=red]; - Store12 -> Start2:p2[taillabel=1 color=blue]; + Store12 -> Start2:p1[taillabel=1 color=blue]; Store12 -> new9[taillabel=2]; Store12 -> Con_11[taillabel=3]; new13 -> Start2:p0[taillabel=0 color=green]; @@ -64,7 +65,7 @@ return i; Load16 -> Store14[taillabel=1 color=blue]; Load16 -> new9[taillabel=2]; If17 -> Start2:p0[taillabel=0 color=red]; - If17 -> Start2:p1[taillabel=1]; + If17 -> Start2:p2[taillabel=1]; Store22 -> If17:p0[taillabel=0 color=red]; Store22 -> Store14[taillabel=1 color=blue]; Store22 -> new9[taillabel=2]; @@ -76,6 +77,9 @@ return i; Phi_224 -> Store22[taillabel=1 color=blue]; Phi_224 -> Store14[taillabel=2 color=blue constraint=false]; Return25 -> Region23[taillabel=0 color=red]; - Return25 -> Load16[taillabel=1]; - Return25 -> Phi_224[taillabel=2 color=blue]; + Return25 -> Load16[taillabel=2]; + Return25 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_224[taillabel=2 color=blue]; + MemMerge -> Region23[taillabel=0 color=green]; } diff --git a/chapter11/docs/graph3.svg b/chapter11/docs/graph3.svg index e017c4af..a16a1733 100644 --- a/chapter11/docs/graph3.svg +++ b/chapter11/docs/graph3.svg @@ -1,316 +1,348 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="346pt" height="708pt" - viewBox="0.00 0.00 346.00 708.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 704)"> +<svg width="356pt" height="786pt" + viewBox="0.00 0.00 356.00 786.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 782)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-704 342,-704 342,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-782 352,-782 352,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-8 8,-692 330,-692 330,-8 8,-8"/> +<polygon fill="none" stroke="black" points="8,-8 8,-770 340,-770 340,-8 8,-8"/> </g> <!-- Start2 --> <g id="node1" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="137,-655 137,-680 243,-680 243,-655 137,-655"/> -<polygon fill="none" stroke="black" points="137,-655 137,-680 243,-680 243,-655 137,-655"/> -<text text-anchor="start" x="171.5" y="-663.8" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="137,-624 137,-655 243,-655 243,-624 137,-624"/> -<polygon fill="yellow" stroke="transparent" points="142,-629 142,-650 182,-650 182,-629 142,-629"/> -<polygon fill="none" stroke="black" points="142,-629 142,-650 182,-650 182,-629 142,-629"/> -<text text-anchor="start" x="145" y="-635.8" font-family="Times,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="182,-629 182,-650 213,-650 213,-629 182,-629"/> -<text text-anchor="start" x="185" y="-635.8" font-family="Times,serif" font-size="14.00">arg</text> -<polygon fill="none" stroke="black" points="213,-629 213,-650 238,-650 238,-629 213,-629"/> -<text text-anchor="start" x="216" y="-635.8" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="yellow" stroke="none" points="218.38,-731.5 218.38,-758 323.62,-758 323.62,-731.5 218.38,-731.5"/> +<polygon fill="none" stroke="black" points="218.38,-731.5 218.38,-758 323.62,-758 323.62,-731.5 218.38,-731.5"/> +<text text-anchor="start" x="258.25" y="-739.7" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="218.38,-699 218.38,-731.5 323.62,-731.5 323.62,-699 218.38,-699"/> +<polygon fill="yellow" stroke="none" points="223.38,-704 223.38,-726.5 254.12,-726.5 254.12,-704 223.38,-704"/> +<polygon fill="none" stroke="black" points="223.38,-704 223.38,-726.5 254.12,-726.5 254.12,-704 223.38,-704"/> +<text text-anchor="start" x="226.38" y="-710.2" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="254.12,-704 254.12,-726.5 295.38,-726.5 295.38,-704 254.12,-704"/> +<text text-anchor="start" x="257.12" y="-710.2" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="295.38,-704 295.38,-726.5 318.62,-726.5 318.62,-704 295.38,-704"/> +<text text-anchor="start" x="298.38" y="-710.2" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="234,-196 152,-196 152,-160 234,-160 234,-196"/> +<text text-anchor="middle" x="193" y="-172.95" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge30" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M234.18,-194.39C253.1,-203.11 274.68,-215.59 290,-232 319.72,-263.83 331,-277.45 331,-321 331,-321 331,-321 331,-498 331,-538.11 326.09,-548.18 316,-587 309.95,-610.27 282.67,-661.11 276.15,-691.66"/> +<polygon fill="blue" stroke="blue" points="272.69,-691.14 274.94,-701.5 279.64,-692 272.69,-691.14"/> +<text text-anchor="middle" x="236.43" y="-186.79" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Region23 --> +<g id="node14" class="node"> +<title>Region23</title> +<polygon fill="yellow" stroke="black" points="280.5,-268 225.5,-268 225.5,-232 280.5,-232 280.5,-268"/> +<text text-anchor="middle" x="253" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">Region</text> +</g> +<!-- MemMerge->Region23 --> +<g id="edge32" class="edge"> +<title>MemMerge->Region23</title> +<path fill="none" stroke="green" d="M207.83,-196.3C214.81,-204.44 223.27,-214.31 230.97,-223.3"/> +<polygon fill="green" stroke="green" points="228.19,-225.43 237.35,-230.75 233.5,-220.88 228.19,-225.43"/> +<text text-anchor="middle" x="205.58" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Phi_224 --> +<g id="node15" class="node"> +<title>Phi_224</title> +<ellipse fill="lightyellow" stroke="black" cx="155" cy="-250" rx="52.89" ry="18"/> +<text text-anchor="middle" x="155" y="-244.95" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_224 --> +<g id="edge31" class="edge"> +<title>MemMerge->Phi_224</title> +<path fill="none" stroke="blue" d="M183.61,-196.3C179.42,-204.02 174.39,-213.29 169.72,-221.89"/> +<polygon fill="blue" stroke="blue" points="166.7,-220.11 165.01,-230.57 172.85,-223.45 166.7,-220.11"/> +<text text-anchor="middle" x="181.36" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="186,-52 132,-52 132,-16 186,-16 186,-52"/> -<text text-anchor="middle" x="159" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="220,-52 166,-52 166,-16 220,-16 220,-52"/> +<text text-anchor="middle" x="193" y="-28.95" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return25 --> -<g id="node15" class="node"> +<g id="node16" class="node"> <title>Return25</title> -<polygon fill="yellow" stroke="black" points="192,-124 126,-124 126,-88 192,-88 192,-124"/> -<text text-anchor="middle" x="159" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="220,-124 166,-124 166,-88 220,-88 220,-124"/> +<text text-anchor="middle" x="193" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return25 --> <g id="edge1" class="edge"> <title>Stop3->Return25</title> -<path fill="none" stroke="red" d="M159,-52.3C159,-60.02 159,-69.29 159,-77.89"/> -<polygon fill="red" stroke="red" points="155.5,-77.9 159,-87.9 162.5,-77.9 155.5,-77.9"/> -<text text-anchor="middle" x="156" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M193,-52.3C193,-59.59 193,-68.27 193,-76.46"/> +<polygon fill="red" stroke="red" points="189.5,-76.38 193,-86.38 196.5,-76.38 189.5,-76.38"/> +<text text-anchor="middle" x="190.75" y="-54.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="87" cy="-494" rx="27" ry="18"/> -<text text-anchor="middle" x="87" y="-490.3" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="235" cy="-569" rx="27" ry="18"/> +<text text-anchor="middle" x="235" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" class="node"> <title>new9</title> -<ellipse fill="none" stroke="black" cx="191" cy="-566" rx="38.99" ry="18"/> -<text text-anchor="middle" x="191" y="-562.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="70" cy="-641" rx="33.95" ry="18"/> +<text text-anchor="middle" x="70" y="-635.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M178.53,-583.11C172.27,-592.49 165.49,-605 162.99,-618"/> -<polygon fill="green" stroke="green" points="159.51,-617.7 162,-628 166.47,-618.4 159.51,-617.7"/> -<text text-anchor="middle" x="175.53" y="-585.71" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M87.44,-656.82C112.58,-676.72 161.43,-710.12 211.1,-714.72"/> +<polygon fill="green" stroke="green" points="210.71,-718.2 220.86,-715.18 211.04,-711.21 210.71,-718.2"/> +<text text-anchor="middle" x="89.69" y="-658.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_11 --> -<g id="node5" class="node"> +<g id="node6" class="node"> <title>Con_11</title> -<ellipse fill="none" stroke="black" cx="275" cy="-566" rx="27" ry="18"/> -<text text-anchor="middle" x="275" y="-562.3" font-family="Times,serif" font-size="14.00">#2</text> +<ellipse fill="none" stroke="black" cx="235" cy="-641" rx="27" ry="18"/> +<text text-anchor="middle" x="235" y="-635.95" font-family="Times New Roman,serif" font-size="14.00">#2</text> </g> <!-- Store12 --> -<g id="node6" class="node"> +<g id="node7" class="node"> <title>Store12</title> -<ellipse fill="none" stroke="black" cx="256" cy="-494" rx="27.9" ry="18"/> -<text text-anchor="middle" x="256" y="-490.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="163" cy="-569" rx="27" ry="18"/> +<text text-anchor="middle" x="163" y="-563.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store12->Start2 --> <g id="edge3" class="edge"> <title>Store12->Start2:p0</title> -<path fill="none" stroke="red" d="M278.09,-505.5C299.78,-517.5 328.59,-538.88 321,-565"/> -<path fill="none" stroke="red" d="M321,-567C301.92,-632.61 187.71,-567.79 165.68,-610.25"/> -<polygon fill="red" stroke="red" points="162.32,-609.27 162.62,-619.86 168.99,-611.39 162.32,-609.27"/> -<text text-anchor="middle" x="281.09" y="-508.1" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M184.74,-580.27C215.27,-594.76 267.54,-619.8 271,-623 277.43,-628.96 279.81,-631.32 281,-640"/> +<path fill="none" stroke="red" d="M281,-642C284.46,-667.2 257.45,-670.2 244.91,-685.38"/> +<polygon fill="red" stroke="red" points="241.97,-683.46 240.43,-693.94 248.17,-686.71 241.97,-683.46"/> +<text text-anchor="middle" x="182.49" y="-582.42" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store12->new9 --> <g id="edge5" class="edge"> <title>Store12->new9</title> -<path fill="none" stroke="black" d="M242.22,-509.85C233.66,-519.06 222.49,-531.09 212.76,-541.57"/> -<polygon fill="black" stroke="black" points="209.91,-539.49 205.67,-549.2 215.04,-544.26 209.91,-539.49"/> -<text text-anchor="middle" x="239.22" y="-512.45" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M145.51,-583.17C132.17,-593.2 113.54,-607.23 98.12,-618.83"/> +<polygon fill="black" stroke="black" points="96.11,-615.97 90.22,-624.78 100.32,-621.56 96.11,-615.97"/> +<text text-anchor="middle" x="143.26" y="-585.32" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store12->Con_11 --> <g id="edge6" class="edge"> <title>Store12->Con_11</title> -<path fill="none" stroke="black" d="M260.6,-511.95C262.75,-519.86 265.35,-529.46 267.76,-538.31"/> -<polygon fill="black" stroke="black" points="264.45,-539.48 270.44,-548.21 271.2,-537.64 264.45,-539.48"/> -<text text-anchor="middle" x="257.6" y="-514.55" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M177.92,-584.5C187.77,-594.08 200.86,-606.81 212.03,-617.66"/> +<polygon fill="black" stroke="black" points="209.41,-620 219.02,-624.46 214.29,-614.98 209.41,-620"/> +<text text-anchor="middle" x="175.67" y="-586.65" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- new13 --> -<g id="node7" class="node"> +<g id="node8" class="node"> <title>new13</title> -<ellipse fill="none" stroke="black" cx="75" cy="-566" rx="38.99" ry="18"/> -<text text-anchor="middle" x="75" y="-562.3" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="156" cy="-641" rx="33.95" ry="18"/> +<text text-anchor="middle" x="156" y="-635.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new13->Start2 --> <g id="edge7" class="edge"> <title>new13->Start2:p0</title> -<path fill="none" stroke="green" d="M81.73,-584.06C90.25,-602.86 106.79,-631.28 130.97,-637.69"/> -<polygon fill="green" stroke="green" points="130.63,-641.17 141,-639 131.54,-634.23 130.63,-641.17"/> -<text text-anchor="middle" x="78.73" y="-586.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M162.55,-658.99C170.89,-677.84 187.18,-706.54 211.2,-713.63"/> +<polygon fill="green" stroke="green" points="210.48,-717.06 220.88,-715.03 211.48,-710.13 210.48,-717.06"/> +<text text-anchor="middle" x="160.3" y="-661.14" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store14 --> -<g id="node8" class="node"> +<g id="node9" class="node"> <title>Store14</title> -<ellipse fill="none" stroke="black" cx="133" cy="-422" rx="27.9" ry="18"/> -<text text-anchor="middle" x="133" y="-418.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="182" cy="-497" rx="27" ry="18"/> +<text text-anchor="middle" x="182" y="-491.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store14->Start2 --> <g id="edge8" class="edge"> <title>Store14->Start2:p0</title> -<path fill="none" stroke="red" d="M133,-495C125.43,-534.08 132.78,-545.53 143,-584 146.42,-596.87 152.99,-602.52 157.44,-610.16"/> -<polygon fill="red" stroke="red" points="154.26,-611.64 161.18,-619.66 160.77,-609.07 154.26,-611.64"/> -<text text-anchor="middle" x="130" y="-488.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M205.98,-505.45C226.83,-513.27 255.99,-527.73 271,-551 292.57,-584.45 275.58,-600.57 281,-640"/> +<text text-anchor="middle" x="203.73" y="-507.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store14->Con_4 --> <g id="edge11" class="edge"> <title>Store14->Con_4</title> -<path fill="none" stroke="black" d="M122.56,-438.88C116.8,-447.66 109.52,-458.74 103.04,-468.58"/> -<polygon fill="black" stroke="black" points="99.96,-466.9 97.4,-477.18 105.81,-470.74 99.96,-466.9"/> -<text text-anchor="middle" x="119.56" y="-441.48" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M193.76,-513.54C200.42,-522.33 208.89,-533.52 216.43,-543.47"/> +<polygon fill="black" stroke="black" points="213.53,-545.44 222.36,-551.3 219.11,-541.22 213.53,-545.44"/> +<text text-anchor="middle" x="191.51" y="-515.69" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store14->Store12 --> <g id="edge9" class="edge"> <title>Store14->Store12</title> -<path fill="none" stroke="blue" d="M153.31,-434.56C173.34,-445.96 204.16,-463.5 226.81,-476.39"/> -<polygon fill="blue" stroke="blue" points="225.24,-479.52 235.66,-481.42 228.7,-473.44 225.24,-479.52"/> -<text text-anchor="middle" x="150.31" y="-437.16" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M177.4,-514.95C175.35,-522.51 172.87,-531.63 170.56,-540.15"/> +<polygon fill="blue" stroke="blue" points="167.2,-539.18 167.95,-549.75 173.95,-541.02 167.2,-539.18"/> +<text text-anchor="middle" x="175.15" y="-517.1" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store14->new13 --> <g id="edge10" class="edge"> <title>Store14->new13</title> -<path fill="none" stroke="black" d="M134.81,-440.15C135.88,-454.43 136.45,-475.22 133,-493"/> -<path fill="none" stroke="black" d="M133,-495C129.28,-514.17 115.61,-531.16 102.48,-543.6"/> -<polygon fill="black" stroke="black" points="100.01,-541.11 94.89,-550.38 104.68,-546.33 100.01,-541.11"/> -<text text-anchor="middle" x="131.81" y="-442.75" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M162.83,-510.26C150.03,-519.67 134.26,-533.91 127,-551 118.14,-571.85 127.53,-596.39 137.92,-614.41"/> +<polygon fill="black" stroke="black" points="134.8,-616.02 143.05,-622.65 140.74,-612.32 134.8,-616.02"/> +<text text-anchor="middle" x="160.58" y="-512.41" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16 --> -<g id="node9" class="node"> +<g id="node10" class="node"> <title>Load16</title> -<ellipse fill="none" stroke="black" cx="53" cy="-336" rx="27" ry="18"/> -<text text-anchor="middle" x="53" y="-332.3" font-family="Times,serif" font-size="14.00">.f</text> +<ellipse fill="none" stroke="black" cx="43" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">.f</text> </g> <!-- Load16->Start2 --> <g id="edge12" class="edge"> <title>Load16->Start2:p0</title> -<path fill="none" stroke="red" d="M47.25,-353.59C38.09,-382.82 22.94,-444.94 41,-493"/> -<path fill="none" stroke="red" d="M41,-495C50.66,-517.36 30.14,-523.84 27,-548 24.94,-563.87 18.49,-570.45 27,-584 52.69,-624.92 76.85,-636.12 118.8,-638.47"/> -<polygon fill="red" stroke="red" points="118.8,-641.97 128.93,-638.86 119.08,-634.98 118.8,-641.97"/> -<text text-anchor="middle" x="44.25" y="-356.19" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M49.4,-427.07C59.67,-455.78 77.82,-516.65 69,-568"/> +<path fill="none" stroke="red" d="M69,-570C64.24,-599.68 36.88,-594.62 27,-623 21.74,-638.11 17.38,-646.22 27,-659 50.34,-690 144.38,-709.24 199.08,-714.06"/> +<polygon fill="red" stroke="red" points="198.71,-717.54 208.93,-714.77 199.21,-710.56 198.71,-717.54"/> +<text text-anchor="middle" x="47.15" y="-429.22" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Load16->new9 --> <g id="edge14" class="edge"> <title>Load16->new9</title> -<path fill="none" stroke="black" d="M41,-495C44.08,-503.21 44.3,-506.35 51,-512 66.3,-524.9 113.87,-541.46 149.33,-552.61"/> -<polygon fill="black" stroke="black" points="148.39,-555.98 158.98,-555.6 150.47,-549.3 148.39,-555.98"/> -<text text-anchor="middle" x="38" y="-488.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M69,-570C66.69,-583.43 66.6,-598.53 67.22,-611.26"/> +<polygon fill="black" stroke="black" points="63.72,-611.35 67.89,-621.09 70.7,-610.88 63.72,-611.35"/> +<text text-anchor="middle" x="66.75" y="-562.4" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Load16->Store14 --> <g id="edge13" class="edge"> <title>Load16->Store14</title> -<path fill="none" stroke="blue" d="M66.93,-351.63C79.36,-364.68 97.74,-383.97 111.95,-398.9"/> -<polygon fill="blue" stroke="blue" points="109.53,-401.43 118.96,-406.25 114.59,-396.6 109.53,-401.43"/> -<text text-anchor="middle" x="63.93" y="-354.23" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M62.33,-422.39C85.88,-436.87 125.88,-461.48 153.09,-478.22"/> +<polygon fill="blue" stroke="blue" points="151.2,-481.16 161.55,-483.42 154.86,-475.2 151.2,-481.16"/> +<text text-anchor="middle" x="64.58" y="-424.54" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- If17 --> -<g id="node10" class="node"> +<g id="node11" class="node"> <title>If17</title> -<polygon fill="yellow" stroke="transparent" points="218,-339 218,-364 312,-364 312,-339 218,-339"/> -<polygon fill="none" stroke="black" points="218,-339 218,-364 312,-364 312,-339 218,-339"/> -<text text-anchor="start" x="259.5" y="-347.8" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="218,-308 218,-339 312,-339 312,-308 218,-308"/> -<polygon fill="yellow" stroke="transparent" points="223,-313 223,-334 263,-334 263,-313 223,-313"/> -<polygon fill="none" stroke="black" points="223,-313 223,-334 263,-334 263,-313 223,-313"/> -<text text-anchor="start" x="226" y="-319.8" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="263,-313 263,-334 307,-334 307,-313 263,-313"/> -<polygon fill="none" stroke="black" points="263,-313 263,-334 307,-334 307,-313 263,-313"/> -<text text-anchor="start" x="266" y="-319.8" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="228,-412.5 228,-439 304,-439 304,-412.5 228,-412.5"/> +<polygon fill="none" stroke="black" points="228,-412.5 228,-439 304,-439 304,-412.5 228,-412.5"/> +<text text-anchor="start" x="261.5" y="-420.7" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="228,-380 228,-412.5 304,-412.5 304,-380 228,-380"/> +<polygon fill="yellow" stroke="none" points="233,-385 233,-407.5 264.5,-407.5 264.5,-385 233,-385"/> +<polygon fill="none" stroke="black" points="233,-385 233,-407.5 264.5,-407.5 264.5,-385 233,-385"/> +<text text-anchor="start" x="236" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="264.5,-385 264.5,-407.5 299,-407.5 299,-385 264.5,-385"/> +<polygon fill="none" stroke="black" points="264.5,-385 264.5,-407.5 299,-407.5 299,-385 264.5,-385"/> +<text text-anchor="start" x="267.5" y="-391.2" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If17->Start2 --> <g id="edge15" class="edge"> <title>If17->Start2:p0</title> -<path fill="none" stroke="red" d="M283.07,-368.2C306.27,-412.32 341.25,-495.33 321,-565"/> -<text text-anchor="middle" x="280.07" y="-370.8" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M311,-570C308.67,-603.77 276.11,-606.51 281,-640"/> +<path fill="none" stroke="red" d="M282.37,-442.96C296.46,-474.31 314.08,-523.46 311,-568"/> +<text text-anchor="middle" x="308.75" y="-562.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- If17->Start2 --> +<g id="edge16" class="edge"> +<title>If17->Start2:p2</title> +<path fill="none" stroke="black" d="M311,-570C310.66,-622.18 307.81,-639.78 307.14,-683.82"/> +<polygon fill="black" stroke="black" points="303.64,-683.74 307.04,-693.78 310.64,-683.81 303.64,-683.74"/> +<text text-anchor="middle" x="308.75" y="-572.15" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_21 --> -<g id="node11" class="node"> +<g id="node12" class="node"> <title>Con_21</title> -<ellipse fill="none" stroke="black" cx="125" cy="-336" rx="27" ry="18"/> -<text text-anchor="middle" x="125" y="-332.3" font-family="Times,serif" font-size="14.00">#1</text> +<ellipse fill="none" stroke="black" cx="155" cy="-409.5" rx="27" ry="18"/> +<text text-anchor="middle" x="155" y="-404.45" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Store22 --> -<g id="node12" class="node"> +<g id="node13" class="node"> <title>Store22</title> -<ellipse fill="none" stroke="black" cx="159" cy="-250" rx="27.9" ry="18"/> -<text text-anchor="middle" x="159" y="-246.3" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="155" cy="-322" rx="27" ry="18"/> +<text text-anchor="middle" x="155" y="-316.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store22->new9 --> <g id="edge19" class="edge"> <title>Store22->new9</title> -<path fill="none" stroke="black" d="M191,-337C192.12,-409.45 191.64,-494.88 191.27,-537.67"/> -<polygon fill="black" stroke="black" points="187.77,-537.81 191.18,-547.84 194.77,-537.87 187.77,-537.81"/> -<text text-anchor="middle" x="188" y="-330.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M137.84,-335.86C126.26,-345.54 111.73,-359.88 104,-376 93.96,-396.94 78.72,-547.81 72.64,-611.62"/> +<polygon fill="black" stroke="black" points="69.18,-611.02 71.72,-621.31 76.15,-611.68 69.18,-611.02"/> +<text text-anchor="middle" x="135.59" y="-338.01" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store22->Store14 --> <g id="edge18" class="edge"> <title>Store22->Store14</title> -<path fill="none" stroke="blue" d="M168.96,-267.05C178.21,-283.46 190.61,-310.03 191,-335"/> -<path fill="none" stroke="blue" d="M191,-337C191.39,-361.97 173.77,-384.91 157.85,-400.48"/> -<polygon fill="blue" stroke="blue" points="155.22,-398.15 150.26,-407.51 159.98,-403.28 155.22,-398.15"/> -<text text-anchor="middle" x="165.96" y="-269.65" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M168.75,-337.93C176.96,-347.9 186.62,-361.75 191,-376 200.34,-406.37 195.4,-443.02 189.86,-467.76"/> +<polygon fill="blue" stroke="blue" points="186.48,-466.85 187.51,-477.4 193.28,-468.51 186.48,-466.85"/> +<text text-anchor="middle" x="166.5" y="-340.08" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store22->Load16 --> <g id="edge21" class="edge"> <title>Store22->Load16</title> -<path fill="none" stroke="black" d="M141.22,-263.98C126.92,-274.53 106.43,-289.92 89,-304 84.86,-307.35 80.51,-310.98 76.33,-314.54"/> -<polygon fill="black" stroke="black" points="73.89,-312.03 68.59,-321.2 78.45,-317.33 73.89,-312.03"/> -<text text-anchor="middle" x="138.22" y="-266.58" font-family="Helvetica,sans-Serif" font-size="8.00">4</text> +<path fill="none" stroke="black" d="M137.39,-335.93C122.95,-346.57 102.04,-362.12 84,-376 78.96,-379.88 73.61,-384.06 68.5,-388.1"/> +<polygon fill="black" stroke="black" points="66.51,-385.21 60.86,-394.17 70.86,-390.69 66.51,-385.21"/> +<text text-anchor="middle" x="139.64" y="-338.08" font-family="Helvetica,sans-Serif" font-size="8.00">4</text> </g> <!-- Store22->If17 --> <g id="edge17" class="edge"> <title>Store22->If17:p0</title> -<path fill="none" stroke="red" d="M170.65,-266.62C182.83,-282.67 201.77,-306.77 213.47,-317.51"/> -<polygon fill="red" stroke="red" points="211.7,-320.53 222,-323 215.49,-314.64 211.7,-320.53"/> -<text text-anchor="middle" x="173.65" y="-269.22" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M169.18,-337.47C184.82,-353.32 209.52,-378.02 222.95,-389.7"/> +<polygon fill="red" stroke="red" points="220.62,-392.34 230.77,-395.36 224.72,-386.67 220.62,-392.34"/> +<text text-anchor="middle" x="171.43" y="-339.62" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store22->Con_21 --> <g id="edge20" class="edge"> <title>Store22->Con_21</title> -<path fill="none" stroke="black" d="M152.28,-267.6C147.49,-279.45 140.94,-295.62 135.46,-309.15"/> -<polygon fill="black" stroke="black" points="132.21,-307.86 131.7,-318.44 138.7,-310.48 132.21,-307.86"/> -<text text-anchor="middle" x="149.28" y="-270.2" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> -</g> -<!-- Region23 --> -<g id="node13" class="node"> -<title>Region23</title> -<polygon fill="yellow" stroke="black" points="276,-196 210,-196 210,-160 276,-160 276,-196"/> -<text text-anchor="middle" x="243" y="-174.3" font-family="Times,serif" font-size="14.00">Region</text> +<path fill="none" stroke="black" d="M155,-340.3C155,-351.66 155,-366.78 155,-379.9"/> +<polygon fill="black" stroke="black" points="151.5,-379.71 155,-389.71 158.5,-379.71 151.5,-379.71"/> +<text text-anchor="middle" x="152.75" y="-342.45" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Region23->If17 --> <g id="edge22" class="edge"> <title>Region23->If17:p0</title> -<path fill="none" stroke="red" d="M243,-196.22C243,-219.49 243,-262.58 243,-301.64"/> -<polygon fill="red" stroke="red" points="239.5,-302 243,-312 246.5,-302 239.5,-302"/> -<text text-anchor="middle" x="240" y="-198.82" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M252.1,-268.21C250.96,-291.28 249.12,-333.83 248.8,-372.64"/> +<polygon fill="red" stroke="red" points="245.3,-372.47 248.76,-382.49 252.3,-372.5 245.3,-372.47"/> +<text text-anchor="middle" x="249.85" y="-270.36" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region23->If17 --> <g id="edge23" class="edge"> <title>Region23->If17:p1</title> -<path fill="none" stroke="red" d="M252.84,-196.18C258.29,-206.33 264.79,-219.58 269,-232 279.46,-262.85 284.04,-273.57 284.86,-301.73"/> -<polygon fill="red" stroke="red" points="281.37,-302.05 285,-312 288.37,-301.95 281.37,-302.05"/> -<text text-anchor="middle" x="249.84" y="-198.78" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> -</g> -<!-- Phi_224 --> -<g id="node14" class="node"> -<title>Phi_224</title> -<ellipse fill="lightyellow" stroke="black" cx="159" cy="-178" rx="33.29" ry="18"/> -<text text-anchor="middle" x="159" y="-174.3" font-family="Times,serif" font-size="14.00">φ_$2</text> +<path fill="none" stroke="red" d="M259.4,-268.46C262.95,-278.7 267.2,-291.95 270,-304 277.21,-335.04 280.87,-345.68 281.61,-372.75"/> +<polygon fill="red" stroke="red" points="278.11,-372.53 281.73,-382.49 285.11,-372.44 278.11,-372.53"/> +<text text-anchor="middle" x="257.15" y="-270.61" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_224->Store14 --> <g id="edge26" class="edge"> <title>Phi_224->Store14</title> -<path fill="none" stroke="blue" d="M173.5,-194.31C181.86,-204.22 191.56,-217.87 196,-232 200.8,-247.26 198.68,-252.23 196,-268 192.06,-291.21 170.41,-346.42 161,-368 156.97,-377.25 151.97,-387.09 147.32,-395.75"/> -<polygon fill="blue" stroke="blue" points="144.21,-394.15 142.48,-404.6 150.35,-397.51 144.21,-394.15"/> -<text text-anchor="middle" x="170.5" y="-196.91" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="blue" d="M170.61,-267.54C186.09,-286.03 205.55,-316.46 191,-340 172.19,-370.43 137.81,-345.57 119,-376 103.34,-401.33 106.43,-416 119,-443 125.92,-457.87 139.3,-470.06 151.95,-478.98"/> +<polygon fill="blue" stroke="blue" points="149.82,-481.77 160.1,-484.33 153.66,-475.91 149.82,-481.77"/> +<text text-anchor="middle" x="168.36" y="-269.69" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_224->Store22 --> <g id="edge25" class="edge"> <title>Phi_224->Store22</title> -<path fill="none" stroke="blue" d="M159,-196.3C159,-204.02 159,-213.29 159,-221.89"/> -<polygon fill="blue" stroke="blue" points="155.5,-221.9 159,-231.9 162.5,-221.9 155.5,-221.9"/> -<text text-anchor="middle" x="156" y="-198.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M155,-268.3C155,-275.59 155,-284.27 155,-292.46"/> +<polygon fill="blue" stroke="blue" points="151.5,-292.38 155,-302.38 158.5,-292.38 151.5,-292.38"/> +<text text-anchor="middle" x="152.75" y="-270.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_224->Region23 --> <g id="edge24" class="edge"> <title>Phi_224->Region23</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M192.47,-178C194.91,-178 197.35,-178 199.8,-178"/> -<polygon fill="black" stroke="black" points="199.84,-181.5 209.84,-178 199.84,-174.5 199.84,-181.5"/> -<text text-anchor="middle" x="195.47" y="-171.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M208.21,-250C210.05,-250 211.89,-250 213.72,-250"/> +<polygon fill="black" stroke="black" points="213.49,-253.5 223.49,-250 213.49,-246.5 213.49,-253.5"/> +<text text-anchor="middle" x="210.46" y="-242.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Return25->MemMerge --> +<g id="edge29" class="edge"> +<title>Return25->MemMerge</title> +<path fill="none" stroke="blue" d="M193,-124.3C193,-131.59 193,-140.27 193,-148.46"/> +<polygon fill="blue" stroke="blue" points="189.5,-148.38 193,-158.38 196.5,-148.38 189.5,-148.38"/> +<text text-anchor="middle" x="190.75" y="-126.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return25->Load16 --> <g id="edge28" class="edge"> <title>Return25->Load16</title> -<path fill="none" stroke="black" d="M143.1,-124.14C134.51,-134.05 124.23,-147.09 117,-160 89.5,-209.12 69.82,-272.31 60.03,-307.76"/> -<polygon fill="black" stroke="black" points="56.54,-307.25 57.31,-317.82 63.3,-309.08 56.54,-307.25"/> -<text text-anchor="middle" x="140.1" y="-126.74" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M175.65,-124.07C165.7,-134.18 153.2,-147.43 143,-160 118.45,-190.25 109.65,-196.78 93,-232 69.52,-281.67 54.98,-344.54 48,-380.27"/> +<polygon fill="black" stroke="black" points="44.61,-379.32 46.19,-389.8 51.49,-380.62 44.61,-379.32"/> +<text text-anchor="middle" x="173.4" y="-126.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return25->Region23 --> <g id="edge27" class="edge"> <title>Return25->Region23</title> -<path fill="none" stroke="red" d="M179.76,-124.3C190.24,-133.03 203.11,-143.76 214.5,-153.25"/> -<polygon fill="red" stroke="red" points="212.55,-156.18 222.47,-159.9 217.03,-150.81 212.55,-156.18"/> -<text text-anchor="middle" x="176.76" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Return25->Phi_224 --> -<g id="edge29" class="edge"> -<title>Return25->Phi_224</title> -<path fill="none" stroke="blue" d="M159,-124.3C159,-132.02 159,-141.29 159,-149.89"/> -<polygon fill="blue" stroke="blue" points="155.5,-149.9 159,-159.9 162.5,-149.9 155.5,-149.9"/> -<text text-anchor="middle" x="156" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M214.94,-124.32C225.23,-133.72 236.62,-146.23 243,-160 251.76,-178.89 254.09,-202.36 254.32,-220.46"/> +<polygon fill="red" stroke="red" points="250.82,-220.19 254.22,-230.23 257.82,-220.26 250.82,-220.19"/> +<text text-anchor="middle" x="212.69" y="-126.47" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph4.gv b/chapter11/docs/graph4.gv index f6958ccb..cf622aa1 100644 --- a/chapter11/docs/graph4.gv +++ b/chapter11/docs/graph4.gv @@ -21,11 +21,12 @@ return v; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -57,10 +58,10 @@ return v; </TD></TR> </TABLE>> ]; - Phi_230 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_230 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Store31 [ label=".f =" ]; Region32 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_233 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_233 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Sub35 [ label="-" ]; Con_36 [ label="#1" ]; Return37 [ shape=box style=filled fillcolor=yellow label="Return" ]; @@ -70,19 +71,19 @@ return v; edge [ fontname=Helvetica, fontsize=8 ]; Stop3 -> Return37[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; - Store10 -> Start2:p2[taillabel=1 color=blue]; + Store10 -> Start2:p1[taillabel=1 color=blue]; Store10 -> new9[taillabel=2]; Store10 -> Con_4[taillabel=3]; Loop11 -> Start2:p0[taillabel=1 color=red]; Loop11 -> Region32[taillabel=2 color=red constraint=false]; Phi_arg13 -> Loop11 [style=dotted taillabel=0]; - Phi_arg13 -> Start2:p1[taillabel=1]; + Phi_arg13 -> Start2:p2[taillabel=1]; Phi_arg13 -> Sub35[taillabel=2 constraint=false]; LT14 -> Con_4[taillabel=1]; LT14 -> Phi_arg13[taillabel=2]; If16 -> Loop11[taillabel=0 color=red]; If16 -> LT14[taillabel=1]; - Div21 -> Start2:p1[taillabel=1]; + Div21 -> Start2:p2[taillabel=1]; Div21 -> Con_22[taillabel=2]; EQ23 -> Phi_arg13[taillabel=1]; EQ23 -> Con_24[taillabel=2]; @@ -102,6 +103,8 @@ return v; Sub35 -> Phi_arg13[taillabel=1]; Sub35 -> Con_36[taillabel=2]; Return37 -> If16:p1[taillabel=0 color=red]; - Return37 -> new9[taillabel=1]; - Return37 -> Phi_230[taillabel=2 color=blue]; + Return37 -> new9[taillabel=2]; + Return37 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_230[taillabel=2 color=blue]; } diff --git a/chapter11/docs/graph4.svg b/chapter11/docs/graph4.svg index 7f392664..2730813a 100644 --- a/chapter11/docs/graph4.svg +++ b/chapter11/docs/graph4.svg @@ -1,408 +1,429 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="454pt" height="680pt" - viewBox="0.00 0.00 454.00 680.14" 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 676.14)"> +<svg width="510pt" height="689pt" + viewBox="0.00 0.00 510.00 688.57" 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 684.57)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-676.14 450,-676.14 450,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-684.57 506,-684.57 506,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-24.14 8,-664.14 438,-664.14 438,-24.14 8,-24.14"/> +<polygon fill="none" stroke="black" points="8,-23.57 8,-672.57 494,-672.57 494,-23.57 8,-23.57"/> </g> <!-- Start2 --> <g id="node1" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="129,-627.14 129,-652.14 235,-652.14 235,-627.14 129,-627.14"/> -<polygon fill="none" stroke="black" points="129,-627.14 129,-652.14 235,-652.14 235,-627.14 129,-627.14"/> -<text text-anchor="start" x="163.5" y="-635.94" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="129,-596.14 129,-627.14 235,-627.14 235,-596.14 129,-596.14"/> -<polygon fill="yellow" stroke="transparent" points="134,-601.14 134,-622.14 174,-622.14 174,-601.14 134,-601.14"/> -<polygon fill="none" stroke="black" points="134,-601.14 134,-622.14 174,-622.14 174,-601.14 134,-601.14"/> -<text text-anchor="start" x="137" y="-607.94" font-family="Times,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="174,-601.14 174,-622.14 205,-622.14 205,-601.14 174,-601.14"/> -<text text-anchor="start" x="177" y="-607.94" font-family="Times,serif" font-size="14.00">arg</text> -<polygon fill="none" stroke="black" points="205,-601.14 205,-622.14 230,-622.14 230,-601.14 205,-601.14"/> -<text text-anchor="start" x="208" y="-607.94" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="yellow" stroke="none" points="177.38,-634.07 177.38,-660.57 282.62,-660.57 282.62,-634.07 177.38,-634.07"/> +<polygon fill="none" stroke="black" points="177.38,-634.07 177.38,-660.57 282.62,-660.57 282.62,-634.07 177.38,-634.07"/> +<text text-anchor="start" x="217.25" y="-642.27" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="177.38,-601.57 177.38,-634.07 282.62,-634.07 282.62,-601.57 177.38,-601.57"/> +<polygon fill="yellow" stroke="none" points="182.38,-606.57 182.38,-629.07 213.12,-629.07 213.12,-606.57 182.38,-606.57"/> +<polygon fill="none" stroke="black" points="182.38,-606.57 182.38,-629.07 213.12,-629.07 213.12,-606.57 182.38,-606.57"/> +<text text-anchor="start" x="185.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="213.12,-606.57 213.12,-629.07 254.38,-629.07 254.38,-606.57 213.12,-606.57"/> +<text text-anchor="start" x="216.12" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="254.38,-606.57 254.38,-629.07 277.62,-629.07 277.62,-606.57 254.38,-606.57"/> +<text text-anchor="start" x="257.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="190,-345.57 108,-345.57 108,-309.57 190,-309.57 190,-345.57"/> +<text text-anchor="middle" x="149" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge37" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M182.26,-345.95C196.56,-354.9 212.4,-367 223,-381.57 271.6,-448.32 296.36,-483.66 269,-561.57 262.19,-580.96 242.83,-581.28 236.1,-594.6"/> +<polygon fill="blue" stroke="blue" points="232.74,-593.57 234.07,-604.09 239.58,-595.04 232.74,-593.57"/> +<text text-anchor="middle" x="180.01" y="-348.1" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Phi_230 --> +<g id="node16" class="node"> +<title>Phi_230</title> +<ellipse fill="lightyellow" stroke="black" cx="161" cy="-399.57" rx="52.89" ry="18"/> +<text text-anchor="middle" x="161" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_230 --> +<g id="edge38" class="edge"> +<title>MemMerge->Phi_230</title> +<path fill="none" stroke="blue" d="M151.97,-345.87C153.23,-353.24 154.74,-362.04 156.16,-370.32"/> +<polygon fill="blue" stroke="blue" points="152.67,-370.7 157.81,-379.97 159.57,-369.52 152.67,-370.7"/> +<text text-anchor="middle" x="149.72" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="189,-68.14 135,-68.14 135,-32.14 189,-32.14 189,-68.14"/> -<text text-anchor="middle" x="162" y="-46.44" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="194,-67.57 140,-67.57 140,-31.57 194,-31.57 194,-67.57"/> +<text text-anchor="middle" x="167" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return37 --> -<g id="node21" class="node"> +<g id="node22" class="node"> <title>Return37</title> -<polygon fill="yellow" stroke="black" points="193,-154.14 127,-154.14 127,-118.14 193,-118.14 193,-154.14"/> -<text text-anchor="middle" x="160" y="-132.44" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="183,-155.07 129,-155.07 129,-119.07 183,-119.07 183,-155.07"/> +<text text-anchor="middle" x="156" y="-132.02" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return37 --> <g id="edge1" class="edge"> <title>Stop3->Return37</title> -<path fill="none" stroke="red" d="M161.59,-68.55C161.32,-79.89 160.96,-94.92 160.65,-107.83"/> -<polygon fill="red" stroke="red" points="157.15,-107.97 160.41,-118.05 164.14,-108.13 157.15,-107.97"/> -<text text-anchor="middle" x="158.59" y="-71.15" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M164.77,-67.87C163.31,-79.22 161.37,-94.35 159.68,-107.47"/> +<polygon fill="red" stroke="red" points="156.22,-106.92 158.42,-117.29 163.16,-107.82 156.22,-106.92"/> +<text text-anchor="middle" x="162.52" y="-70.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="264" cy="-538.14" rx="27" ry="18"/> -<text text-anchor="middle" x="264" y="-534.44" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="233" cy="-543.57" rx="27" ry="18"/> +<text text-anchor="middle" x="233" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" class="node"> <title>new9</title> -<ellipse fill="none" stroke="black" cx="55" cy="-538.14" rx="38.99" ry="18"/> -<text text-anchor="middle" x="55" y="-534.44" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="134" cy="-543.57" rx="33.95" ry="18"/> +<text text-anchor="middle" x="134" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M63.59,-555.84C74.57,-574.87 95.49,-604.11 123,-610.06"/> -<polygon fill="green" stroke="green" points="122.68,-613.55 133,-611.14 123.43,-606.59 122.68,-613.55"/> -<text text-anchor="middle" x="60.59" y="-558.44" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M137.27,-561.92C141.67,-580.29 151.26,-607.68 170.22,-615.6"/> +<polygon fill="green" stroke="green" points="169.4,-619 179.89,-617.52 170.76,-612.14 169.4,-619"/> +<text text-anchor="middle" x="135.02" y="-564.07" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store10 --> -<g id="node5" class="node"> +<g id="node6" class="node"> <title>Store10</title> -<ellipse fill="none" stroke="black" cx="218" cy="-466.14" rx="27.9" ry="18"/> -<text text-anchor="middle" x="218" y="-462.44" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="174" cy="-471.57" rx="27" ry="18"/> +<text text-anchor="middle" x="174" y="-466.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store10->Start2 --> <g id="edge3" class="edge"> -<title>Store10->Start2:p2</title> -<path fill="none" stroke="blue" d="M218,-484.36C218,-507.63 218,-550.72 218,-589.78"/> -<polygon fill="blue" stroke="blue" points="214.5,-590.14 218,-600.14 221.5,-590.14 214.5,-590.14"/> -<text text-anchor="middle" x="215" y="-486.96" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Store10->Start2:p1</title> +<path fill="none" stroke="blue" d="M176.14,-489.77C178.97,-508.31 185.04,-538.28 197,-561.57 206.55,-580.16 225.16,-580.71 231.54,-594.37"/> +<polygon fill="blue" stroke="blue" points="228.09,-594.95 233.46,-604.08 234.95,-593.59 228.09,-594.95"/> +<text text-anchor="middle" x="173.89" y="-491.92" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Store10->Con_4 --> <g id="edge5" class="edge"> <title>Store10->Con_4</title> -<path fill="none" stroke="black" d="M228.44,-483.03C234.2,-491.8 241.48,-502.88 247.96,-512.73"/> -<polygon fill="black" stroke="black" points="245.19,-514.89 253.6,-521.32 251.04,-511.04 245.19,-514.89"/> -<text text-anchor="middle" x="225.44" y="-485.63" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M186.8,-487.75C194.46,-496.84 204.35,-508.57 213.01,-518.85"/> +<polygon fill="black" stroke="black" points="210.13,-520.86 219.25,-526.25 215.48,-516.35 210.13,-520.86"/> +<text text-anchor="middle" x="184.55" y="-489.9" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store10->new9 --> <g id="edge4" class="edge"> <title>Store10->new9</title> -<path fill="none" stroke="black" d="M195.75,-477.51C190.9,-479.73 185.79,-482.04 181,-484.14 151.47,-497.13 117.77,-511.27 92.65,-521.68"/> -<polygon fill="black" stroke="black" points="91.04,-518.56 83.14,-525.61 93.72,-525.03 91.04,-518.56"/> -<text text-anchor="middle" x="192.75" y="-480.11" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M164.72,-488.8C160.09,-496.9 154.38,-506.9 149.14,-516.07"/> +<polygon fill="black" stroke="black" points="146.18,-514.2 144.26,-524.62 152.26,-517.67 146.18,-514.2"/> +<text text-anchor="middle" x="162.47" y="-490.95" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Loop11 --> -<g id="node6" class="node"> +<g id="node7" class="node"> <title>Loop11</title> -<polygon fill="yellow" stroke="black" points="430,-412.14 376,-412.14 376,-376.14 430,-376.14 430,-412.14"/> -<text text-anchor="middle" x="403" y="-390.44" font-family="Times,serif" font-size="14.00">Loop</text> +<polygon fill="yellow" stroke="black" points="326,-417.57 272,-417.57 272,-381.57 326,-381.57 326,-417.57"/> +<text text-anchor="middle" x="299" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">Loop</text> </g> <!-- Loop11->Start2 --> <g id="edge6" class="edge"> <title>Loop11->Start2:p0</title> -<path fill="none" stroke="red" d="M398.43,-412.15C388.69,-445.12 362.68,-517.81 314,-556.14 259,-599.46 164.25,-533.74 154.77,-590.03"/> -<polygon fill="red" stroke="red" points="151.27,-589.91 154,-600.14 158.25,-590.44 151.27,-589.91"/> -<text text-anchor="middle" x="395.43" y="-414.75" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M302.41,-417.85C307.63,-449.41 314.1,-517.19 284,-561.57 262.39,-593.42 210.43,-569.06 199.7,-594.37"/> +<polygon fill="red" stroke="red" points="196.28,-593.62 198.01,-604.07 203.18,-594.83 196.28,-593.62"/> +<text text-anchor="middle" x="300.16" y="-420" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32 --> -<g id="node17" class="node"> +<g id="node18" class="node"> <title>Region32</title> -<polygon fill="yellow" stroke="black" points="278,-68.14 212,-68.14 212,-32.14 278,-32.14 278,-68.14"/> -<text text-anchor="middle" x="245" y="-46.44" font-family="Times,serif" font-size="14.00">Region</text> +<polygon fill="yellow" stroke="black" points="277.5,-67.57 222.5,-67.57 222.5,-31.57 277.5,-31.57 277.5,-67.57"/> +<text text-anchor="middle" x="250" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Region</text> </g> <!-- Loop11->Region32 --> <g id="edge7" class="edge"> <title>Loop11->Region32</title> -<path fill="none" stroke="red" d="M375.77,-379.43C372.85,-378.21 369.89,-377.09 367,-376.14 287.4,-350.06 245.88,-394.32 182,-340.14 148.1,-311.39 72.96,-171.74 118,-104.14 120.57,-100.29 166.66,-81.64 202.59,-67.55"/> -<polygon fill="red" stroke="red" points="203.9,-70.79 211.94,-63.89 201.35,-64.27 203.9,-70.79"/> -<text text-anchor="middle" x="372.77" y="-373.03" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M294.37,-381.1C287.79,-356.73 275.97,-314.9 271,-309.57 241.37,-277.72 212.98,-301.92 180,-273.57 139.82,-239.03 133.81,-221.71 120,-170.57 112.24,-141.82 103.39,-128.28 120,-103.57 122.76,-99.46 174.37,-79.22 211.72,-64.98"/> +<polygon fill="red" stroke="red" points="212.79,-68.32 220.89,-61.49 210.3,-61.77 212.79,-68.32"/> +<text text-anchor="middle" x="292.12" y="-373.5" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_arg13 --> -<g id="node7" class="node"> +<g id="node8" class="node"> <title>Phi_arg13</title> -<ellipse fill="lightyellow" stroke="black" cx="321" cy="-394.14" rx="37.09" ry="18"/> -<text text-anchor="middle" x="321" y="-390.44" font-family="Times,serif" font-size="14.00">φ_arg</text> +<ellipse fill="lightyellow" stroke="black" cx="377" cy="-399.57" rx="32.93" ry="18"/> +<text text-anchor="middle" x="377" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">φ_arg</text> </g> <!-- Phi_arg13->Start2 --> <g id="edge9" class="edge"> -<title>Phi_arg13->Start2:p1</title> -<path fill="none" stroke="black" d="M323.94,-412.28C328.4,-444.2 333.18,-513.39 300,-556.14 270.11,-594.65 201.29,-554.44 191.23,-590.04"/> -<polygon fill="black" stroke="black" points="187.74,-589.79 190,-600.14 194.69,-590.64 187.74,-589.79"/> -<text text-anchor="middle" x="320.94" y="-414.88" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Phi_arg13->Start2:p2</title> +<path fill="none" stroke="black" d="M377.05,-417.98C376.25,-467.21 367.08,-604.69 289.96,-616.94"/> +<polygon fill="black" stroke="black" points="289.83,-613.44 280.13,-617.7 290.37,-620.42 289.83,-613.44"/> +<text text-anchor="middle" x="374.8" y="-420.13" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_arg13->Loop11 --> <g id="edge8" class="edge"> <title>Phi_arg13->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M358.16,-394.14C360.62,-394.14 363.08,-394.14 365.55,-394.14"/> -<polygon fill="black" stroke="black" points="365.67,-397.64 375.67,-394.14 365.67,-390.64 365.67,-397.64"/> -<text text-anchor="middle" x="361.16" y="-387.74" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M343.81,-399.57C341.82,-399.57 339.82,-399.57 337.83,-399.57"/> +<polygon fill="black" stroke="black" points="337.94,-396.07 327.94,-399.57 337.94,-403.07 337.94,-396.07"/> +<text text-anchor="middle" x="341.56" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35 --> -<g id="node19" class="node"> +<g id="node20" class="node"> <title>Sub35</title> -<ellipse fill="none" stroke="black" cx="218" cy="-322.14" rx="27" ry="18"/> -<text text-anchor="middle" x="218" y="-318.44" font-family="Times,serif" font-size="14.00">-</text> +<ellipse fill="none" stroke="black" cx="459" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="459" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">-</text> </g> <!-- LT14 --> -<g id="node8" class="node"> +<g id="node9" class="node"> <title>LT14</title> -<ellipse fill="none" stroke="black" cx="290" cy="-322.14" rx="27" ry="18"/> -<text text-anchor="middle" x="290" y="-318.44" font-family="Times,serif" font-size="14.00"><</text> +<ellipse fill="none" stroke="black" cx="235" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="235" y="-322.52" font-family="Times New Roman,serif" font-size="14.00"><</text> </g> <!-- LT14->Con_4 --> <g id="edge11" class="edge"> <title>LT14->Con_4</title> -<path fill="none" stroke="black" d="M284.22,-340.12C280.96,-350.42 277.13,-363.89 275,-376.14 266.94,-422.56 264.72,-477.47 264.15,-509.69"/> -<polygon fill="black" stroke="black" points="260.64,-510.04 264.01,-520.08 267.64,-510.13 260.64,-510.04"/> -<text text-anchor="middle" x="281.22" y="-342.72" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M234.84,-345.72C234.5,-382.42 233.69,-468.91 233.27,-514.03"/> +<polygon fill="black" stroke="black" points="229.77,-513.79 233.18,-523.82 236.77,-513.85 229.77,-513.79"/> +<text text-anchor="middle" x="232.59" y="-347.87" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- LT14->Phi_arg13 --> <g id="edge12" class="edge"> <title>LT14->Phi_arg13</title> -<path fill="none" stroke="black" d="M297.35,-339.73C300.92,-347.81 305.31,-357.71 309.33,-366.79"/> -<polygon fill="black" stroke="black" points="306.24,-368.46 313.49,-376.19 312.64,-365.63 306.24,-368.46"/> -<text text-anchor="middle" x="294.35" y="-342.33" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M256.26,-339.05C279.21,-350.36 316.09,-368.54 343.06,-381.84"/> +<polygon fill="black" stroke="black" points="341.35,-384.89 351.86,-386.17 344.44,-378.61 341.35,-384.89"/> +<text text-anchor="middle" x="258.51" y="-341.2" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If16 --> -<g id="node9" class="node"> +<g id="node10" class="node"> <title>If16</title> -<polygon fill="yellow" stroke="transparent" points="242,-239.14 242,-264.14 336,-264.14 336,-239.14 242,-239.14"/> -<polygon fill="none" stroke="black" points="242,-239.14 242,-264.14 336,-264.14 336,-239.14 242,-239.14"/> -<text text-anchor="start" x="283.5" y="-247.94" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="242,-208.14 242,-239.14 336,-239.14 336,-208.14 242,-208.14"/> -<polygon fill="yellow" stroke="transparent" points="247,-213.14 247,-234.14 287,-234.14 287,-213.14 247,-213.14"/> -<polygon fill="none" stroke="black" points="247,-213.14 247,-234.14 287,-234.14 287,-213.14 247,-213.14"/> -<text text-anchor="start" x="250" y="-219.94" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="287,-213.14 287,-234.14 331,-234.14 331,-213.14 287,-213.14"/> -<polygon fill="none" stroke="black" points="287,-213.14 287,-234.14 331,-234.14 331,-213.14 287,-213.14"/> -<text text-anchor="start" x="290" y="-219.94" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="197,-243.07 197,-269.57 273,-269.57 273,-243.07 197,-243.07"/> +<polygon fill="none" stroke="black" points="197,-243.07 197,-269.57 273,-269.57 273,-243.07 197,-243.07"/> +<text text-anchor="start" x="230.5" y="-251.27" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="197,-210.57 197,-243.07 273,-243.07 273,-210.57 197,-210.57"/> +<polygon fill="yellow" stroke="none" points="202,-215.57 202,-238.07 233.5,-238.07 233.5,-215.57 202,-215.57"/> +<polygon fill="none" stroke="black" points="202,-215.57 202,-238.07 233.5,-238.07 233.5,-215.57 202,-215.57"/> +<text text-anchor="start" x="205" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="233.5,-215.57 233.5,-238.07 268,-238.07 268,-215.57 233.5,-215.57"/> +<polygon fill="none" stroke="black" points="233.5,-215.57 233.5,-238.07 268,-238.07 268,-215.57 233.5,-215.57"/> +<text text-anchor="start" x="236.5" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If16->Loop11 --> <g id="edge13" class="edge"> <title>If16->Loop11</title> -<path fill="none" stroke="red" d="M311.8,-268.34C333.14,-297.54 364.63,-340.64 384.47,-367.78"/> -<polygon fill="red" stroke="red" points="381.75,-369.99 390.47,-376 387.4,-365.86 381.75,-369.99"/> -<text text-anchor="middle" x="308.8" y="-270.94" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M264.28,-273.52C272.55,-284.3 280.73,-296.83 286,-309.57 293.91,-328.67 297.12,-351.83 298.37,-369.73"/> +<polygon fill="red" stroke="red" points="294.87,-369.85 298.88,-379.66 301.86,-369.5 294.87,-369.85"/> +<text text-anchor="middle" x="262.03" y="-275.67" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If16->LT14 --> <g id="edge14" class="edge"> <title>If16->LT14</title> -<path fill="none" stroke="black" d="M289.37,-268.42C289.47,-276.72 289.58,-285.63 289.67,-293.71"/> -<polygon fill="black" stroke="black" points="286.17,-293.78 289.79,-303.74 293.17,-293.7 286.17,-293.78"/> -<text text-anchor="middle" x="286.37" y="-271.02" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M235,-273.39C235,-281.55 235,-290.26 235,-298.21"/> +<polygon fill="black" stroke="black" points="231.5,-298.02 235,-308.02 238.5,-298.02 231.5,-298.02"/> +<text text-anchor="middle" x="232.75" y="-275.54" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Div21 --> -<g id="node10" class="node"> +<g id="node11" class="node"> <title>Div21</title> -<ellipse fill="none" stroke="black" cx="63" cy="-394.14" rx="27" ry="18"/> -<text text-anchor="middle" x="63" y="-390.44" font-family="Times,serif" font-size="14.00">//</text> +<ellipse fill="none" stroke="black" cx="43" cy="-399.57" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">//</text> </g> <!-- Div21->Start2 --> <g id="edge15" class="edge"> -<title>Div21->Start2:p1</title> -<path fill="none" stroke="black" d="M70.68,-411.57C79.34,-429.71 94.16,-459.58 109,-484.14 139.67,-534.92 184.56,-537.17 189.54,-590.05"/> -<polygon fill="black" stroke="black" points="186.05,-590.31 190,-600.14 193.05,-590 186.05,-590.31"/> -<text text-anchor="middle" x="67.68" y="-414.17" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Div21->Start2:p2</title> +<path fill="none" stroke="black" d="M56.22,-415.68C64.22,-425.72 73.84,-439.58 79,-453.57 95.73,-498.87 59.24,-525.18 91,-561.57 140.95,-618.8 253.3,-535.12 265.01,-594.3"/> +<polygon fill="black" stroke="black" points="261.5,-594.4 265.87,-604.06 268.48,-593.79 261.5,-594.4"/> +<text text-anchor="middle" x="58.47" y="-417.83" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_22 --> -<g id="node11" class="node"> +<g id="node12" class="node"> <title>Con_22</title> -<ellipse fill="none" stroke="black" cx="145" cy="-466.14" rx="27" ry="18"/> -<text text-anchor="middle" x="145" y="-462.44" font-family="Times,serif" font-size="14.00">#3</text> +<ellipse fill="none" stroke="black" cx="43" cy="-471.57" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-466.52" font-family="Times New Roman,serif" font-size="14.00">#3</text> </g> <!-- Div21->Con_22 --> <g id="edge16" class="edge"> <title>Div21->Con_22</title> -<path fill="none" stroke="black" d="M79.2,-408.97C91.18,-419.2 107.69,-433.29 121.18,-444.8"/> -<polygon fill="black" stroke="black" points="119.23,-447.75 129.11,-451.58 123.78,-442.43 119.23,-447.75"/> -<text text-anchor="middle" x="76.2" y="-411.57" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M43,-417.87C43,-425.16 43,-433.84 43,-442.03"/> +<polygon fill="black" stroke="black" points="39.5,-441.95 43,-451.95 46.5,-441.95 39.5,-441.95"/> +<text text-anchor="middle" x="40.75" y="-420.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- EQ23 --> -<g id="node12" class="node"> +<g id="node13" class="node"> <title>EQ23</title> -<ellipse fill="none" stroke="black" cx="389" cy="-236.14" rx="27" ry="18"/> -<text text-anchor="middle" x="389" y="-232.44" font-family="Times,serif" font-size="14.00">==</text> +<ellipse fill="none" stroke="black" cx="346" cy="-240.07" rx="27" ry="18"/> +<text text-anchor="middle" x="346" y="-235.02" font-family="Times New Roman,serif" font-size="14.00">==</text> </g> <!-- EQ23->Phi_arg13 --> <g id="edge17" class="edge"> <title>EQ23->Phi_arg13</title> -<path fill="none" stroke="black" d="M381.85,-253.54C370.11,-280.48 346.63,-334.34 332.52,-366.71"/> -<polygon fill="black" stroke="black" points="329.25,-365.45 328.46,-376.02 335.67,-368.25 329.25,-365.45"/> -<text text-anchor="middle" x="378.85" y="-256.14" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M344.71,-258.4C343.62,-279.39 343.3,-315.66 351,-345.57 353.31,-354.54 357.23,-363.78 361.33,-371.99"/> +<polygon fill="black" stroke="black" points="358.21,-373.56 366.01,-380.73 364.38,-370.26 358.21,-373.56"/> +<text text-anchor="middle" x="342.46" y="-260.55" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_24 --> -<g id="node13" class="node"> +<g id="node14" class="node"> <title>Con_24</title> -<ellipse fill="none" stroke="black" cx="402" cy="-322.14" rx="27" ry="18"/> -<text text-anchor="middle" x="402" y="-318.44" font-family="Times,serif" font-size="14.00">#5</text> +<ellipse fill="none" stroke="black" cx="387" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="387" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">#5</text> </g> <!-- EQ23->Con_24 --> <g id="edge18" class="edge"> <title>EQ23->Con_24</title> -<path fill="none" stroke="black" d="M391.63,-254.14C393.41,-265.64 395.8,-281.07 397.83,-294.23"/> -<polygon fill="black" stroke="black" points="394.38,-294.82 399.37,-304.17 401.3,-293.75 394.38,-294.82"/> -<text text-anchor="middle" x="388.63" y="-256.74" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M353.91,-257.55C359.69,-269.62 367.66,-286.24 374.33,-300.14"/> +<polygon fill="black" stroke="black" points="370.98,-301.26 378.46,-308.77 377.3,-298.24 370.98,-301.26"/> +<text text-anchor="middle" x="351.66" y="-259.7" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If25 --> -<g id="node14" class="node"> +<g id="node15" class="node"> <title>If25</title> -<polygon fill="yellow" stroke="transparent" points="220,-139.14 220,-164.14 314,-164.14 314,-139.14 220,-139.14"/> -<polygon fill="none" stroke="black" points="220,-139.14 220,-164.14 314,-164.14 314,-139.14 220,-139.14"/> -<text text-anchor="start" x="261.5" y="-147.94" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="220,-108.14 220,-139.14 314,-139.14 314,-108.14 220,-108.14"/> -<polygon fill="yellow" stroke="transparent" points="225,-113.14 225,-134.14 265,-134.14 265,-113.14 225,-113.14"/> -<polygon fill="none" stroke="black" points="225,-113.14 225,-134.14 265,-134.14 265,-113.14 225,-113.14"/> -<text text-anchor="start" x="228" y="-119.94" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="265,-113.14 265,-134.14 309,-134.14 309,-113.14 265,-113.14"/> -<polygon fill="none" stroke="black" points="265,-113.14 265,-134.14 309,-134.14 309,-113.14 265,-113.14"/> -<text text-anchor="start" x="268" y="-119.94" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> +<polygon fill="none" stroke="black" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> +<text text-anchor="start" x="262.5" y="-148.27" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="229,-107.57 229,-140.07 305,-140.07 305,-107.57 229,-107.57"/> +<polygon fill="yellow" stroke="none" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> +<polygon fill="none" stroke="black" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> +<text text-anchor="start" x="237" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> +<polygon fill="none" stroke="black" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> +<text text-anchor="start" x="268.5" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If25->If16 --> <g id="edge19" class="edge"> <title>If25->If16:p0</title> -<path fill="none" stroke="red" d="M267,-168.16C267,-178.61 267,-190.56 267,-202.13"/> -<polygon fill="red" stroke="red" points="263.5,-202.14 267,-212.14 270.5,-202.14 263.5,-202.14"/> -<text text-anchor="middle" x="264" y="-170.76" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M234.98,-170.32C227.77,-180.06 221.5,-191.38 218.96,-203.38"/> +<polygon fill="red" stroke="red" points="215.51,-202.74 217.91,-213.06 222.47,-203.49 215.51,-202.74"/> +<text text-anchor="middle" x="232.73" y="-172.47" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If25->EQ23 --> <g id="edge20" class="edge"> <title>If25->EQ23</title> -<path fill="none" stroke="black" d="M308.01,-168.43C322.36,-179.56 338.51,-192.27 353,-204.14 357.12,-207.52 361.45,-211.17 365.63,-214.73"/> -<polygon fill="black" stroke="black" points="363.51,-217.52 373.37,-221.39 368.08,-212.22 363.51,-217.52"/> -<text text-anchor="middle" x="305.01" y="-171.03" 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="141" cy="-394.14" rx="33.29" ry="18"/> -<text text-anchor="middle" x="141" y="-390.44" font-family="Times,serif" font-size="14.00">φ_$2</text> +<path fill="none" stroke="black" d="M292.21,-170.3C303.4,-184.61 316.37,-201.18 326.76,-214.47"/> +<polygon fill="black" stroke="black" points="323.96,-216.57 332.88,-222.29 329.48,-212.26 323.96,-216.57"/> +<text text-anchor="middle" x="289.96" y="-172.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Store10 --> <g id="edge22" class="edge"> <title>Phi_230->Store10</title> -<path fill="none" stroke="blue" d="M157.33,-409.99C168.27,-419.93 182.82,-433.16 194.94,-444.18"/> -<polygon fill="blue" stroke="blue" points="192.73,-446.9 202.48,-451.04 197.44,-441.72 192.73,-446.9"/> -<text text-anchor="middle" x="154.33" y="-412.59" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M164.21,-417.87C165.58,-425.24 167.22,-434.04 168.75,-442.32"/> +<polygon fill="blue" stroke="blue" points="165.28,-442.78 170.55,-451.97 172.16,-441.5 165.28,-442.78"/> +<text text-anchor="middle" x="161.96" y="-420.02" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Loop11 --> <g id="edge21" class="edge"> <title>Phi_230->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M157.93,-378.17C167.22,-370.51 179.4,-362.14 192,-358.14 262.32,-335.82 288.38,-333.72 358,-358.14 365.14,-360.65 371.99,-364.81 378.09,-369.44"/> -<polygon fill="black" stroke="black" points="375.99,-372.24 385.92,-375.93 380.45,-366.85 375.99,-372.24"/> -<text text-anchor="middle" x="154.93" y="-371.77" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M214.37,-399.57C229.71,-399.57 245.05,-399.57 260.39,-399.57"/> +<polygon fill="black" stroke="black" points="260.05,-403.07 270.05,-399.57 260.05,-396.07 260.05,-403.07"/> +<text text-anchor="middle" x="216.62" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Phi_233 --> -<g id="node18" class="node"> +<g id="node19" class="node"> <title>Phi_233</title> -<ellipse fill="lightyellow" stroke="black" cx="84" cy="-50.14" rx="33.29" ry="18"/> -<text text-anchor="middle" x="84" y="-46.44" font-family="Times,serif" font-size="14.00">φ_$2</text> +<ellipse fill="lightyellow" stroke="black" cx="69" cy="-49.57" rx="52.89" ry="18"/> +<text text-anchor="middle" x="69" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> </g> <!-- Store31 --> -<g id="node16" class="node"> +<g id="node17" class="node"> <title>Store31</title> -<ellipse fill="none" stroke="black" cx="84" cy="-322.14" rx="27.9" ry="18"/> -<text text-anchor="middle" x="84" y="-318.44" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="43" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store31->new9 --> <g id="edge25" class="edge"> <title>Store31->new9</title> -<path fill="none" stroke="black" d="M64.25,-334.88C46.61,-346.87 22.71,-367.36 17,-393.14"/> -<text text-anchor="middle" x="61.25" y="-337.48" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M56.48,-343.35C67.65,-356.68 82.68,-377.39 89,-398.57"/> +<path fill="none" stroke="black" d="M89,-400.57C100.9,-440.42 115.61,-486.25 124.9,-514.81"/> +<polygon fill="black" stroke="black" points="121.51,-515.71 127.94,-524.13 128.17,-513.54 121.51,-515.71"/> +<text text-anchor="middle" x="58.73" y="-345.5" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store31->Div21 --> <g id="edge26" class="edge"> <title>Store31->Div21</title> -<path fill="none" stroke="black" d="M78.92,-340.09C76.52,-348.08 73.6,-357.81 70.92,-366.74"/> -<polygon fill="black" stroke="black" points="67.56,-365.77 68.04,-376.35 74.26,-367.78 67.56,-365.77"/> -<text text-anchor="middle" x="75.92" y="-342.69" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M43,-345.87C43,-353.16 43,-361.84 43,-370.03"/> +<polygon fill="black" stroke="black" points="39.5,-369.95 43,-379.95 46.5,-369.95 39.5,-369.95"/> +<text text-anchor="middle" x="40.75" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store31->Phi_230 --> <g id="edge24" class="edge"> <title>Store31->Phi_230</title> -<path fill="none" stroke="blue" d="M96.37,-338.33C103.81,-347.47 113.44,-359.29 121.84,-369.62"/> -<polygon fill="blue" stroke="blue" points="119.23,-371.95 128.26,-377.5 124.66,-367.53 119.23,-371.95"/> -<text text-anchor="middle" x="93.37" y="-340.93" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M62.75,-340.28C79.89,-350.45 105.12,-365.42 125.72,-377.64"/> +<polygon fill="blue" stroke="blue" points="123.72,-380.52 134.1,-382.61 127.29,-374.5 123.72,-380.52"/> +<text text-anchor="middle" x="65" y="-342.43" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32->If25 --> <g id="edge27" class="edge"> <title>Region32->If25:p0</title> -<path fill="none" stroke="red" d="M245,-68.23C245,-77.69 245,-89.92 245,-101.83"/> -<polygon fill="red" stroke="red" points="241.5,-102.14 245,-112.14 248.5,-102.14 241.5,-102.14"/> -<text text-anchor="middle" x="242" y="-70.83" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M249.89,-67.92C249.84,-77.07 249.79,-88.77 249.76,-100.25"/> +<polygon fill="red" stroke="red" points="246.26,-100.05 249.75,-110.05 253.26,-100.06 246.26,-100.05"/> +<text text-anchor="middle" x="247.64" y="-70.07" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32->If25 --> <g id="edge28" class="edge"> <title>Region32->If25:p1</title> -<path fill="none" stroke="red" d="M265.02,-68.27C273.64,-77.2 282.48,-88.98 285.71,-101.99"/> -<polygon fill="red" stroke="red" points="282.27,-102.66 287,-112.14 289.22,-101.78 282.27,-102.66"/> -<text text-anchor="middle" x="262.02" y="-70.87" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M265.22,-67.95C271.77,-76.79 278.57,-88.22 281.39,-100.32"/> +<polygon fill="red" stroke="red" points="277.9,-100.55 282.57,-110.06 284.84,-99.72 277.9,-100.55"/> +<text text-anchor="middle" x="262.97" y="-70.1" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Phi_230 --> <g id="edge31" class="edge"> <title>Phi_233->Phi_230</title> -<path fill="none" stroke="blue" d="M70.91,-76.61C45.62,-129.65 -3.2,-254.21 47,-340.14 53.76,-351.71 82.3,-366.89 106.18,-378.04"/> -<polygon fill="blue" stroke="blue" points="74.08,-78.08 75.32,-67.56 67.79,-75.01 74.08,-78.08"/> -<polygon fill="blue" stroke="blue" points="104.83,-381.28 115.38,-382.25 107.74,-374.91 104.83,-381.28"/> -<text text-anchor="middle" x="72.32" y="-70.16" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="blue" d="M117.06,-66.52C146.85,-77.29 181.4,-91.65 192,-103.57 212.65,-126.78 191.64,-147.08 212,-170.57 237.01,-199.41 269.42,-174.4 290,-206.57 323.6,-259.09 310.68,-297.47 271,-345.57 256.18,-363.53 233.82,-375.83 213.13,-384.03"/> +<polygon fill="blue" stroke="blue" points="118.37,-63.28 107.78,-63.24 116.04,-69.87 118.37,-63.28"/> +<polygon fill="blue" stroke="blue" points="212.09,-380.68 203.93,-387.42 214.52,-387.25 212.09,-380.68"/> +<text text-anchor="middle" x="108.6" y="-64.88" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Store31 --> <g id="edge30" class="edge"> <title>Phi_233->Store31</title> -<path fill="none" stroke="blue" d="M84,-68.44C84,-114.16 84,-238.47 84,-293.87"/> -<polygon fill="blue" stroke="blue" points="80.5,-293.99 84,-303.99 87.5,-293.99 80.5,-293.99"/> -<text text-anchor="middle" x="81" y="-71.04" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M67.37,-67.83C63.02,-114.01 51.09,-240.72 45.7,-297.9"/> +<polygon fill="blue" stroke="blue" points="42.22,-297.52 44.77,-307.8 49.19,-298.17 42.22,-297.52"/> +<text text-anchor="middle" x="65.12" y="-69.98" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_233->Region32 --> <g id="edge29" class="edge"> <title>Phi_233->Region32</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M97.7,-33.41C107.03,-23.4 120.31,-11.6 135,-6.14 157.5,2.22 166.32,1.7 189,-6.14 200.57,-10.14 211.56,-17.63 220.7,-25.31"/> -<polygon fill="black" stroke="black" points="218.43,-27.97 228.22,-32.02 223.09,-22.75 218.43,-27.97"/> -<text text-anchor="middle" x="94.7" y="-27.01" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M89.57,-32.51C103.01,-22.52 121.45,-10.85 140,-5.57 163.08,1.01 171.32,2.28 194,-5.57 205.22,-9.45 215.9,-16.6 224.86,-24.03"/> +<polygon fill="black" stroke="black" points="222.28,-26.42 232.09,-30.44 226.93,-21.19 222.28,-26.42"/> +<text text-anchor="middle" x="87.32" y="-24.91" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35->Phi_arg13 --> <g id="edge32" class="edge"> <title>Sub35->Phi_arg13</title> -<path fill="none" stroke="black" d="M244.96,-341.46C259.41,-351.29 277.23,-363.39 291.98,-373.42"/> -<polygon fill="black" stroke="black" points="246.65,-338.38 236.41,-335.66 242.72,-344.17 246.65,-338.38"/> -<polygon fill="black" stroke="black" points="290.03,-376.33 300.27,-379.05 293.96,-370.54 290.03,-376.33"/> -<text text-anchor="middle" x="233.41" y="-338.26" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M434.35,-349.61C424.46,-358.05 413.06,-367.79 403.03,-376.34"/> +<polygon fill="black" stroke="black" points="436.32,-352.53 441.65,-343.38 431.77,-347.21 436.32,-352.53"/> +<polygon fill="black" stroke="black" points="400.78,-373.66 395.45,-382.82 405.33,-378.98 400.78,-373.66"/> +<text text-anchor="middle" x="440.55" y="-344.55" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_36 --> -<g id="node20" class="node"> +<g id="node21" class="node"> <title>Con_36</title> -<ellipse fill="none" stroke="black" cx="219" cy="-394.14" rx="27" ry="18"/> -<text text-anchor="middle" x="219" y="-390.44" font-family="Times,serif" font-size="14.00">#1</text> +<ellipse fill="none" stroke="black" cx="459" cy="-399.57" rx="27" ry="18"/> +<text text-anchor="middle" x="459" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Sub35->Con_36 --> <g id="edge33" class="edge"> <title>Sub35->Con_36</title> -<path fill="none" stroke="black" d="M218.25,-340.45C218.36,-348.16 218.49,-357.43 218.61,-366.03"/> -<polygon fill="black" stroke="black" points="215.11,-366.09 218.76,-376.04 222.11,-365.99 215.11,-366.09"/> -<text text-anchor="middle" x="215.25" y="-343.05" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M459,-345.87C459,-353.16 459,-361.84 459,-370.03"/> +<polygon fill="black" stroke="black" points="455.5,-369.95 459,-379.95 462.5,-369.95 455.5,-369.95"/> +<text text-anchor="middle" x="456.75" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Return37->MemMerge --> +<g id="edge36" class="edge"> +<title>Return37->MemMerge</title> +<path fill="none" stroke="blue" d="M89,-241.07C86.12,-264.36 101.49,-285.96 117.39,-301.62"/> +<polygon fill="blue" stroke="blue" points="114.82,-304.01 124.55,-308.22 119.57,-298.86 114.82,-304.01"/> +<text text-anchor="middle" x="86.75" y="-233.47" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return37->new9 --> <g id="edge35" class="edge"> <title>Return37->new9</title> -<path fill="none" stroke="black" d="M146.13,-154.21C122.96,-183.41 76.06,-245.48 47,-304.14 28.47,-341.55 26.02,-352.39 17,-393.14"/> -<path fill="none" stroke="black" d="M17,-395.14C5.47,-435.72 24.68,-483.11 39.73,-511.59"/> -<polygon fill="black" stroke="black" points="36.74,-513.41 44.63,-520.48 42.87,-510.03 36.74,-513.41"/> -<text text-anchor="middle" x="143.13" y="-156.81" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M89,-241.07C84.7,-275.8 78.53,-365.17 89,-398.57"/> +<path fill="none" stroke="black" d="M137.42,-155.26C119.26,-173.82 93.67,-205.3 89,-239.07"/> +<text text-anchor="middle" x="86.75" y="-243.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return37->If16 --> <g id="edge34" class="edge"> <title>Return37->If16:p1</title> -<path fill="none" stroke="red" d="M181.67,-154.25C188.31,-159.08 195.77,-164.11 203,-168.14 244.24,-191.16 299.97,-165.55 308.02,-202.1"/> -<polygon fill="red" stroke="red" points="304.54,-202.53 309,-212.14 311.51,-201.85 304.54,-202.53"/> -<text text-anchor="middle" x="178.67" y="-156.85" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Return37->Phi_230 --> -<g id="edge36" class="edge"> -<title>Return37->Phi_230</title> -<path fill="none" stroke="blue" d="M158.72,-154.34C155.49,-197.97 146.93,-313.25 143.01,-366.05"/> -<polygon fill="blue" stroke="blue" points="139.52,-365.79 142.27,-376.02 146.5,-366.31 139.52,-365.79"/> -<text text-anchor="middle" x="155.72" y="-156.94" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M177.98,-155.47C198.53,-171.78 228.14,-195.38 242.42,-207.22"/> +<polygon fill="red" stroke="red" points="239.8,-209.58 249.61,-213.56 244.43,-204.33 239.8,-209.58"/> +<text text-anchor="middle" x="175.73" y="-157.62" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph5.gv b/chapter11/docs/graph5.gv index f89a83ac..0baa512f 100644 --- a/chapter11/docs/graph5.gv +++ b/chapter11/docs/graph5.gv @@ -21,11 +21,12 @@ return v; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -57,10 +58,10 @@ return v; </TD></TR> </TABLE>> ]; - Phi_230 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_230 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Store31 [ label=".f =" ]; Region32 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_233 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_233 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Sub35 [ label="-" ]; Con_36 [ label="#1" ]; Return37 [ shape=box style=filled fillcolor=yellow label="Return" ]; @@ -71,13 +72,13 @@ return v; Stop3 -> Return37[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; Store10 -> Start2:p0[taillabel=0 color=red]; - Store10 -> Start2:p2[taillabel=1 color=blue]; + Store10 -> Start2:p1[taillabel=1 color=blue]; Store10 -> new9[taillabel=2]; Store10 -> Con_4[taillabel=3]; Loop11 -> Start2:p0[taillabel=1 color=red]; Loop11 -> Region32[taillabel=2 color=red constraint=false]; Phi_arg13 -> Loop11 [style=dotted taillabel=0]; - Phi_arg13 -> Start2:p1[taillabel=1]; + Phi_arg13 -> Start2:p2[taillabel=1]; Phi_arg13 -> Sub35[taillabel=2 constraint=false]; LT14 -> Loop11[taillabel=0 color=red]; LT14 -> Con_4[taillabel=1]; @@ -85,7 +86,7 @@ return v; If16 -> Loop11[taillabel=0 color=red]; If16 -> LT14[taillabel=1]; Div21 -> Start2[taillabel=0 color=red]; - Div21 -> Start2:p1[taillabel=1]; + Div21 -> Start2:p2[taillabel=1]; Div21 -> Con_22[taillabel=2]; EQ23 -> Loop11[taillabel=0 color=red]; EQ23 -> Phi_arg13[taillabel=1]; @@ -108,6 +109,9 @@ return v; Sub35 -> Phi_arg13[taillabel=1]; Sub35 -> Con_36[taillabel=2]; Return37 -> If16:p1[taillabel=0 color=red]; - Return37 -> new9[taillabel=1]; - Return37 -> Phi_230[taillabel=2 color=blue]; + Return37 -> new9[taillabel=2]; + Return37 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_230[taillabel=2 color=blue]; + MemMerge -> Loop11[taillabel=0 color=green]; } diff --git a/chapter11/docs/graph5.svg b/chapter11/docs/graph5.svg index 6dbf29f9..9336ac3e 100644 --- a/chapter11/docs/graph5.svg +++ b/chapter11/docs/graph5.svg @@ -1,452 +1,472 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="474pt" height="680pt" - viewBox="0.00 0.00 474.00 679.67" 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 675.67)"> +<svg width="526pt" height="689pt" + viewBox="0.00 0.00 526.00 688.57" 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 684.57)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-675.67 470,-675.67 470,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-684.57 522,-684.57 522,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-23.67 8,-663.67 458,-663.67 458,-23.67 8,-23.67"/> +<polygon fill="none" stroke="black" points="8,-23.57 8,-672.57 510,-672.57 510,-23.57 8,-23.57"/> </g> <!-- Start2 --> <g id="node1" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="109,-626.67 109,-651.67 215,-651.67 215,-626.67 109,-626.67"/> -<polygon fill="none" stroke="black" points="109,-626.67 109,-651.67 215,-651.67 215,-626.67 109,-626.67"/> -<text text-anchor="start" x="143.5" y="-635.47" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="109,-595.67 109,-626.67 215,-626.67 215,-595.67 109,-595.67"/> -<polygon fill="yellow" stroke="transparent" points="114,-600.67 114,-621.67 154,-621.67 154,-600.67 114,-600.67"/> -<polygon fill="none" stroke="black" points="114,-600.67 114,-621.67 154,-621.67 154,-600.67 114,-600.67"/> -<text text-anchor="start" x="117" y="-607.47" font-family="Times,serif" font-size="14.00">$ctrl</text> -<polygon fill="none" stroke="black" points="154,-600.67 154,-621.67 185,-621.67 185,-600.67 154,-600.67"/> -<text text-anchor="start" x="157" y="-607.47" font-family="Times,serif" font-size="14.00">arg</text> -<polygon fill="none" stroke="black" points="185,-600.67 185,-621.67 210,-621.67 210,-600.67 185,-600.67"/> -<text text-anchor="start" x="188" y="-607.47" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="yellow" stroke="none" points="146.38,-634.07 146.38,-660.57 251.62,-660.57 251.62,-634.07 146.38,-634.07"/> +<polygon fill="none" stroke="black" points="146.38,-634.07 146.38,-660.57 251.62,-660.57 251.62,-634.07 146.38,-634.07"/> +<text text-anchor="start" x="186.25" y="-642.27" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="146.38,-601.57 146.38,-634.07 251.62,-634.07 251.62,-601.57 146.38,-601.57"/> +<polygon fill="yellow" stroke="none" points="151.38,-606.57 151.38,-629.07 182.12,-629.07 182.12,-606.57 151.38,-606.57"/> +<polygon fill="none" stroke="black" points="151.38,-606.57 151.38,-629.07 182.12,-629.07 182.12,-606.57 151.38,-606.57"/> +<text text-anchor="start" x="154.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="182.12,-606.57 182.12,-629.07 223.38,-629.07 223.38,-606.57 182.12,-606.57"/> +<text text-anchor="start" x="185.12" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="223.38,-606.57 223.38,-629.07 246.62,-629.07 246.62,-606.57 223.38,-606.57"/> +<text text-anchor="start" x="226.38" y="-612.77" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="190,-345.57 108,-345.57 108,-309.57 190,-309.57 190,-345.57"/> +<text text-anchor="middle" x="149" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge43" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M157.48,-345.84C162.13,-356.02 167.63,-369.27 171,-381.57 196.5,-474.76 202.31,-502.84 202.73,-594.11"/> +<polygon fill="blue" stroke="blue" points="199.22,-594.06 202.75,-604.05 206.22,-594.04 199.22,-594.06"/> +<text text-anchor="middle" x="155.23" y="-347.99" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Loop11 --> +<g id="node7" class="node"> +<title>Loop11</title> +<polygon fill="yellow" stroke="black" points="274,-417.57 220,-417.57 220,-381.57 274,-381.57 274,-417.57"/> +<text text-anchor="middle" x="247" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">Loop</text> +</g> +<!-- MemMerge->Loop11 --> +<g id="edge45" class="edge"> +<title>MemMerge->Loop11</title> +<path fill="none" stroke="green" d="M173.48,-346.05C185.61,-354.72 200.45,-365.32 213.61,-374.72"/> +<polygon fill="green" stroke="green" points="211.43,-377.46 221.6,-380.43 215.5,-371.76 211.43,-377.46"/> +<text text-anchor="middle" x="171.23" y="-348.2" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Phi_230 --> +<g id="node16" class="node"> +<title>Phi_230</title> +<ellipse fill="lightyellow" stroke="black" cx="109" cy="-399.57" rx="52.89" ry="18"/> +<text text-anchor="middle" x="109" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_230 --> +<g id="edge44" class="edge"> +<title>MemMerge->Phi_230</title> +<path fill="none" stroke="blue" d="M139.11,-345.87C134.66,-353.67 129.29,-363.06 124.33,-371.74"/> +<polygon fill="blue" stroke="blue" points="121.45,-369.73 119.52,-380.15 127.53,-373.2 121.45,-369.73"/> +<text text-anchor="middle" x="136.86" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="178,-67.67 124,-67.67 124,-31.67 178,-31.67 178,-67.67"/> -<text text-anchor="middle" x="151" y="-45.97" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="194,-67.57 140,-67.57 140,-31.57 194,-31.57 194,-67.57"/> +<text text-anchor="middle" x="167" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return37 --> -<g id="node21" class="node"> +<g id="node22" class="node"> <title>Return37</title> -<polygon fill="yellow" stroke="black" points="184,-153.67 118,-153.67 118,-117.67 184,-117.67 184,-153.67"/> -<text text-anchor="middle" x="151" y="-131.97" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="183,-155.07 129,-155.07 129,-119.07 183,-119.07 183,-155.07"/> +<text text-anchor="middle" x="156" y="-132.02" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return37 --> <g id="edge1" class="edge"> <title>Stop3->Return37</title> -<path fill="none" stroke="red" d="M151,-68.08C151,-79.42 151,-94.45 151,-107.36"/> -<polygon fill="red" stroke="red" points="147.5,-107.58 151,-117.58 154.5,-107.58 147.5,-107.58"/> -<text text-anchor="middle" x="148" y="-70.68" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M164.77,-67.87C163.31,-79.22 161.37,-94.35 159.68,-107.47"/> +<polygon fill="red" stroke="red" points="156.22,-106.92 158.42,-117.29 163.16,-107.82 156.22,-106.92"/> +<text text-anchor="middle" x="162.52" y="-70.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="262" cy="-537.67" rx="27" ry="18"/> -<text text-anchor="middle" x="262" y="-533.97" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="241" cy="-543.57" rx="27" ry="18"/> +<text text-anchor="middle" x="241" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" class="node"> <title>new9</title> -<ellipse fill="none" stroke="black" cx="127" cy="-537.67" rx="38.99" ry="18"/> -<text text-anchor="middle" x="127" y="-533.97" font-family="Times,serif" font-size="14.00">new S</text> +<ellipse fill="none" stroke="black" cx="122" cy="-543.57" rx="33.95" ry="18"/> +<text text-anchor="middle" x="122" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->Start2:p0</title> -<path fill="none" stroke="green" d="M130.01,-555.71C131.49,-565.24 133.09,-577.6 133.72,-589.67"/> -<polygon fill="green" stroke="green" points="130.22,-589.78 134,-599.67 137.22,-589.58 130.22,-589.78"/> -<text text-anchor="middle" x="127.01" y="-558.31" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="green" d="M140.72,-558.99C150.49,-567.91 161.22,-580.35 165.17,-594.47"/> +<polygon fill="green" stroke="green" points="161.67,-594.66 166.54,-604.07 168.6,-593.67 161.67,-594.66"/> +<text text-anchor="middle" x="138.47" y="-561.14" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store10 --> -<g id="node5" class="node"> +<g id="node6" class="node"> <title>Store10</title> -<ellipse fill="none" stroke="black" cx="138" cy="-465.67" rx="27.9" ry="18"/> -<text text-anchor="middle" x="138" y="-461.97" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="128" cy="-471.57" rx="27" ry="18"/> +<text text-anchor="middle" x="128" y="-466.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store10->Start2 --> <g id="edge3" class="edge"> <title>Store10->Start2:p0</title> -<path fill="none" stroke="red" d="M154.15,-480.42C167.51,-493.39 184.39,-514.14 185,-536.67"/> -<path fill="none" stroke="red" d="M185,-538.67C185.75,-566.42 153.85,-566.41 140.14,-582.26"/> -<polygon fill="red" stroke="red" points="136.81,-581.05 135.08,-591.5 142.95,-584.41 136.81,-581.05"/> -<text text-anchor="middle" x="151.15" y="-483.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Store10->Start2 --> -<g id="edge4" class="edge"> -<title>Store10->Start2:p2</title> -<path fill="none" stroke="blue" d="M155.9,-479.6C167.73,-489.22 182.4,-503.45 190,-519.67 203.61,-548.75 199.22,-561.31 198.19,-589.48"/> -<polygon fill="blue" stroke="blue" points="194.69,-589.61 198,-599.67 201.69,-589.74 194.69,-589.61"/> -<text text-anchor="middle" x="158.9" y="-482.2" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M142.02,-487.46C150.41,-497.42 160.33,-511.27 165,-525.57 174.79,-555.54 168.59,-567.3 167.06,-594.37"/> +<polygon fill="red" stroke="red" points="163.57,-593.96 166.79,-604.05 170.57,-594.15 163.57,-593.96"/> +<text text-anchor="middle" x="144.27" y="-489.61" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store10->Con_4 --> <g id="edge6" class="edge"> <title>Store10->Con_4</title> -<path fill="none" stroke="black" d="M158.48,-478.23C178.79,-489.7 210.11,-507.38 232.98,-520.29"/> -<polygon fill="black" stroke="black" points="231.48,-523.46 241.9,-525.33 234.92,-517.37 231.48,-523.46"/> -<text text-anchor="middle" x="155.48" y="-471.83" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M147.43,-484.6C165.24,-495.63 191.86,-512.12 212.15,-524.7"/> +<polygon fill="black" stroke="black" points="210.2,-527.6 220.54,-529.89 213.88,-521.65 210.2,-527.6"/> +<text text-anchor="middle" x="149.68" y="-486.75" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store10->new9 --> <g id="edge5" class="edge"> <title>Store10->new9</title> -<path fill="none" stroke="black" d="M135.34,-483.62C134.13,-491.33 132.66,-500.65 131.3,-509.31"/> -<polygon fill="black" stroke="black" points="127.81,-508.98 129.71,-519.4 134.72,-510.06 127.81,-508.98"/> -<text text-anchor="middle" x="132.34" y="-486.22" 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="194,-411.67 140,-411.67 140,-375.67 194,-375.67 194,-411.67"/> -<text text-anchor="middle" x="167" y="-389.97" font-family="Times,serif" font-size="14.00">Loop</text> +<path fill="none" stroke="black" d="M126.52,-489.87C125.89,-497.16 125.15,-505.84 124.45,-514.03"/> +<polygon fill="black" stroke="black" points="120.96,-513.69 123.6,-523.95 127.94,-514.29 120.96,-513.69"/> +<text text-anchor="middle" x="124.27" y="-492.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Loop11->Start2 --> <g id="edge7" class="edge"> <title>Loop11->Start2:p0</title> -<path fill="none" stroke="red" d="M170.34,-412.08C175.19,-438.77 183.78,-491.46 185,-536.67"/> -<text text-anchor="middle" x="167.34" y="-414.68" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M257.71,-417.74C275.77,-449.11 307.46,-516.61 277,-561.57 249.83,-601.66 179.64,-560.76 168.31,-594.59"/> +<polygon fill="red" stroke="red" points="164.9,-593.67 166.96,-604.07 171.83,-594.66 164.9,-593.67"/> +<text text-anchor="middle" x="255.46" y="-419.89" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32 --> -<g id="node17" class="node"> +<g id="node18" class="node"> <title>Region32</title> -<polygon fill="yellow" stroke="black" points="268,-67.67 202,-67.67 202,-31.67 268,-31.67 268,-67.67"/> -<text text-anchor="middle" x="235" y="-45.97" font-family="Times,serif" font-size="14.00">Region</text> +<polygon fill="yellow" stroke="black" points="277.5,-67.57 222.5,-67.57 222.5,-31.57 277.5,-31.57 277.5,-67.57"/> +<text text-anchor="middle" x="250" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">Region</text> </g> <!-- Loop11->Region32 --> <g id="edge8" class="edge"> <title>Loop11->Region32</title> -<path fill="none" stroke="red" d="M155.44,-375.36C125.2,-327.71 50.11,-192.34 109,-103.67 114.01,-96.13 157.85,-78.74 192.42,-65.93"/> -<polygon fill="red" stroke="red" points="193.71,-69.18 201.89,-62.45 191.3,-62.61 193.71,-69.18"/> -<text text-anchor="middle" x="152.44" y="-368.96" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M259.49,-381.16C271.43,-362.17 285.63,-331.55 271,-309.57 248.04,-275.07 216.63,-300.33 185,-273.57 123.24,-221.32 74.87,-170.7 120,-103.57 122.76,-99.46 174.37,-79.22 211.72,-64.98"/> +<polygon fill="red" stroke="red" points="212.79,-68.32 220.89,-61.49 210.3,-61.77 212.79,-68.32"/> +<text text-anchor="middle" x="257.24" y="-373.56" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_arg13 --> -<g id="node7" class="node"> +<g id="node8" class="node"> <title>Phi_arg13</title> -<ellipse fill="lightyellow" stroke="black" cx="341" cy="-393.67" rx="37.09" ry="18"/> -<text text-anchor="middle" x="341" y="-389.97" font-family="Times,serif" font-size="14.00">φ_arg</text> +<ellipse fill="lightyellow" stroke="black" cx="325" cy="-399.57" rx="32.93" ry="18"/> +<text text-anchor="middle" x="325" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">φ_arg</text> </g> <!-- Phi_arg13->Start2 --> <g id="edge10" class="edge"> -<title>Phi_arg13->Start2:p1</title> -<path fill="none" stroke="black" d="M341.39,-411.71C341.18,-444.06 336.07,-514.83 298,-555.67 259.62,-596.84 181.02,-546.84 171.05,-589.48"/> -<polygon fill="black" stroke="black" points="167.54,-589.37 170,-599.67 174.5,-590.09 167.54,-589.37"/> -<text text-anchor="middle" x="338.39" y="-414.31" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Phi_arg13->Start2:p2</title> +<path fill="none" stroke="black" d="M326.47,-417.98C329.72,-467.11 332.08,-604.13 258.97,-616.86"/> +<polygon fill="black" stroke="black" points="258.81,-613.36 249.13,-617.69 259.39,-620.34 258.81,-613.36"/> +<text text-anchor="middle" x="324.22" y="-420.13" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_arg13->Loop11 --> <g id="edge9" class="edge"> <title>Phi_arg13->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M321.44,-378.23C310.28,-370.41 295.63,-361.73 281,-357.67 251.45,-349.49 240.94,-347.52 212,-357.67 204.86,-360.18 198.01,-364.35 191.91,-368.97"/> -<polygon fill="black" stroke="black" points="189.55,-366.38 184.08,-375.46 194.01,-371.77 189.55,-366.38"/> -<text text-anchor="middle" x="318.44" y="-371.83" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M291.81,-399.57C289.82,-399.57 287.82,-399.57 285.83,-399.57"/> +<polygon fill="black" stroke="black" points="285.94,-396.07 275.94,-399.57 285.94,-403.07 285.94,-396.07"/> +<text text-anchor="middle" x="289.56" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35 --> -<g id="node19" class="node"> +<g id="node20" class="node"> <title>Sub35</title> -<ellipse fill="none" stroke="black" cx="217" cy="-321.67" rx="27" ry="18"/> -<text text-anchor="middle" x="217" y="-317.97" font-family="Times,serif" font-size="14.00">-</text> +<ellipse fill="none" stroke="black" cx="439" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="439" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">-</text> </g> <!-- LT14 --> -<g id="node8" class="node"> +<g id="node9" class="node"> <title>LT14</title> -<ellipse fill="none" stroke="black" cx="289" cy="-321.67" rx="27" ry="18"/> -<text text-anchor="middle" x="289" y="-317.97" font-family="Times,serif" font-size="14.00"><</text> +<ellipse fill="none" stroke="black" cx="235" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="235" y="-322.52" font-family="Times New Roman,serif" font-size="14.00"><</text> </g> <!-- LT14->Con_4 --> <g id="edge13" class="edge"> <title>LT14->Con_4</title> -<path fill="none" stroke="black" d="M286.84,-339.83C282.17,-376.84 271.11,-464.49 265.46,-509.29"/> -<polygon fill="black" stroke="black" points="261.95,-509.08 264.17,-519.44 268.9,-509.96 261.95,-509.08"/> -<text text-anchor="middle" x="283.84" y="-342.43" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M225.54,-344.65C220.11,-354.85 213.81,-368.53 211,-381.57 200.86,-428.55 217.2,-483.7 229.46,-515.73"/> +<polygon fill="black" stroke="black" points="226.06,-516.65 233.02,-524.64 232.56,-514.06 226.06,-516.65"/> +<text text-anchor="middle" x="223.29" y="-346.8" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- LT14->Loop11 --> <g id="edge12" class="edge"> <title>LT14->Loop11</title> -<path fill="none" stroke="red" d="M269.13,-334.08C251.28,-344.31 224.66,-359.59 203.06,-371.98"/> -<polygon fill="red" stroke="red" points="201.09,-369.08 194.16,-377.09 204.57,-375.15 201.09,-369.08"/> -<text text-anchor="middle" x="266.13" y="-336.68" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M237.97,-345.87C239.23,-353.24 240.74,-362.04 242.16,-370.32"/> +<polygon fill="red" stroke="red" points="238.67,-370.7 243.81,-379.97 245.57,-369.52 238.67,-370.7"/> +<text text-anchor="middle" x="235.72" y="-348.02" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- LT14->Phi_arg13 --> <g id="edge14" class="edge"> <title>LT14->Phi_arg13</title> -<path fill="none" stroke="black" d="M300.54,-338.21C307.02,-346.93 315.26,-358.02 322.61,-367.91"/> -<polygon fill="black" stroke="black" points="319.99,-370.27 328.77,-376.21 325.61,-366.09 319.99,-370.27"/> -<text text-anchor="middle" x="297.54" y="-340.81" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M251.93,-341.73C264.83,-351.77 282.86,-365.79 297.78,-377.4"/> +<polygon fill="black" stroke="black" points="295.36,-379.95 305.4,-383.32 299.66,-374.42 295.36,-379.95"/> +<text text-anchor="middle" x="249.68" y="-343.88" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If16 --> -<g id="node9" class="node"> +<g id="node10" class="node"> <title>If16</title> -<polygon fill="yellow" stroke="transparent" points="205,-238.67 205,-263.67 299,-263.67 299,-238.67 205,-238.67"/> -<polygon fill="none" stroke="black" points="205,-238.67 205,-263.67 299,-263.67 299,-238.67 205,-238.67"/> -<text text-anchor="start" x="246.5" y="-247.47" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="205,-207.67 205,-238.67 299,-238.67 299,-207.67 205,-207.67"/> -<polygon fill="yellow" stroke="transparent" points="210,-212.67 210,-233.67 250,-233.67 250,-212.67 210,-212.67"/> -<polygon fill="none" stroke="black" points="210,-212.67 210,-233.67 250,-233.67 250,-212.67 210,-212.67"/> -<text text-anchor="start" x="213" y="-219.47" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="250,-212.67 250,-233.67 294,-233.67 294,-212.67 250,-212.67"/> -<polygon fill="none" stroke="black" points="250,-212.67 250,-233.67 294,-233.67 294,-212.67 250,-212.67"/> -<text text-anchor="start" x="253" y="-219.47" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="202,-243.07 202,-269.57 278,-269.57 278,-243.07 202,-243.07"/> +<polygon fill="none" stroke="black" points="202,-243.07 202,-269.57 278,-269.57 278,-243.07 202,-243.07"/> +<text text-anchor="start" x="235.5" y="-251.27" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="202,-210.57 202,-243.07 278,-243.07 278,-210.57 202,-210.57"/> +<polygon fill="yellow" stroke="none" points="207,-215.57 207,-238.07 238.5,-238.07 238.5,-215.57 207,-215.57"/> +<polygon fill="none" stroke="black" points="207,-215.57 207,-238.07 238.5,-238.07 238.5,-215.57 207,-215.57"/> +<text text-anchor="start" x="210" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="238.5,-215.57 238.5,-238.07 273,-238.07 273,-215.57 238.5,-215.57"/> +<polygon fill="none" stroke="black" points="238.5,-215.57 238.5,-238.07 273,-238.07 273,-215.57 238.5,-215.57"/> +<text text-anchor="start" x="241.5" y="-221.77" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If16->Loop11 --> <g id="edge15" class="edge"> <title>If16->Loop11</title> -<path fill="none" stroke="red" d="M209.76,-267.98C198.76,-278.17 188.03,-290.33 181,-303.67 170.94,-322.76 167.65,-347.11 166.77,-365.52"/> -<polygon fill="red" stroke="red" points="163.27,-365.49 166.49,-375.59 170.26,-365.69 163.27,-365.49"/> -<text text-anchor="middle" x="206.76" y="-270.58" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M267.48,-273.51C274.99,-284.3 282.12,-296.82 286,-309.57 290.66,-324.87 290.99,-330.36 286,-345.57 282.88,-355.08 277.32,-364.3 271.36,-372.3"/> +<polygon fill="red" stroke="red" points="268.78,-369.92 265.24,-379.91 274.24,-374.31 268.78,-369.92"/> +<text text-anchor="middle" x="265.23" y="-275.66" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If16->LT14 --> <g id="edge16" class="edge"> <title>If16->LT14</title> -<path fill="none" stroke="black" d="M265.78,-267.95C269.68,-276.8 273.87,-286.34 277.62,-294.83"/> -<polygon fill="black" stroke="black" points="274.52,-296.48 281.75,-304.22 280.92,-293.65 274.52,-296.48"/> -<text text-anchor="middle" x="262.78" y="-270.55" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M238.11,-273.39C237.63,-281.55 237.12,-290.26 236.66,-298.21"/> +<polygon fill="black" stroke="black" points="233.17,-297.84 236.08,-308.03 240.16,-298.25 233.17,-297.84"/> +<text text-anchor="middle" x="235.86" y="-275.54" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Div21 --> -<g id="node10" class="node"> +<g id="node11" class="node"> <title>Div21</title> -<ellipse fill="none" stroke="black" cx="43" cy="-537.67" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-533.97" font-family="Times,serif" font-size="14.00">//</text> +<ellipse fill="none" stroke="black" cx="43" cy="-543.57" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-538.52" font-family="Times New Roman,serif" font-size="14.00">//</text> </g> <!-- Div21->Start2 --> <g id="edge17" class="edge"> <title>Div21->Start2</title> -<path fill="none" stroke="red" d="M60.82,-551.25C73.8,-560.41 92.1,-573.33 109.58,-585.67"/> -<polygon fill="red" stroke="red" points="107.88,-588.75 118.07,-591.66 111.91,-583.04 107.88,-588.75"/> -<text text-anchor="middle" x="57.82" y="-553.85" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M63.39,-555.74C80.45,-565.09 105.82,-578.99 130.01,-592.25"/> +<polygon fill="red" stroke="red" points="128.14,-595.22 138.59,-596.96 131.5,-589.08 128.14,-595.22"/> +<text text-anchor="middle" x="65.64" y="-557.89" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Div21->Start2 --> <g id="edge18" class="edge"> -<title>Div21->Start2:p1</title> -<path fill="none" stroke="black" d="M64.54,-548.87C92.71,-562.22 140.81,-585.08 160.83,-594.93"/> -<polygon fill="black" stroke="black" points="159.51,-598.19 170,-599.67 162.72,-591.97 159.51,-598.19"/> -<text text-anchor="middle" x="67.54" y="-551.47" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<title>Div21->Start2:p2</title> +<path fill="none" stroke="black" d="M64.07,-555.23C68.91,-557.48 74.08,-559.72 79,-561.57 142.52,-585.33 224.7,-539.5 234.11,-594.15"/> +<polygon fill="black" stroke="black" points="230.62,-594.36 234.88,-604.06 237.59,-593.81 230.62,-594.36"/> +<text text-anchor="middle" x="66.32" y="-547.63" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_22 --> -<g id="node11" class="node"> +<g id="node12" class="node"> <title>Con_22</title> -<ellipse fill="none" stroke="black" cx="43" cy="-623.67" rx="27" ry="18"/> -<text text-anchor="middle" x="43" y="-619.97" font-family="Times,serif" font-size="14.00">#3</text> +<ellipse fill="none" stroke="black" cx="43" cy="-631.07" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-626.02" font-family="Times New Roman,serif" font-size="14.00">#3</text> </g> <!-- Div21->Con_22 --> <g id="edge19" class="edge"> <title>Div21->Con_22</title> -<path fill="none" stroke="black" d="M43,-556.08C43,-567.42 43,-582.45 43,-595.36"/> -<polygon fill="black" stroke="black" points="39.5,-595.58 43,-605.58 46.5,-595.58 39.5,-595.58"/> -<text text-anchor="middle" x="40" y="-558.68" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M43,-561.87C43,-573.22 43,-588.35 43,-601.47"/> +<polygon fill="black" stroke="black" points="39.5,-601.28 43,-611.28 46.5,-601.28 39.5,-601.28"/> +<text text-anchor="middle" x="40.75" y="-564.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- EQ23 --> -<g id="node12" class="node"> +<g id="node13" class="node"> <title>EQ23</title> -<ellipse fill="none" stroke="black" cx="361" cy="-321.67" rx="27" ry="18"/> -<text text-anchor="middle" x="361" y="-317.97" font-family="Times,serif" font-size="14.00">==</text> +<ellipse fill="none" stroke="black" cx="367" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="367" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">==</text> </g> <!-- EQ23->Loop11 --> <g id="edge20" class="edge"> <title>EQ23->Loop11</title> -<path fill="none" stroke="red" d="M339.92,-333.3C335.08,-335.55 329.91,-337.8 325,-339.67 274.96,-358.74 257.65,-355.93 203.69,-375.71"/> -<polygon fill="red" stroke="red" points="202.46,-372.44 194.33,-379.24 204.92,-378.99 202.46,-372.44"/> -<text text-anchor="middle" x="336.92" y="-335.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M347.18,-340.12C330.14,-350.07 305.08,-364.69 284.29,-376.81"/> +<polygon fill="red" stroke="red" points="282.66,-373.71 275.79,-381.77 286.19,-379.76 282.66,-373.71"/> +<text text-anchor="middle" x="349.43" y="-342.27" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- EQ23->Phi_arg13 --> <g id="edge21" class="edge"> <title>EQ23->Phi_arg13</title> -<path fill="none" stroke="black" d="M356.16,-339.62C353.93,-347.41 351.23,-356.85 348.74,-365.6"/> -<polygon fill="black" stroke="black" points="345.32,-364.82 345.94,-375.4 352.05,-366.75 345.32,-364.82"/> -<text text-anchor="middle" x="353.16" y="-342.22" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M357.26,-344.8C352.4,-352.9 346.4,-362.9 340.89,-372.07"/> +<polygon fill="black" stroke="black" points="337.9,-370.26 335.76,-380.63 343.9,-373.86 337.9,-370.26"/> +<text text-anchor="middle" x="355.01" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_24 --> -<g id="node13" class="node"> +<g id="node14" class="node"> <title>Con_24</title> -<ellipse fill="none" stroke="black" cx="423" cy="-393.67" rx="27" ry="18"/> -<text text-anchor="middle" x="423" y="-389.97" font-family="Times,serif" font-size="14.00">#5</text> +<ellipse fill="none" stroke="black" cx="403" cy="-399.57" rx="27" ry="18"/> +<text text-anchor="middle" x="403" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">#5</text> </g> <!-- EQ23->Con_24 --> <g id="edge22" class="edge"> <title>EQ23->Con_24</title> -<path fill="none" stroke="black" d="M374.15,-337.52C382.53,-346.99 393.56,-359.44 403.02,-370.11"/> -<polygon fill="black" stroke="black" points="400.62,-372.69 409.87,-377.85 405.86,-368.04 400.62,-372.69"/> -<text text-anchor="middle" x="371.15" y="-340.12" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M375.35,-344.8C379.58,-353.02 384.81,-363.19 389.58,-372.47"/> +<polygon fill="black" stroke="black" points="386.32,-373.78 394,-381.07 392.54,-370.58 386.32,-373.78"/> +<text text-anchor="middle" x="373.1" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If25 --> -<g id="node14" class="node"> +<g id="node15" class="node"> <title>If25</title> -<polygon fill="yellow" stroke="transparent" points="210,-138.67 210,-163.67 304,-163.67 304,-138.67 210,-138.67"/> -<polygon fill="none" stroke="black" points="210,-138.67 210,-163.67 304,-163.67 304,-138.67 210,-138.67"/> -<text text-anchor="start" x="251.5" y="-147.47" font-family="Times,serif" font-size="14.00">If</text> -<polygon fill="none" stroke="black" points="210,-107.67 210,-138.67 304,-138.67 304,-107.67 210,-107.67"/> -<polygon fill="yellow" stroke="transparent" points="215,-112.67 215,-133.67 255,-133.67 255,-112.67 215,-112.67"/> -<polygon fill="none" stroke="black" points="215,-112.67 215,-133.67 255,-133.67 255,-112.67 215,-112.67"/> -<text text-anchor="start" x="218" y="-119.47" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="255,-112.67 255,-133.67 299,-133.67 299,-112.67 255,-112.67"/> -<polygon fill="none" stroke="black" points="255,-112.67 255,-133.67 299,-133.67 299,-112.67 255,-112.67"/> -<text text-anchor="start" x="258" y="-119.47" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> +<polygon fill="none" stroke="black" points="229,-140.07 229,-166.57 305,-166.57 305,-140.07 229,-140.07"/> +<text text-anchor="start" x="262.5" y="-148.27" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="229,-107.57 229,-140.07 305,-140.07 305,-107.57 229,-107.57"/> +<polygon fill="yellow" stroke="none" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> +<polygon fill="none" stroke="black" points="234,-112.57 234,-135.07 265.5,-135.07 265.5,-112.57 234,-112.57"/> +<text text-anchor="start" x="237" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> +<polygon fill="none" stroke="black" points="265.5,-112.57 265.5,-135.07 300,-135.07 300,-112.57 265.5,-112.57"/> +<text text-anchor="start" x="268.5" y="-118.77" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If25->If16 --> <g id="edge23" class="edge"> <title>If25->If16:p0</title> -<path fill="none" stroke="red" d="M240.36,-167.91C236.06,-178.07 232.22,-189.75 230.69,-201.44"/> -<polygon fill="red" stroke="red" points="227.18,-201.46 230,-211.67 234.17,-201.93 227.18,-201.46"/> -<text text-anchor="middle" x="237.36" y="-170.51" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M238.48,-170.44C231.99,-180.18 226.3,-191.42 223.93,-203.17"/> +<polygon fill="red" stroke="red" points="220.45,-202.75 222.91,-213.06 227.42,-203.47 220.45,-202.75"/> +<text text-anchor="middle" x="236.23" y="-172.59" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If25->EQ23 --> <g id="edge24" class="edge"> <title>If25->EQ23</title> -<path fill="none" stroke="black" d="M288.6,-167.9C298.28,-178.61 308.37,-191.08 316,-203.67 333.46,-232.5 346.27,-269.27 353.66,-293.82"/> -<polygon fill="black" stroke="black" points="350.33,-294.92 356.49,-303.54 357.05,-292.96 350.33,-294.92"/> -<text text-anchor="middle" x="285.6" y="-170.5" 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="89" cy="-393.67" rx="33.29" ry="18"/> -<text text-anchor="middle" x="89" y="-389.97" font-family="Times,serif" font-size="14.00">φ_$2</text> +<path fill="none" stroke="black" d="M295.16,-170.52C303.84,-181.5 312.95,-194.14 320,-206.57 336.96,-236.47 350.49,-273.71 358.6,-298.71"/> +<polygon fill="black" stroke="black" points="355.23,-299.66 361.58,-308.14 361.91,-297.55 355.23,-299.66"/> +<text text-anchor="middle" x="292.91" y="-172.67" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Store10 --> <g id="edge26" class="edge"> <title>Phi_230->Store10</title> -<path fill="none" stroke="blue" d="M100.36,-410.91C106.57,-419.78 114.38,-430.94 121.28,-440.78"/> -<polygon fill="blue" stroke="blue" points="118.43,-442.82 127.03,-449.01 124.17,-438.81 118.43,-442.82"/> -<text text-anchor="middle" x="97.36" y="-413.51" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M113.7,-417.87C115.72,-425.33 118.14,-434.24 120.41,-442.6"/> +<polygon fill="blue" stroke="blue" points="116.96,-443.27 122.96,-452 123.72,-441.43 116.96,-443.27"/> +<text text-anchor="middle" x="111.45" y="-420.02" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Loop11 --> <g id="edge25" class="edge"> <title>Phi_230->Loop11</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M122.21,-393.67C124.67,-393.67 127.13,-393.67 129.59,-393.67"/> -<polygon fill="black" stroke="black" points="129.71,-397.17 139.71,-393.67 129.71,-390.17 129.71,-397.17"/> -<text text-anchor="middle" x="125.21" y="-387.27" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M162.37,-399.57C177.71,-399.57 193.05,-399.57 208.39,-399.57"/> +<polygon fill="black" stroke="black" points="208.05,-403.07 218.05,-399.57 208.05,-396.07 208.05,-403.07"/> +<text text-anchor="middle" x="164.62" y="-391.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Phi_233 --> -<g id="node18" class="node"> +<g id="node19" class="node"> <title>Phi_233</title> -<ellipse fill="lightyellow" stroke="black" cx="61" cy="-49.67" rx="33.29" ry="18"/> -<text text-anchor="middle" x="61" y="-45.97" font-family="Times,serif" font-size="14.00">φ_$2</text> +<ellipse fill="lightyellow" stroke="black" cx="69" cy="-49.57" rx="52.89" ry="18"/> +<text text-anchor="middle" x="69" y="-44.52" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> </g> <!-- Store31 --> -<g id="node16" class="node"> +<g id="node17" class="node"> <title>Store31</title> -<ellipse fill="none" stroke="black" cx="44" cy="-321.67" rx="27.9" ry="18"/> -<text text-anchor="middle" x="44" y="-317.97" font-family="Times,serif" font-size="14.00">.f =</text> +<ellipse fill="none" stroke="black" cx="43" cy="-327.57" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-322.52" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store31->new9 --> <g id="edge30" class="edge"> <title>Store31->new9</title> -<path fill="none" stroke="black" d="M30,-466.67C39.91,-492.39 65.61,-510.26 88.07,-521.5"/> -<polygon fill="black" stroke="black" points="86.58,-524.67 97.12,-525.77 89.57,-518.34 86.58,-524.67"/> -<text text-anchor="middle" x="27" y="-460.27" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M30,-472.57C39.38,-497.6 63.9,-515.54 85.27,-526.98"/> +<polygon fill="black" stroke="black" points="83.57,-530.04 94.08,-531.4 86.71,-523.79 83.57,-530.04"/> +<text text-anchor="middle" x="27.75" y="-464.97" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store31->Loop11 --> <g id="edge28" class="edge"> <title>Store31->Loop11</title> -<path fill="none" stroke="red" d="M64.31,-334.23C82.34,-344.49 109.11,-359.73 130.8,-372.07"/> -<polygon fill="red" stroke="red" points="129.32,-375.26 139.75,-377.16 132.79,-369.18 129.32,-375.26"/> -<text text-anchor="middle" x="61.31" y="-336.83" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M66.8,-336.73C101.75,-348.72 167.31,-371.22 208.98,-385.52"/> +<polygon fill="red" stroke="red" points="207.77,-388.8 218.36,-388.74 210.04,-382.18 207.77,-388.8"/> +<text text-anchor="middle" x="64.55" y="-338.88" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store31->Div21 --> <g id="edge31" class="edge"> <title>Store31->Div21</title> -<path fill="none" stroke="black" d="M37.26,-339.26C27.22,-366.66 11.4,-422.52 30,-464.67"/> -<path fill="none" stroke="black" d="M30,-466.67C35.26,-480.33 38.43,-496.32 40.33,-509.57"/> -<polygon fill="black" stroke="black" points="36.86,-510.03 41.59,-519.51 43.8,-509.15 36.86,-510.03"/> -<text text-anchor="middle" x="34.26" y="-341.86" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +<path fill="none" stroke="black" d="M36.55,-345.12C26.96,-372.45 11.89,-428.23 30,-470.57"/> +<path fill="none" stroke="black" d="M30,-472.57C34.94,-485.77 38.06,-501.11 40,-514.05"/> +<polygon fill="black" stroke="black" points="36.49,-514.19 41.27,-523.64 43.43,-513.27 36.49,-514.19"/> +<text text-anchor="middle" x="34.3" y="-347.27" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store31->Phi_230 --> <g id="edge29" class="edge"> <title>Store31->Phi_230</title> -<path fill="none" stroke="blue" d="M54.21,-338.56C59.77,-347.21 66.77,-358.1 73.04,-367.84"/> -<polygon fill="blue" stroke="blue" points="70.17,-369.85 78.52,-376.37 76.05,-366.06 70.17,-369.85"/> -<text text-anchor="middle" x="51.21" y="-341.16" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M57,-343.41C65.39,-352.32 76.28,-363.86 85.92,-374.08"/> +<polygon fill="blue" stroke="blue" points="83.2,-376.3 92.6,-381.17 88.29,-371.5 83.2,-376.3"/> +<text text-anchor="middle" x="54.75" y="-345.56" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32->If25 --> <g id="edge32" class="edge"> <title>Region32->If25:p0</title> -<path fill="none" stroke="red" d="M235,-67.77C235,-77.22 235,-89.45 235,-101.36"/> -<polygon fill="red" stroke="red" points="231.5,-101.67 235,-111.67 238.5,-101.67 231.5,-101.67"/> -<text text-anchor="middle" x="232" y="-70.37" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M249.89,-67.92C249.84,-77.07 249.79,-88.77 249.76,-100.25"/> +<polygon fill="red" stroke="red" points="246.26,-100.05 249.75,-110.05 253.26,-100.06 246.26,-100.05"/> +<text text-anchor="middle" x="247.64" y="-70.07" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32->If25 --> <g id="edge33" class="edge"> <title>Region32->If25:p1</title> -<path fill="none" stroke="red" d="M255.02,-67.8C263.64,-76.74 272.48,-88.51 275.71,-101.52"/> -<polygon fill="red" stroke="red" points="272.27,-102.19 277,-111.67 279.22,-101.31 272.27,-102.19"/> -<text text-anchor="middle" x="252.02" y="-70.4" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M265.22,-67.95C271.77,-76.79 278.57,-88.22 281.39,-100.32"/> +<polygon fill="red" stroke="red" points="277.9,-100.55 282.57,-110.06 284.84,-99.72 277.9,-100.55"/> +<text text-anchor="middle" x="262.97" y="-70.1" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Phi_230 --> <g id="edge36" class="edge"> <title>Phi_233->Phi_230</title> -<path fill="none" stroke="blue" d="M63.28,-78.47C68.55,-142.92 81.57,-301.9 86.79,-365.62"/> -<polygon fill="blue" stroke="blue" points="66.73,-77.79 62.43,-68.1 59.75,-78.36 66.73,-77.79"/> -<polygon fill="blue" stroke="blue" points="83.3,-366 87.61,-375.69 90.28,-365.43 83.3,-366"/> -<text text-anchor="middle" x="59.43" y="-70.7" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="blue" d="M117.06,-66.52C146.85,-77.29 181.4,-91.65 192,-103.57 212.65,-126.78 191.37,-147.32 212,-170.57 238.69,-200.64 272.94,-172.95 295,-206.57 329.4,-258.98 315.45,-301.36 271,-345.57 244.42,-372 204.48,-385.25 170.9,-391.89"/> +<polygon fill="blue" stroke="blue" points="118.37,-63.28 107.78,-63.24 116.04,-69.87 118.37,-63.28"/> +<polygon fill="blue" stroke="blue" points="170.5,-388.41 161.28,-393.63 171.74,-395.3 170.5,-388.41"/> +<text text-anchor="middle" x="108.6" y="-64.88" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Store31 --> <g id="edge35" class="edge"> <title>Phi_233->Store31</title> -<path fill="none" stroke="blue" d="M59.91,-67.97C57.03,-113.69 49.21,-238 45.72,-293.4"/> -<polygon fill="blue" stroke="blue" points="42.22,-293.32 45.08,-303.52 49.2,-293.76 42.22,-293.32"/> -<text text-anchor="middle" x="56.91" y="-70.57" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="blue" d="M67.37,-67.83C63.02,-114.01 51.09,-240.72 45.7,-297.9"/> +<polygon fill="blue" stroke="blue" points="42.22,-297.52 44.77,-307.8 49.19,-298.17 42.22,-297.52"/> +<text text-anchor="middle" x="65.12" y="-69.98" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_233->Region32 --> <g id="edge34" class="edge"> <title>Phi_233->Region32</title> -<path fill="none" stroke="black" stroke-dasharray="1,5" d="M77.36,-33.99C89.26,-23.73 106.31,-11.24 124,-5.67 146.89,1.53 155.28,2.07 178,-5.67 189.71,-9.67 200.89,-17.16 210.2,-24.83"/> -<polygon fill="black" stroke="black" points="208.03,-27.59 217.86,-31.55 212.65,-22.33 208.03,-27.59"/> -<text text-anchor="middle" x="74.36" y="-27.59" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M89.57,-32.51C103.01,-22.52 121.45,-10.85 140,-5.57 163.08,1.01 171.32,2.28 194,-5.57 205.22,-9.45 215.9,-16.6 224.86,-24.03"/> +<polygon fill="black" stroke="black" points="222.28,-26.42 232.09,-30.44 226.93,-21.19 222.28,-26.42"/> +<text text-anchor="middle" x="87.32" y="-24.91" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35->Loop11 --> <g id="edge37" class="edge"> <title>Sub35->Loop11</title> -<path fill="none" stroke="red" d="M205.9,-338.21C199.85,-346.68 192.2,-357.39 185.3,-367.06"/> -<polygon fill="red" stroke="red" points="182.44,-365.04 179.47,-375.21 188.13,-369.11 182.44,-365.04"/> -<text text-anchor="middle" x="202.9" y="-340.81" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M417.91,-339.17C413.07,-341.42 407.9,-343.68 403,-345.57 354.16,-364.3 337.06,-362 284.88,-381.16"/> +<polygon fill="red" stroke="red" points="283.87,-377.8 275.75,-384.61 286.34,-384.35 283.87,-377.8"/> +<text text-anchor="middle" x="415.66" y="-341.32" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35->Phi_arg13 --> <g id="edge38" class="edge"> <title>Sub35->Phi_arg13</title> -<path fill="none" stroke="black" d="M245.77,-338.92C264.66,-349.58 289.38,-363.54 308.91,-374.56"/> -<polygon fill="black" stroke="black" points="247.35,-335.79 236.92,-333.92 243.91,-341.89 247.35,-335.79"/> -<polygon fill="black" stroke="black" points="307.32,-377.68 317.75,-379.55 310.76,-371.58 307.32,-377.68"/> -<text text-anchor="middle" x="233.92" y="-336.52" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M409.92,-346.42C393.35,-356.59 372.61,-369.33 355.78,-379.67"/> +<polygon fill="black" stroke="black" points="411.68,-349.45 418.37,-341.23 408.02,-343.48 411.68,-349.45"/> +<polygon fill="black" stroke="black" points="354.36,-376.43 347.67,-384.65 358.02,-382.4 354.36,-376.43"/> +<text text-anchor="middle" x="419.66" y="-342.59" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_36 --> -<g id="node20" class="node"> +<g id="node21" class="node"> <title>Con_36</title> -<ellipse fill="none" stroke="black" cx="239" cy="-393.67" rx="27" ry="18"/> -<text text-anchor="middle" x="239" y="-389.97" font-family="Times,serif" font-size="14.00">#1</text> +<ellipse fill="none" stroke="black" cx="475" cy="-399.57" rx="27" ry="18"/> +<text text-anchor="middle" x="475" y="-394.52" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Sub35->Con_36 --> <g id="edge39" class="edge"> <title>Sub35->Con_36</title> -<path fill="none" stroke="black" d="M222.33,-339.62C224.84,-347.62 227.9,-357.34 230.7,-366.27"/> -<polygon fill="black" stroke="black" points="227.39,-367.39 233.72,-375.89 234.06,-365.3 227.39,-367.39"/> -<text text-anchor="middle" x="219.33" y="-342.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="black" d="M447.35,-344.8C451.58,-353.02 456.81,-363.19 461.58,-372.47"/> +<polygon fill="black" stroke="black" points="458.32,-373.78 466,-381.07 464.54,-370.58 458.32,-373.78"/> +<text text-anchor="middle" x="445.1" y="-346.95" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Return37->MemMerge --> +<g id="edge42" class="edge"> +<title>Return37->MemMerge</title> +<path fill="none" stroke="blue" d="M89,-241.07C86.12,-264.36 101.49,-285.96 117.39,-301.62"/> +<polygon fill="blue" stroke="blue" points="114.82,-304.01 124.55,-308.22 119.57,-298.86 114.82,-304.01"/> +<text text-anchor="middle" x="86.75" y="-233.47" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return37->new9 --> <g id="edge41" class="edge"> <title>Return37->new9</title> -<path fill="none" stroke="black" d="M152.88,-153.84C154.6,-173.54 156.18,-206.74 151,-234.67"/> -<path fill="none" stroke="black" d="M151,-236.67C140.92,-291.1 115.67,-296.53 81,-339.67 67.22,-356.83 55.13,-355.22 47,-375.67 26.8,-426.48 71.69,-483.13 102.06,-513.85"/> -<polygon fill="black" stroke="black" points="99.83,-516.56 109.42,-521.08 104.74,-511.57 99.83,-516.56"/> -<text text-anchor="middle" x="149.88" y="-156.44" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M137.23,-155.23C118.91,-173.78 93.19,-205.24 89,-239.07"/> +<path fill="none" stroke="black" d="M89,-241.07C83.27,-287.37 97.64,-302.79 79,-345.57 70.45,-365.19 54.61,-361.56 47,-381.57 41.31,-396.52 42.73,-402.15 47,-417.57 57.57,-455.72 83.23,-493.93 101.59,-517.87"/> +<polygon fill="black" stroke="black" points="98.84,-520.03 107.77,-525.73 104.34,-515.7 98.84,-520.03"/> +<text text-anchor="middle" x="134.98" y="-157.38" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return37->If16 --> <g id="edge40" class="edge"> <title>Return37->If16:p1</title> -<path fill="none" stroke="red" d="M173.3,-153.95C179.56,-158.57 186.45,-163.46 193,-167.67 223.49,-187.31 263.28,-174.61 270.76,-201.47"/> -<polygon fill="red" stroke="red" points="267.32,-202.17 272,-211.67 274.27,-201.33 267.32,-202.17"/> -<text text-anchor="middle" x="170.3" y="-156.55" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> -</g> -<!-- Return37->Phi_230 --> -<g id="edge42" class="edge"> -<title>Return37->Phi_230</title> -<path fill="none" stroke="blue" d="M151,-236.67C145.42,-285.27 120.51,-337.2 104.01,-367.2"/> -<polygon fill="blue" stroke="blue" points="100.84,-365.71 98.99,-376.14 106.94,-369.14 100.84,-365.71"/> -<text text-anchor="middle" x="148" y="-230.27" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M177.62,-155.38C183.85,-160.32 190.67,-165.69 197,-170.57 219.31,-187.76 246.88,-183.75 254.01,-203.32"/> +<polygon fill="red" stroke="red" points="250.53,-203.72 255.52,-213.07 257.45,-202.65 250.53,-203.72"/> +<text text-anchor="middle" x="175.37" y="-157.53" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph6.gv b/chapter11/docs/graph6.gv index dfd07d7e..ff97eebc 100644 --- a/chapter11/docs/graph6.gv +++ b/chapter11/docs/graph6.gv @@ -21,11 +21,12 @@ return v; <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD></TR> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">$mem</TD><TD PORT="p2">arg</TD></TR> </TABLE> </TD></TR> </TABLE>> ]; + MemMerge [ shape=box label="MemMerge" ]; Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ]; Con_4 [ label="#0" ]; new9 [ label="new S" ]; @@ -57,10 +58,10 @@ return v; </TD></TR> </TABLE>> ]; - Phi_230 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_230 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Store31 [ label=".f =" ]; Region32 [ shape=box style=filled fillcolor=yellow label="Region" ]; - Phi_233 [ style=filled fillcolor=lightyellow label="φ_$2" ]; + Phi_233 [ style=filled fillcolor=lightyellow label="MemPhi_2" ]; Sub35 [ label="-" ]; Con_36 [ label="#1" ]; Return37 [ shape=box style=filled fillcolor=yellow label="Return" ]; @@ -71,13 +72,13 @@ return v; Stop3 -> Return37[taillabel=0 color=red]; new9 -> Start2:p0[taillabel=0 color=green]; Store10 -> Start2:p0[taillabel=0 color=red]; - Store10 -> Start2:p2[taillabel=1 color=blue]; + Store10 -> Start2:p1[taillabel=1 color=blue]; Store10 -> new9[taillabel=2]; Store10 -> Con_4[taillabel=3]; Loop11 -> Start2:p0[taillabel=1 color=red]; Loop11 -> Region32[taillabel=2 color=red constraint=false]; Phi_arg13 -> Loop11 [style=dotted taillabel=0]; - Phi_arg13 -> Start2:p1[taillabel=1]; + Phi_arg13 -> Start2:p2[taillabel=1]; Phi_arg13 -> Sub35[taillabel=2 constraint=false]; LT14 -> Loop11[taillabel=0 color=red]; LT14 -> Con_4[taillabel=1]; @@ -85,7 +86,7 @@ return v; If16 -> Loop11[taillabel=0 color=red]; If16 -> LT14[taillabel=1]; Div21 -> Start2:p0[taillabel=0 color=red]; - Div21 -> Start2:p1[taillabel=1]; + Div21 -> Start2:p2[taillabel=1]; Div21 -> Con_22[taillabel=2]; EQ23 -> If16:p0[taillabel=0 color=red]; EQ23 -> Phi_arg13[taillabel=1]; @@ -108,6 +109,9 @@ return v; Sub35 -> Phi_arg13[taillabel=1]; Sub35 -> Con_36[taillabel=2]; Return37 -> If16:p1[taillabel=0 color=red]; - Return37 -> new9[taillabel=1]; - Return37 -> Phi_230[taillabel=2 color=blue]; + Return37 -> new9[taillabel=2]; + Return37 -> MemMerge[taillabel=1 color=blue]; + MemMerge -> Start2:p1[taillabel=1 color=blue]; + MemMerge -> Phi_230[taillabel=2 color=blue]; + MemMerge -> If16:p1[taillabel=0 color=green]; } diff --git a/chapter11/docs/graph6.svg b/chapter11/docs/graph6.svg index 354f5d2f..8b8bb190 100644 --- a/chapter11/docs/graph6.svg +++ b/chapter11/docs/graph6.svg @@ -1,437 +1,471 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- 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)"> +<svg width="384pt" height="889pt" + viewBox="0.00 0.00 384.00 889.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 885)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-876 378,-876 378,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-885 380,-885 380,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"/> +<polygon fill="none" stroke="black" points="8,-8 8,-873 368,-873 368,-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> +<polygon fill="yellow" stroke="none" points="172.38,-834.5 172.38,-861 277.62,-861 277.62,-834.5 172.38,-834.5"/> +<polygon fill="none" stroke="black" points="172.38,-834.5 172.38,-861 277.62,-861 277.62,-834.5 172.38,-834.5"/> +<text text-anchor="start" x="212.25" y="-842.7" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="172.38,-802 172.38,-834.5 277.62,-834.5 277.62,-802 172.38,-802"/> +<polygon fill="yellow" stroke="none" points="177.38,-807 177.38,-829.5 208.12,-829.5 208.12,-807 177.38,-807"/> +<polygon fill="none" stroke="black" points="177.38,-807 177.38,-829.5 208.12,-829.5 208.12,-807 177.38,-807"/> +<text text-anchor="start" x="180.38" y="-813.2" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="208.12,-807 208.12,-829.5 249.38,-829.5 249.38,-807 208.12,-807"/> +<text text-anchor="start" x="211.12" y="-813.2" font-family="Times New Roman,serif" font-size="14.00">$mem</text> +<polygon fill="none" stroke="black" points="249.38,-807 249.38,-829.5 272.62,-829.5 272.62,-807 249.38,-807"/> +<text text-anchor="start" x="252.38" y="-813.2" font-family="Times New Roman,serif" font-size="14.00">arg</text> +</g> +<!-- MemMerge --> +<g id="node2" class="node"> +<title>MemMerge</title> +<polygon fill="none" stroke="black" points="333,-371 251,-371 251,-335 333,-335 333,-371"/> +<text text-anchor="middle" x="292" y="-347.95" font-family="Times New Roman,serif" font-size="14.00">MemMerge</text> +</g> +<!-- MemMerge->Start2 --> +<g id="edge43" class="edge"> +<title>MemMerge->Start2:p1</title> +<path fill="none" stroke="blue" d="M307.5,-371.34C315.32,-381.11 324.15,-393.96 329,-407 361.8,-495.22 367.07,-526.05 347,-618 331.99,-686.78 323.62,-705.97 281,-762 265.35,-782.58 238.46,-778 230.83,-794.94"/> +<polygon fill="blue" stroke="blue" points="227.43,-794.04 229.03,-804.51 234.31,-795.33 227.43,-794.04"/> +<text text-anchor="middle" x="305.25" y="-373.49" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- If16 --> +<g id="node10" class="node"> +<title>If16</title> +<polygon fill="yellow" stroke="none" points="236,-443.5 236,-470 312,-470 312,-443.5 236,-443.5"/> +<polygon fill="none" stroke="black" points="236,-443.5 236,-470 312,-470 312,-443.5 236,-443.5"/> +<text text-anchor="start" x="269.5" y="-451.7" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="236,-411 236,-443.5 312,-443.5 312,-411 236,-411"/> +<polygon fill="yellow" stroke="none" points="241,-416 241,-438.5 272.5,-438.5 272.5,-416 241,-416"/> +<polygon fill="none" stroke="black" points="241,-416 241,-438.5 272.5,-438.5 272.5,-416 241,-416"/> +<text text-anchor="start" x="244" y="-422.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="272.5,-416 272.5,-438.5 307,-438.5 307,-416 272.5,-416"/> +<polygon fill="none" stroke="black" points="272.5,-416 272.5,-438.5 307,-438.5 307,-416 272.5,-416"/> +<text text-anchor="start" x="275.5" y="-422.2" font-family="Times New Roman,serif" font-size="14.00">False</text> +</g> +<!-- MemMerge->If16 --> +<g id="edge45" class="edge"> +<title>MemMerge->If16:p1</title> +<path fill="none" stroke="green" d="M291.02,-371.35C290.56,-380.5 290.08,-392.19 289.86,-403.68"/> +<polygon fill="green" stroke="green" points="286.37,-403.45 289.77,-413.49 293.36,-403.52 286.37,-403.45"/> +<text text-anchor="middle" x="288.77" y="-373.5" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Phi_230 --> +<g id="node16" class="node"> +<title>Phi_230</title> +<ellipse fill="lightyellow" stroke="black" cx="109" cy="-600" rx="52.89" ry="18"/> +<text text-anchor="middle" x="109" y="-594.95" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> +</g> +<!-- MemMerge->Phi_230 --> +<g id="edge44" class="edge"> +<title>MemMerge->Phi_230</title> +<path fill="none" stroke="blue" d="M262.46,-371.47C248.23,-380.82 231.57,-393.24 219,-407 195.6,-432.6 205.05,-451.1 179,-474 134.6,-513.03 57.61,-467.89 57,-527"/> +<text text-anchor="middle" x="260.21" y="-373.62" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Stop3 --> -<g id="node2" class="node"> +<g id="node3" 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> +<polygon fill="yellow" stroke="black" points="260,-196 206,-196 206,-160 260,-160 260,-196"/> +<text text-anchor="middle" x="233" y="-172.95" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return37 --> -<g id="node21" class="node"> +<g id="node22" 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> +<polygon fill="yellow" stroke="black" points="260,-283.5 206,-283.5 206,-247.5 260,-247.5 260,-283.5"/> +<text text-anchor="middle" x="233" y="-260.45" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return37 --> <g id="edge1" class="edge"> <title>Stop3->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> +<path fill="none" stroke="red" d="M233,-196.3C233,-207.66 233,-222.78 233,-235.9"/> +<polygon fill="red" stroke="red" points="229.5,-235.71 233,-245.71 236.5,-235.71 229.5,-235.71"/> +<text text-anchor="middle" x="230.75" y="-198.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_4 --> -<g id="node3" class="node"> +<g id="node4" 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> +<ellipse fill="none" stroke="black" cx="239" cy="-744" rx="27" ry="18"/> +<text text-anchor="middle" x="239" y="-738.95" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- new9 --> -<g id="node4" class="node"> +<g id="node5" 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> +<ellipse fill="none" stroke="black" cx="140" cy="-744" rx="33.95" ry="18"/> +<text text-anchor="middle" x="140" y="-738.95" font-family="Times New Roman,serif" font-size="14.00">new S</text> </g> <!-- new9->Start2 --> <g id="edge2" class="edge"> <title>new9->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> +<path fill="none" stroke="green" d="M161.46,-758.23C173.32,-767.03 186.56,-779.76 191.11,-795.03"/> +<polygon fill="green" stroke="green" points="187.59,-795.13 192.53,-804.5 194.51,-794.1 187.59,-795.13"/> +<text text-anchor="middle" x="163.71" y="-760.38" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store10 --> -<g id="node5" class="node"> +<g id="node6" 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> +<ellipse fill="none" stroke="black" cx="166" cy="-672" rx="27" ry="18"/> +<text text-anchor="middle" x="166" y="-666.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store10->Start2 --> <g id="edge3" class="edge"> <title>Store10->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> +<path fill="none" stroke="red" d="M172.35,-689.96C175.97,-700.25 180.31,-713.73 183,-726 189.8,-757.02 192.21,-767.77 192.66,-794.78"/> +<polygon fill="red" stroke="red" points="189.16,-794.51 192.74,-804.49 196.16,-794.46 189.16,-794.51"/> +<text text-anchor="middle" x="170.1" y="-692.11" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store10->Con_4 --> <g id="edge6" class="edge"> <title>Store10->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> +<path fill="none" stroke="black" d="M180.77,-687.17C190.8,-696.78 204.26,-709.69 215.72,-720.68"/> +<polygon fill="black" stroke="black" points="213.27,-723.17 222.91,-727.57 218.11,-718.12 213.27,-723.17"/> +<text text-anchor="middle" x="178.52" y="-689.32" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store10->new9 --> <g id="edge5" class="edge"> <title>Store10->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> +<path fill="none" stroke="black" d="M159.71,-689.95C156.86,-697.6 153.43,-706.84 150.24,-715.44"/> +<polygon fill="black" stroke="black" points="146.96,-714.2 146.76,-724.79 153.53,-716.64 146.96,-714.2"/> +<text text-anchor="middle" x="157.46" y="-692.1" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Loop11 --> -<g id="node6" class="node"> +<g id="node7" 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> +<polygon fill="yellow" stroke="black" points="338,-618 284,-618 284,-582 338,-582 338,-618"/> +<text text-anchor="middle" x="311" y="-594.95" font-family="Times New Roman,serif" font-size="14.00">Loop</text> </g> <!-- Loop11->Start2 --> <g id="edge7" class="edge"> <title>Loop11->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> +<path fill="none" stroke="red" d="M311.62,-618.44C311.85,-650.26 308.1,-718.44 275,-762 252.66,-791.4 204.87,-770.45 194.68,-794.8"/> +<polygon fill="red" stroke="red" points="191.26,-794.06 193.01,-804.51 198.16,-795.25 191.26,-794.06"/> +<text text-anchor="middle" x="309.37" y="-620.59" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32 --> -<g id="node17" class="node"> +<g id="node18" 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> +<polygon fill="yellow" stroke="black" points="215.5,-124 160.5,-124 160.5,-88 215.5,-88 215.5,-124"/> +<text text-anchor="middle" x="188" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">Region</text> </g> <!-- Loop11->Region32 --> <g id="edge8" class="edge"> <title>Loop11->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> +<path fill="none" stroke="red" d="M317.97,-581.54C334.1,-538.52 370.49,-424.48 342,-335 324.98,-281.54 311.59,-268.53 269,-232 241.84,-208.71 217.32,-225.45 197,-196 184.99,-178.59 183.21,-154.52 184.18,-135.8"/> +<polygon fill="red" stroke="red" points="187.66,-136.16 185,-125.91 180.68,-135.58 187.66,-136.16"/> +<text text-anchor="middle" x="315.72" y="-573.94" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_arg13 --> -<g id="node7" class="node"> +<g id="node8" 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> +<ellipse fill="lightyellow" stroke="black" cx="213" cy="-600" rx="32.93" ry="18"/> +<text text-anchor="middle" x="213" y="-594.95" font-family="Times New Roman,serif" font-size="14.00">φ_arg</text> </g> <!-- Phi_arg13->Start2 --> <g id="edge10" class="edge"> -<title>Phi_arg13->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> +<title>Phi_arg13->Start2:p2</title> +<path fill="none" stroke="black" d="M224.02,-617.05C239.03,-639.99 265.16,-684.02 275,-726 278.65,-741.58 277.45,-746.19 275,-762 272.54,-777.84 265.38,-783.26 262.36,-794.66"/> +<polygon fill="black" stroke="black" points="258.9,-794.15 261.18,-804.5 265.85,-794.99 258.9,-794.15"/> +<text text-anchor="middle" x="221.77" y="-619.2" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_arg13->Loop11 --> <g id="edge9" class="edge"> <title>Phi_arg13->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> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M246.3,-600C254.97,-600 263.64,-600 272.31,-600"/> +<polygon fill="black" stroke="black" points="272.19,-603.5 282.19,-600 272.19,-596.5 272.19,-603.5"/> +<text text-anchor="middle" x="248.55" y="-592.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35 --> -<g id="node19" class="node"> +<g id="node20" 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">-</text> +<ellipse fill="none" stroke="black" cx="188" cy="-34" rx="27" ry="18"/> +<text text-anchor="middle" x="188" y="-28.95" font-family="Times New Roman,serif" font-size="14.00">-</text> </g> <!-- LT14 --> -<g id="node8" class="node"> +<g id="node9" 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"><</text> +<ellipse fill="none" stroke="black" cx="265" cy="-528" rx="27" ry="18"/> +<text text-anchor="middle" x="265" y="-522.95" font-family="Times New Roman,serif" font-size="14.00"><</text> </g> <!-- LT14->Con_4 --> <g id="edge13" class="edge"> <title>LT14->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> +<path fill="none" stroke="black" d="M263.12,-546.4C261.17,-564.35 257.99,-593.15 255,-618 251.03,-651.04 246.13,-688.95 242.8,-714.27"/> +<polygon fill="black" stroke="black" points="239.34,-713.75 241.51,-724.12 246.28,-714.66 239.34,-713.75"/> +<text text-anchor="middle" x="260.87" y="-548.55" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- LT14->Loop11 --> <g id="edge12" class="edge"> <title>LT14->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> +<path fill="none" stroke="red" d="M275.44,-544.88C280.73,-552.94 287.31,-562.95 293.36,-572.16"/> +<polygon fill="red" stroke="red" points="290.39,-574.01 298.81,-580.44 296.24,-570.16 290.39,-574.01"/> +<text text-anchor="middle" x="277.69" y="-547.03" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- LT14->Phi_arg13 --> <g id="edge14" class="edge"> <title>LT14->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> +<path fill="none" stroke="black" d="M253.46,-544.54C247.02,-553.2 238.85,-564.21 231.53,-574.05"/> +<polygon fill="black" stroke="black" points="228.92,-571.69 225.77,-581.81 234.54,-575.87 228.92,-571.69"/> +<text text-anchor="middle" x="255.71" y="-546.69" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If16->Loop11 --> <g id="edge15" class="edge"> <title>If16->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> +<path fill="none" stroke="red" d="M288.71,-473.68C293.31,-484.96 297.98,-497.84 301,-510 305.94,-529.86 308.44,-552.83 309.71,-570.45"/> +<polygon fill="red" stroke="red" points="306.2,-570.42 310.31,-580.19 313.19,-569.99 306.2,-570.42"/> +<text text-anchor="middle" x="286.46" y="-475.83" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If16->LT14 --> <g id="edge16" class="edge"> <title>If16->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> +<path fill="none" stroke="black" d="M270.6,-473.82C269.74,-481.99 268.82,-490.69 267.98,-498.65"/> +<polygon fill="black" stroke="black" points="264.52,-498.15 266.95,-508.47 271.48,-498.89 264.52,-498.15"/> +<text text-anchor="middle" x="268.35" y="-475.97" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Div21 --> -<g id="node10" class="node"> +<g id="node11" 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> +<ellipse fill="none" stroke="black" cx="61" cy="-744" rx="27" ry="18"/> +<text text-anchor="middle" x="61" y="-738.95" font-family="Times New Roman,serif" font-size="14.00">//</text> </g> <!-- Div21->Start2 --> <g id="edge17" class="edge"> <title>Div21->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> +<path fill="none" stroke="red" d="M73.85,-760.18C91.84,-779.79 126.72,-812.07 165.38,-817.47"/> +<polygon fill="red" stroke="red" points="164.64,-820.93 174.87,-818.14 165.14,-813.95 164.64,-820.93"/> +<text text-anchor="middle" x="71.6" y="-762.33" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Div21->Start2 --> <g id="edge18" class="edge"> -<title>Div21->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> +<title>Div21->Start2:p2</title> +<path fill="none" stroke="black" d="M82.05,-755.71C86.89,-757.96 92.07,-760.19 97,-762 163.97,-786.57 250.88,-736.57 260.18,-794.78"/> +<polygon fill="black" stroke="black" points="256.67,-794.77 260.89,-804.49 263.65,-794.26 256.67,-794.77"/> +<text text-anchor="middle" x="84.3" y="-757.86" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Con_22 --> -<g id="node11" class="node"> +<g id="node12" 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> +<ellipse fill="none" stroke="black" cx="61" cy="-831.5" rx="27" ry="18"/> +<text text-anchor="middle" x="61" y="-826.45" font-family="Times New Roman,serif" font-size="14.00">#3</text> </g> <!-- Div21->Con_22 --> <g id="edge19" class="edge"> <title>Div21->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> +<path fill="none" stroke="black" d="M61,-762.3C61,-773.66 61,-788.78 61,-801.9"/> +<polygon fill="black" stroke="black" points="57.5,-801.71 61,-811.71 64.5,-801.71 57.5,-801.71"/> +<text text-anchor="middle" x="58.75" y="-764.45" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- EQ23 --> -<g id="node12" class="node"> +<g id="node13" 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> +<ellipse fill="none" stroke="black" cx="165" cy="-353" rx="27" ry="18"/> +<text text-anchor="middle" x="165" y="-347.95" font-family="Times New Roman,serif" font-size="14.00">==</text> </g> <!-- EQ23->Phi_arg13 --> <g id="edge21" class="edge"> <title>EQ23->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> +<path fill="none" stroke="black" d="M169.9,-371.1C172.77,-381.44 176.34,-394.92 179,-407 191.71,-464.72 202.9,-533.02 208.73,-570.62"/> +<polygon fill="black" stroke="black" points="205.22,-570.85 210.2,-580.2 212.14,-569.78 205.22,-570.85"/> +<text text-anchor="middle" x="167.65" y="-373.25" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- EQ23->If16 --> <g id="edge20" class="edge"> <title>EQ23->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> +<path fill="none" stroke="red" d="M178.1,-368.82C192.8,-385.21 216.42,-410.75 230.4,-421.83"/> +<polygon fill="red" stroke="red" points="228.25,-424.63 238.68,-426.51 231.7,-418.54 228.25,-424.63"/> +<text text-anchor="middle" x="180.35" y="-370.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_24 --> -<g id="node13" class="node"> +<g id="node14" 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> +<ellipse fill="none" stroke="black" cx="143" cy="-440.5" rx="27" ry="18"/> +<text text-anchor="middle" x="143" y="-435.45" font-family="Times New Roman,serif" font-size="14.00">#5</text> </g> <!-- EQ23->Con_24 --> <g id="edge22" class="edge"> <title>EQ23->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> +<path fill="none" stroke="black" d="M160.65,-370.89C157.69,-382.41 153.69,-397.94 150.25,-411.31"/> +<polygon fill="black" stroke="black" points="146.89,-410.33 147.79,-420.88 153.67,-412.07 146.89,-410.33"/> +<text text-anchor="middle" x="158.4" y="-373.04" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- If25 --> -<g id="node14" class="node"> +<g id="node15" 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> +<polygon fill="yellow" stroke="none" points="104,-268.5 104,-295 180,-295 180,-268.5 104,-268.5"/> +<polygon fill="none" stroke="black" points="104,-268.5 104,-295 180,-295 180,-268.5 104,-268.5"/> +<text text-anchor="start" x="137.5" y="-276.7" font-family="Times New Roman,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="104,-236 104,-268.5 180,-268.5 180,-236 104,-236"/> +<polygon fill="yellow" stroke="none" points="109,-241 109,-263.5 140.5,-263.5 140.5,-241 109,-241"/> +<polygon fill="none" stroke="black" points="109,-241 109,-263.5 140.5,-263.5 140.5,-241 109,-241"/> +<text text-anchor="start" x="112" y="-247.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="140.5,-241 140.5,-263.5 175,-263.5 175,-241 140.5,-241"/> +<polygon fill="none" stroke="black" points="140.5,-241 140.5,-263.5 175,-263.5 175,-241 140.5,-241"/> +<text text-anchor="start" x="143.5" y="-247.2" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- If25->If16 --> <g id="edge23" class="edge"> <title>If25->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> +<path fill="none" stroke="red" d="M170.91,-298.68C180.72,-309.96 191.57,-322.85 201,-335 203.66,-338.43 237.81,-384.19 251.31,-405.07"/> +<polygon fill="red" stroke="red" points="248.15,-406.58 256.02,-413.67 254.29,-403.22 248.15,-406.58"/> +<text text-anchor="middle" x="168.66" y="-300.83" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- If25->EQ23 --> <g id="edge24" class="edge"> <title>If25->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> +<path fill="none" stroke="black" d="M150.7,-298.82C152.92,-307.08 155.29,-315.9 157.45,-323.93"/> +<polygon fill="black" stroke="black" points="154.05,-324.76 160.03,-333.51 160.81,-322.94 154.05,-324.76"/> +<text text-anchor="middle" x="148.45" y="-300.97" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Store10 --> <g id="edge26" class="edge"> <title>Phi_230->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> +<path fill="none" stroke="blue" d="M122.51,-617.59C129.69,-626.41 138.66,-637.42 146.57,-647.14"/> +<polygon fill="blue" stroke="blue" points="143.77,-649.24 152.8,-654.79 149.2,-644.82 143.77,-649.24"/> +<text text-anchor="middle" x="120.26" y="-619.74" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_230->Loop11 --> <g id="edge25" class="edge"> <title>Phi_230->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> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M133.84,-583.77C146.98,-576.14 163.74,-567.89 180,-564 215.01,-555.63 226.74,-552.95 261,-564 268.52,-566.43 275.87,-570.45 282.52,-574.95"/> +<polygon fill="black" stroke="black" points="280.35,-577.71 290.47,-580.85 284.52,-572.08 280.35,-577.71"/> +<text text-anchor="middle" x="131.59" y="-576.17" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Phi_233 --> -<g id="node18" class="node"> +<g id="node19" 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> +<ellipse fill="lightyellow" stroke="black" cx="69" cy="-106" rx="52.89" ry="18"/> +<text text-anchor="middle" x="69" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">MemPhi_2</text> </g> <!-- Store31 --> -<g id="node16" class="node"> +<g id="node17" 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> +<ellipse fill="none" stroke="black" cx="58" cy="-178" rx="27" ry="18"/> +<text text-anchor="middle" x="58" y="-172.95" font-family="Times New Roman,serif" font-size="14.00">.f =</text> </g> <!-- Store31->new9 --> <g id="edge30" class="edge"> <title>Store31->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> +<path fill="none" stroke="black" d="M57,-354C19.45,-421.68 37,-449.6 37,-527 37,-527 37,-527 37,-601 37,-651.78 80.7,-696.66 111.17,-721.77"/> +<polygon fill="black" stroke="black" points="108.95,-724.48 118.96,-727.98 113.32,-719.01 108.95,-724.48"/> +<path fill="none" stroke="black" d="M57,-266.5C57.21,-285.5 66.47,-335.53 57,-352"/> +<path fill="none" stroke="black" d="M57.56,-196.36C57.19,-213.63 56.74,-240.9 57,-264.5"/> +<text text-anchor="middle" x="54.75" y="-346.4" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Store31->Div21 --> <g id="edge31" class="edge"> <title>Store31->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> +<path fill="none" stroke="black" d="M51.23,-195.87C39.58,-226.46 17,-293.35 17,-352 17,-352 17,-352 17,-601 17,-641.11 18.86,-652.1 32,-690 35.19,-699.2 39.88,-708.69 44.56,-717.06"/> +<polygon fill="black" stroke="black" points="41.52,-718.8 49.61,-725.64 47.56,-715.25 41.52,-718.8"/> +<text text-anchor="middle" x="48.98" y="-198.02" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> </g> <!-- Store31->If25 --> <g id="edge28" class="edge"> <title>Store31->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> +<path fill="none" stroke="red" d="M61.66,-195.99C66.57,-214.42 77.07,-242.26 96.81,-250.12"/> +<polygon fill="red" stroke="red" points="96.03,-253.53 106.51,-251.97 97.35,-246.66 96.03,-253.53"/> +<text text-anchor="middle" x="59.41" y="-198.14" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Store31->Phi_230 --> <g id="edge29" class="edge"> <title>Store31->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> +<path fill="none" stroke="blue" d="M57,-529C56.5,-546.83 67.47,-563.07 79.46,-575.42"/> +<polygon fill="blue" stroke="blue" points="77.03,-577.93 86.7,-582.27 81.85,-572.85 77.03,-577.93"/> +<path fill="none" stroke="blue" d="M57,-266.5C69.32,-381.62 60.25,-411.27 57,-527"/> +<text text-anchor="middle" x="54.75" y="-521.4" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Region32->If25 --> <g id="edge32" class="edge"> <title>Region32->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> +<path fill="none" stroke="red" d="M173.65,-124.25C156.55,-146.45 129.75,-187.13 125.37,-228.59"/> +<polygon fill="red" stroke="red" points="121.87,-228.31 124.83,-238.49 128.86,-228.69 121.87,-228.31"/> +<text text-anchor="middle" x="171.4" y="-126.4" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Region32->If25 --> +<g id="edge33" class="edge"> +<title>Region32->If25:p1</title> +<path fill="none" stroke="red" d="M181.44,-124.35C173.32,-147.27 160.3,-189.33 158.08,-228.71"/> +<polygon fill="red" stroke="red" points="154.59,-228.39 157.79,-238.49 161.58,-228.59 154.59,-228.39"/> +<text text-anchor="middle" x="179.19" y="-126.5" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Phi_230 --> <g id="edge36" class="edge"> <title>Phi_233->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> +<path fill="none" stroke="blue" d="M84.51,-133.96C88.4,-142.07 92.02,-151.16 94,-160 97.5,-175.61 98.33,-180.6 94,-196 88.92,-214.05 77.08,-213.95 72,-232 55.48,-290.7 59.98,-384.37 92,-546 93.66,-554.38 96.2,-563.28 98.81,-571.36"/> +<polygon fill="blue" stroke="blue" points="87.75,-132.6 80.06,-125.32 81.53,-135.81 87.75,-132.6"/> +<polygon fill="blue" stroke="blue" points="95.44,-572.31 101.98,-580.64 102.06,-570.05 95.44,-572.31"/> +<text text-anchor="middle" x="77.12" y="-126.12" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Phi_233->Store31 --> <g id="edge35" class="edge"> <title>Phi_233->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> +<path fill="none" stroke="blue" d="M66.28,-124.3C65.12,-131.68 63.74,-140.48 62.44,-148.75"/> +<polygon fill="blue" stroke="blue" points="59.02,-147.98 60.92,-158.4 65.93,-149.07 59.02,-147.98"/> +<text text-anchor="middle" x="64.03" y="-126.45" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Phi_233->Region32 --> <g id="edge34" class="edge"> <title>Phi_233->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> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M121.99,-106C130.94,-106 139.88,-106 148.82,-106"/> +<polygon fill="black" stroke="black" points="148.64,-109.5 158.64,-106 148.64,-102.5 148.64,-109.5"/> +<text text-anchor="middle" x="124.24" y="-98.4" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Sub35->Phi_arg13 --> <g id="edge38" class="edge"> <title>Sub35->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> +<path fill="none" stroke="black" d="M170.02,-59.56C163.96,-68.33 157.37,-78.41 152,-88 143.43,-103.32 90.69,-214.84 87,-232 73.48,-294.79 101.52,-461.34 107,-474 125.1,-515.81 162.03,-554.22 187.15,-577.13"/> +<polygon fill="black" stroke="black" points="172.77,-61.74 175.68,-51.55 167.05,-57.7 172.77,-61.74"/> +<polygon fill="black" stroke="black" points="184.57,-579.51 194.36,-583.56 189.22,-574.29 184.57,-579.51"/> +<text text-anchor="middle" x="174.31" y="-52.47" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Sub35->Region32 --> <g id="edge37" class="edge"> <title>Sub35->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> +<path fill="none" stroke="red" d="M188,-52.3C188,-59.59 188,-68.27 188,-76.46"/> +<polygon fill="red" stroke="red" points="184.5,-76.38 188,-86.38 191.5,-76.38 184.5,-76.38"/> +<text text-anchor="middle" x="185.75" y="-54.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Con_36 --> -<g id="node20" class="node"> +<g id="node21" 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> +<ellipse fill="none" stroke="black" cx="261" cy="-106" rx="27" ry="18"/> +<text text-anchor="middle" x="261" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">#1</text> </g> <!-- Sub35->Con_36 --> <g id="edge39" class="edge"> <title>Sub35->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> +<path fill="none" stroke="black" d="M202.77,-49.17C212.8,-58.78 226.26,-71.69 237.72,-82.68"/> +<polygon fill="black" stroke="black" points="235.27,-85.17 244.91,-89.57 240.11,-80.12 235.27,-85.17"/> +<text text-anchor="middle" x="200.52" y="-51.32" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Return37->MemMerge --> +<g id="edge42" class="edge"> +<title>Return37->MemMerge</title> +<path fill="none" stroke="blue" d="M244.94,-283.8C253.18,-295.74 264.29,-311.84 273.64,-325.4"/> +<polygon fill="blue" stroke="blue" points="270.66,-327.24 279.22,-333.48 276.42,-323.26 270.66,-327.24"/> +<text text-anchor="middle" x="242.69" y="-285.95" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Return37->new9 --> <g id="edge41" class="edge"> <title>Return37->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> +<path fill="none" stroke="black" d="M216.48,-283.78C210.69,-289.16 203.9,-294.79 197,-299 140.21,-333.67 89.27,-293.82 57,-352"/> +<text text-anchor="middle" x="214.23" y="-285.93" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Return37->If16 --> <g id="edge40" class="edge"> <title>Return37->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->Phi_230 --> -<g id="edge42" class="edge"> -<title>Return37->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> +<path fill="none" stroke="red" d="M230.82,-283.79C228.88,-305.37 228.21,-342.88 242,-371 252.72,-392.86 279.35,-388.61 287.4,-404.08"/> +<polygon fill="red" stroke="red" points="283.91,-404.48 289.43,-413.52 290.75,-403.01 283.91,-404.48"/> +<text text-anchor="middle" x="228.57" y="-285.94" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> </g> </svg> diff --git a/chapter11/docs/graph8.gv b/chapter11/docs/graph8.gv index 1a7b231d..431cef46 100644 --- a/chapter11/docs/graph8.gv +++ b/chapter11/docs/graph8.gv @@ -39,7 +39,7 @@ return 0; Never18 -> Con_4[taillabel=1]; Stop3 -> Return21[taillabel=0 color=red]; Return21 -> Never18:p0[taillabel=0 color=red]; - Return21 -> Con_4[taillabel=1]; + Return21 -> Con_4[taillabel=2]; Loop8 -> Start2:p0[taillabel=1 color=red]; Loop8 -> Never18:p1[taillabel=2 color=red constraint=false]; } diff --git a/chapter11/docs/graph8.svg b/chapter11/docs/graph8.svg index c577cf84..a89eeeb5 100644 --- a/chapter11/docs/graph8.svg +++ b/chapter11/docs/graph8.svg @@ -1,115 +1,115 @@ <?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) +<!-- Generated by graphviz version 12.2.0 (20241103.1931) --> <!-- Title: chapter11 Pages: 1 --> -<svg width="170pt" height="420pt" - viewBox="0.00 0.00 170.00 420.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 416)"> +<svg width="166pt" height="426pt" + viewBox="0.00 0.00 166.00 426.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 422)"> <title>chapter11</title> -<polygon fill="white" stroke="transparent" points="-4,4 -4,-416 166,-416 166,4 -4,4"/> +<polygon fill="white" stroke="none" points="-4,4 -4,-422 162,-422 162,4 -4,4"/> <g id="clust1" class="cluster"> <title>cluster_Nodes</title> -<polygon fill="none" stroke="black" points="8,-8 8,-404 154,-404 154,-8 8,-8"/> +<polygon fill="none" stroke="black" points="8,-8 8,-410 150,-410 150,-8 8,-8"/> </g> <!-- Never18 --> <g id="node1" class="node"> <title>Never18</title> -<polygon fill="yellow" stroke="transparent" points="24,-195 24,-220 118,-220 118,-195 24,-195"/> -<polygon fill="none" stroke="black" points="24,-195 24,-220 118,-220 118,-195 24,-195"/> -<text text-anchor="start" x="49" y="-203.8" font-family="Times,serif" font-size="14.00">Never</text> -<polygon fill="none" stroke="black" points="24,-164 24,-195 118,-195 118,-164 24,-164"/> -<polygon fill="yellow" stroke="transparent" points="29,-169 29,-190 69,-190 69,-169 29,-169"/> -<polygon fill="none" stroke="black" points="29,-169 29,-190 69,-190 69,-169 29,-169"/> -<text text-anchor="start" x="32" y="-175.8" font-family="Times,serif" font-size="14.00">True</text> -<polygon fill="yellow" stroke="transparent" points="69,-169 69,-190 113,-190 113,-169 69,-169"/> -<polygon fill="none" stroke="black" points="69,-169 69,-190 113,-190 113,-169 69,-169"/> -<text text-anchor="start" x="72" y="-175.8" font-family="Times,serif" font-size="14.00">False</text> +<polygon fill="yellow" stroke="none" points="24,-196.5 24,-223 100,-223 100,-196.5 24,-196.5"/> +<polygon fill="none" stroke="black" points="24,-196.5 24,-223 100,-223 100,-196.5 24,-196.5"/> +<text text-anchor="start" x="45.5" y="-204.7" font-family="Times New Roman,serif" font-size="14.00">Never</text> +<polygon fill="none" stroke="black" points="24,-164 24,-196.5 100,-196.5 100,-164 24,-164"/> +<polygon fill="yellow" stroke="none" points="29,-169 29,-191.5 60.5,-191.5 60.5,-169 29,-169"/> +<polygon fill="none" stroke="black" points="29,-169 29,-191.5 60.5,-191.5 60.5,-169 29,-169"/> +<text text-anchor="start" x="32" y="-175.2" font-family="Times New Roman,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="none" points="60.5,-169 60.5,-191.5 95,-191.5 95,-169 60.5,-169"/> +<polygon fill="none" stroke="black" points="60.5,-169 60.5,-191.5 95,-191.5 95,-169 60.5,-169"/> +<text text-anchor="start" x="63.5" y="-175.2" font-family="Times New Roman,serif" font-size="14.00">False</text> </g> <!-- Con_4 --> <g id="node4" class="node"> <title>Con_4</title> -<ellipse fill="none" stroke="black" cx="119" cy="-278" rx="27" ry="18"/> -<text text-anchor="middle" x="119" y="-274.3" font-family="Times,serif" font-size="14.00">#0</text> +<ellipse fill="none" stroke="black" cx="115" cy="-281" rx="27" ry="18"/> +<text text-anchor="middle" x="115" y="-275.95" font-family="Times New Roman,serif" font-size="14.00">#0</text> </g> <!-- Never18->Con_4 --> <g id="edge2" class="edge"> <title>Never18->Con_4</title> -<path fill="none" stroke="black" d="M88.87,-224.28C94.12,-233.46 99.78,-243.37 104.77,-252.1"/> -<polygon fill="black" stroke="black" points="101.86,-254.06 109.86,-261.01 107.94,-250.59 101.86,-254.06"/> -<text text-anchor="middle" x="85.87" y="-226.88" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M82.04,-226.82C87.68,-235.93 93.75,-245.71 99.11,-254.37"/> +<polygon fill="black" stroke="black" points="95.99,-255.97 104.23,-262.63 101.94,-252.28 95.99,-255.97"/> +<text text-anchor="middle" x="79.79" y="-228.97" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> <!-- Loop8 --> <g id="node6" class="node"> <title>Loop8</title> -<polygon fill="yellow" stroke="black" points="74,-296 20,-296 20,-260 74,-260 74,-296"/> -<text text-anchor="middle" x="47" y="-274.3" font-family="Times,serif" font-size="14.00">Loop</text> +<polygon fill="yellow" stroke="black" points="70,-299 16,-299 16,-263 70,-263 70,-299"/> +<text text-anchor="middle" x="43" y="-275.95" font-family="Times New Roman,serif" font-size="14.00">Loop</text> </g> <!-- Never18->Loop8 --> <g id="edge1" class="edge"> <title>Never18->Loop8</title> -<path fill="none" stroke="red" d="M62.06,-224.28C59.66,-232.67 57.09,-241.68 54.76,-249.84"/> -<polygon fill="red" stroke="red" points="51.35,-249.02 51.97,-259.6 58.09,-250.94 51.35,-249.02"/> -<text text-anchor="middle" x="59.06" y="-226.88" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M54.82,-226.82C52.98,-235.08 51.02,-243.9 49.24,-251.93"/> +<polygon fill="red" stroke="red" points="45.87,-250.97 47.11,-261.49 52.7,-252.49 45.87,-250.97"/> +<text text-anchor="middle" x="52.57" y="-228.97" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Start2 --> <g id="node2" class="node"> <title>Start2</title> -<polygon fill="yellow" stroke="transparent" points="24,-367 24,-392 74,-392 74,-367 24,-367"/> -<polygon fill="none" stroke="black" points="24,-367 24,-392 74,-392 74,-367 24,-367"/> -<text text-anchor="start" x="30.5" y="-375.8" font-family="Times,serif" font-size="14.00">Start</text> -<polygon fill="none" stroke="black" points="24,-336 24,-367 74,-367 74,-336 24,-336"/> -<polygon fill="yellow" stroke="transparent" points="29,-341 29,-362 69,-362 69,-341 29,-341"/> -<polygon fill="none" stroke="black" points="29,-341 29,-362 69,-362 69,-341 29,-341"/> -<text text-anchor="start" x="32" y="-347.8" font-family="Times,serif" font-size="14.00">$ctrl</text> +<polygon fill="yellow" stroke="none" points="23.62,-371.5 23.62,-398 64.38,-398 64.38,-371.5 23.62,-371.5"/> +<polygon fill="none" stroke="black" points="23.62,-371.5 23.62,-398 64.38,-398 64.38,-371.5 23.62,-371.5"/> +<text text-anchor="start" x="31.25" y="-379.7" font-family="Times New Roman,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="23.62,-339 23.62,-371.5 64.38,-371.5 64.38,-339 23.62,-339"/> +<polygon fill="yellow" stroke="none" points="28.62,-344 28.62,-366.5 59.38,-366.5 59.38,-344 28.62,-344"/> +<polygon fill="none" stroke="black" points="28.62,-344 28.62,-366.5 59.38,-366.5 59.38,-344 28.62,-344"/> +<text text-anchor="start" x="31.62" y="-350.2" font-family="Times New Roman,serif" font-size="14.00">$ctrl</text> </g> <!-- Stop3 --> <g id="node3" class="node"> <title>Stop3</title> -<polygon fill="yellow" stroke="black" points="108,-52 54,-52 54,-16 108,-16 108,-52"/> -<text text-anchor="middle" x="81" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text> +<polygon fill="yellow" stroke="black" points="107,-52 53,-52 53,-16 107,-16 107,-52"/> +<text text-anchor="middle" x="80" y="-28.95" font-family="Times New Roman,serif" font-size="14.00">Stop</text> </g> <!-- Return21 --> <g id="node5" class="node"> <title>Return21</title> -<polygon fill="yellow" stroke="black" points="114,-124 48,-124 48,-88 114,-88 114,-124"/> -<text text-anchor="middle" x="81" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text> +<polygon fill="yellow" stroke="black" points="107,-124 53,-124 53,-88 107,-88 107,-124"/> +<text text-anchor="middle" x="80" y="-100.95" font-family="Times New Roman,serif" font-size="14.00">Return</text> </g> <!-- Stop3->Return21 --> <g id="edge3" class="edge"> <title>Stop3->Return21</title> -<path fill="none" stroke="red" d="M81,-52.3C81,-60.02 81,-69.29 81,-77.89"/> -<polygon fill="red" stroke="red" points="77.5,-77.9 81,-87.9 84.5,-77.9 77.5,-77.9"/> -<text text-anchor="middle" x="78" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M80,-52.3C80,-59.59 80,-68.27 80,-76.46"/> +<polygon fill="red" stroke="red" points="76.5,-76.38 80,-86.38 83.5,-76.38 76.5,-76.38"/> +<text text-anchor="middle" x="77.75" y="-54.45" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Return21->Never18 --> <g id="edge4" class="edge"> <title>Return21->Never18:p0</title> -<path fill="none" stroke="red" d="M66.31,-124.18C59.67,-133.33 52.73,-145.27 50.1,-157.83"/> -<polygon fill="red" stroke="red" points="46.6,-157.68 49,-168 53.56,-158.43 46.6,-157.68"/> -<text text-anchor="middle" x="63.31" y="-126.78" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +<path fill="none" stroke="red" d="M63.41,-124.45C56.41,-133.22 49.19,-144.55 46.19,-156.68"/> +<polygon fill="red" stroke="red" points="42.73,-156.14 44.94,-166.5 49.68,-157.02 42.73,-156.14"/> +<text text-anchor="middle" x="61.16" y="-126.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> <!-- Return21->Con_4 --> <g id="edge5" class="edge"> <title>Return21->Con_4</title> -<path fill="none" stroke="black" d="M105.93,-124.14C117.06,-133.33 129,-145.71 135,-160 147.36,-189.44 138.76,-226.37 130.12,-250.77"/> -<polygon fill="black" stroke="black" points="126.74,-249.81 126.48,-260.41 133.29,-252.29 126.74,-249.81"/> -<text text-anchor="middle" x="102.93" y="-126.74" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="black" d="M96.04,-124.15C104.01,-133.88 112.83,-146.73 117,-160 126.51,-190.23 124.01,-226.9 120.42,-251.69"/> +<polygon fill="black" stroke="black" points="117,-250.9 118.86,-261.33 123.91,-252.02 117,-250.9"/> +<text text-anchor="middle" x="93.79" y="-126.3" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Loop8->Never18 --> <g id="edge7" class="edge"> <title>Loop8->Never18:p1</title> -<path fill="none" stroke="red" d="M74.25,-262.42C94.74,-250.81 120.25,-234.78 126,-224 137.5,-202.43 143.04,-186.53 126,-169 118.29,-161.07 103.85,-156.04 96.15,-159.39"/> -<polygon fill="red" stroke="red" points="93.13,-157.62 91,-168 99.14,-161.22 93.13,-157.62"/> -<text text-anchor="middle" x="77.25" y="-256.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +<path fill="none" stroke="red" d="M66.89,-262.62C77.59,-253.37 89.1,-241.02 95,-227 100.86,-213.08 109.7,-194.71 106.13,-185.7"/> +<polygon fill="red" stroke="red" points="107.8,-182.63 97.33,-180.97 104.48,-188.79 107.8,-182.63"/> +<text text-anchor="middle" x="64.64" y="-255.02" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> <!-- Loop8->Start2 --> <g id="edge6" class="edge"> <title>Loop8->Start2:p0</title> -<path fill="none" stroke="red" d="M47.86,-296.09C48.28,-305.54 48.73,-317.77 48.92,-329.68"/> -<polygon fill="red" stroke="red" points="45.42,-330.03 49,-340 52.42,-329.97 45.42,-330.03"/> -<text text-anchor="middle" x="44.86" y="-298.69" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +<path fill="none" stroke="red" d="M43.44,-299.35C43.64,-308.51 43.85,-320.2 43.95,-331.69"/> +<polygon fill="red" stroke="red" points="40.45,-331.5 43.99,-341.49 47.45,-331.47 40.45,-331.5"/> +<text text-anchor="middle" x="41.19" y="-301.5" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> </g> </svg> |
