summaryrefslogtreecommitdiff
path: root/chapter12/docs/lattice.svg
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-02 16:21:02 -0700
committerCliff Click <cliffc@acm.org>2026-10-02 16:21:02 -0700
commit41ae6269689e2b3cde9f7ac4227923d4085dceda (patch)
tree400bf2e5d6ae05564cb04aaea3104c031f321f9e /chapter12/docs/lattice.svg
parentb33647231e20e2dc155beb2c8fe721f952d67a54 (diff)
downloadSimple-41ae6269689e2b3cde9f7ac4227923d4085dceda.tar.gz
Simple-41ae6269689e2b3cde9f7ac4227923d4085dceda.zip
More better layout ch10a,b,11
Diffstat (limited to 'chapter12/docs/lattice.svg')
-rw-r--r--chapter12/docs/lattice.svg322
1 files changed, 173 insertions, 149 deletions
diff --git a/chapter12/docs/lattice.svg b/chapter12/docs/lattice.svg
index bc64abb6..41804d92 100644
--- a/chapter12/docs/lattice.svg
+++ b/chapter12/docs/lattice.svg
@@ -4,141 +4,141 @@
<!-- Generated by graphviz version 12.2.0 (20241103.1931)
-->
<!-- Title: Lattice Pages: 1 -->
-<svg width="2357pt" height="533pt"
- viewBox="0.00 0.00 2357.00 533.45" 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 529.45)">
+<svg width="2261pt" height="603pt"
+ viewBox="0.00 0.00 2261.00 603.45" 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 599.45)">
<title>Lattice</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-529.45 2353,-529.45 2353,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-599.45 2257,-599.45 2257,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_control</title>
-<polygon fill="none" stroke="#cccccc" points="8,-85.99 8,-454.71 98,-454.71 98,-85.99 8,-85.99"/>
-<text text-anchor="middle" x="53" y="-437.41" font-family="Arial" font-size="14.00">Control</text>
+<polygon fill="none" stroke="#cccccc" points="8,-85.99 8,-524.71 98,-524.71 98,-85.99 8,-85.99"/>
+<text text-anchor="middle" x="53" y="-507.41" font-family="Arial" font-size="14.00">Control</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_integer</title>
-<polygon fill="none" stroke="#cccccc" points="106,-85.99 106,-454.71 404,-454.71 404,-85.99 106,-85.99"/>
-<text text-anchor="middle" x="255" y="-437.41" font-family="Arial" font-size="14.00">Integer</text>
+<polygon fill="none" stroke="#cccccc" points="106,-85.99 106,-524.71 404,-524.71 404,-85.99 106,-85.99"/>
+<text text-anchor="middle" x="255" y="-507.41" font-family="Arial" font-size="14.00">Integer</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_float</title>
-<polygon fill="none" stroke="#cccccc" points="412,-85.99 412,-454.71 942,-454.71 942,-85.99 412,-85.99"/>
-<text text-anchor="middle" x="677" y="-437.41" font-family="Arial" font-size="14.00">Float</text>
+<polygon fill="none" stroke="#cccccc" points="412,-85.99 412,-524.71 942,-524.71 942,-85.99 412,-85.99"/>
+<text text-anchor="middle" x="677" y="-507.41" font-family="Arial" font-size="14.00">Float</text>
</g>
<g id="clust8" class="cluster">
<title>cluster_pointer</title>
-<polygon fill="none" stroke="#cccccc" points="950,-75 950,-465.7 1431,-465.7 1431,-75 950,-75"/>
-<text text-anchor="middle" x="1190.5" y="-448.4" font-family="Arial" font-size="14.00">Pointer = nullability × struct type</text>
+<polygon fill="none" stroke="#cccccc" points="950,-75 950,-535.7 1431,-535.7 1431,-75 950,-75"/>
+<text text-anchor="middle" x="1190.5" y="-518.4" font-family="Arial" font-size="14.00">Pointer = nullability × struct type</text>
</g>
<g id="clust15" class="cluster">
<title>cluster_struct</title>
-<polygon fill="none" stroke="#cccccc" points="1439,-75 1439,-481.45 1767,-481.45 1767,-75 1439,-75"/>
-<text text-anchor="middle" x="1603" y="-464.15" font-family="Arial" font-size="14.00">Struct</text>
-<text text-anchor="middle" x="1603" y="-448.4" font-family="Arial" font-size="14.00">named collection of named scalar types</text>
+<polygon fill="none" stroke="#cccccc" points="1439,-75 1439,-551.45 1767,-551.45 1767,-75 1439,-75"/>
+<text text-anchor="middle" x="1603" y="-534.15" font-family="Arial" font-size="14.00">Struct</text>
+<text text-anchor="middle" x="1603" y="-518.4" font-family="Arial" font-size="14.00">named collection of named scalar types</text>
</g>
<g id="clust19" class="cluster">
<title>cluster_memory</title>
-<polygon fill="none" stroke="#cccccc" points="1775,-85.99 1775,-470.46 2057,-470.46 2057,-85.99 1775,-85.99"/>
-<text text-anchor="middle" x="1916" y="-453.16" font-family="Arial" font-size="14.00">Memory</text>
-<text text-anchor="middle" x="1916" y="-437.41" font-family="Arial" font-size="14.00">precise alias slices</text>
+<polygon fill="none" stroke="#cccccc" points="1775,-85.99 1775,-540.46 2057,-540.46 2057,-85.99 1775,-85.99"/>
+<text text-anchor="middle" x="1916" y="-523.16" font-family="Arial" font-size="14.00">Memory</text>
+<text text-anchor="middle" x="1916" y="-507.41" font-family="Arial" font-size="14.00">precise alias slices</text>
</g>
<g id="clust23" class="cluster">
<title>cluster_tuple</title>
-<polygon fill="none" stroke="#cccccc" points="2065,-85.99 2065,-470.46 2341,-470.46 2341,-85.99 2065,-85.99"/>
-<text text-anchor="middle" x="2203" y="-453.16" font-family="Arial" font-size="14.00">Tuple</text>
-<text text-anchor="middle" x="2203" y="-437.41" font-family="Arial" font-size="14.00">collection of types</text>
+<polygon fill="none" stroke="#cccccc" points="2065,-85.99 2065,-540.46 2245,-540.46 2245,-85.99 2065,-85.99"/>
+<text text-anchor="middle" x="2155" y="-523.16" font-family="Arial" font-size="14.00">Tuple</text>
+<text text-anchor="middle" x="2155" y="-507.41" font-family="Arial" font-size="14.00">collection of types</text>
</g>
<!-- TOP -->
<g id="node1" class="node">
<title>TOP</title>
-<ellipse fill="black" stroke="black" cx="1171" cy="-507.45" rx="27" ry="18"/>
-<text text-anchor="middle" x="1171" y="-503.35" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤</text>
+<ellipse fill="black" stroke="black" cx="1171" cy="-577.45" rx="27" ry="18"/>
+<text text-anchor="middle" x="1171" y="-573.35" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤</text>
</g>
<!-- XCTRL -->
<g id="node3" class="node">
<title>XCTRL</title>
-<ellipse fill="#ffff00" stroke="black" cx="53" cy="-404.96" rx="36.51" ry="18"/>
-<text text-anchor="middle" x="53" y="-400.86" font-family="DejaVu Sans" font-size="13.00">⊤:ctrl</text>
+<ellipse fill="#ffff00" stroke="black" cx="53" cy="-474.96" rx="36.51" ry="18"/>
+<text text-anchor="middle" x="53" y="-470.86" font-family="DejaVu Sans" font-size="13.00">⊤:ctrl</text>
</g>
<!-- TOP&#45;&gt;XCTRL -->
<g id="edge68" class="edge">
<title>TOP&#45;&gt;XCTRL</title>
-<path fill="none" stroke="#555555" d="M1143.75,-506.53C981.55,-506.91 148.8,-507.58 102,-481.45 82.13,-470.35 69.01,-447.44 61.39,-429.76"/>
-<polygon fill="#555555" stroke="#555555" points="63.42,-429.19 59.21,-424.43 59.54,-430.78 63.42,-429.19"/>
+<path fill="none" stroke="#555555" d="M1143.75,-576.53C981.55,-576.91 148.8,-577.58 102,-551.45 82.13,-540.35 69.01,-517.44 61.39,-499.76"/>
+<polygon fill="#555555" stroke="#555555" points="63.42,-499.19 59.21,-494.43 59.54,-500.78 63.42,-499.19"/>
</g>
<!-- INT_TOP -->
<g id="node5" class="node">
<title>INT_TOP</title>
-<ellipse fill="#add8e6" stroke="black" cx="353" cy="-404.96" rx="33.44" ry="18"/>
-<text text-anchor="middle" x="353" y="-400.86" font-family="DejaVu Sans" font-size="13.00">⊤:int</text>
+<ellipse fill="#add8e6" stroke="black" cx="353" cy="-474.96" rx="33.44" ry="18"/>
+<text text-anchor="middle" x="353" y="-470.86" font-family="DejaVu Sans" font-size="13.00">⊤:int</text>
</g>
<!-- TOP&#45;&gt;INT_TOP -->
<g id="edge69" class="edge">
<title>TOP&#45;&gt;INT_TOP</title>
-<path fill="none" stroke="#555555" d="M1143.82,-506.22C1011.67,-505.05 441.13,-498.99 408,-481.45 387.13,-470.4 372.2,-447.48 363.21,-429.78"/>
-<polygon fill="#555555" stroke="#555555" points="365.11,-428.89 360.61,-424.41 361.33,-430.72 365.11,-428.89"/>
+<path fill="none" stroke="#555555" d="M1143.82,-576.22C1011.67,-575.05 441.13,-568.99 408,-551.45 387.13,-540.4 372.2,-517.48 363.21,-499.78"/>
+<polygon fill="#555555" stroke="#555555" points="365.11,-498.89 360.61,-494.41 361.33,-500.72 365.11,-498.89"/>
</g>
<!-- FLT_TOP -->
<g id="node10" class="node">
<title>FLT_TOP</title>
-<ellipse fill="aqua" stroke="black" cx="755" cy="-404.96" rx="31.39" ry="18"/>
-<text text-anchor="start" x="740" y="-401.86" font-family="DejaVu Sans" font-weight="bold" font-size="13.00">⊤</text>
-<text text-anchor="start" x="752" y="-401.86" font-family="DejaVu Sans" font-size="13.00">:flt</text>
+<ellipse fill="aqua" stroke="black" cx="755" cy="-474.96" rx="31.39" ry="18"/>
+<text text-anchor="start" x="740" y="-471.86" font-family="DejaVu Sans" font-weight="bold" font-size="13.00">⊤</text>
+<text text-anchor="start" x="752" y="-471.86" font-family="DejaVu Sans" font-size="13.00">:flt</text>
</g>
<!-- TOP&#45;&gt;FLT_TOP -->
<g id="edge70" class="edge">
<title>TOP&#45;&gt;FLT_TOP</title>
-<path fill="none" stroke="#555555" d="M1143.92,-505.75C1101.25,-504.14 1015.99,-498.84 946,-481.45 886.87,-466.76 821.59,-438.05 784.7,-420.58"/>
-<polygon fill="#555555" stroke="#555555" points="785.84,-418.79 779.52,-418.1 784.03,-422.58 785.84,-418.79"/>
+<path fill="none" stroke="#555555" d="M1143.92,-575.75C1101.25,-574.14 1015.99,-568.84 946,-551.45 886.87,-536.76 821.59,-508.05 784.7,-490.58"/>
+<polygon fill="#555555" stroke="#555555" points="785.84,-488.79 779.52,-488.1 784.03,-492.58 785.84,-488.79"/>
</g>
<!-- PTR_TOP -->
<g id="node15" class="node">
<title>PTR_TOP</title>
-<ellipse fill="#008000" stroke="black" cx="1171" cy="-404.96" rx="61.7" ry="28.99"/>
-<text text-anchor="middle" x="1171" y="-409.11" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤:ptr</text>
-<text text-anchor="middle" x="1171" y="-392.61" font-family="DejaVu Sans" font-size="13.00" fill="white">[*⊤:struct]</text>
+<ellipse fill="#008000" stroke="black" cx="1171" cy="-474.96" rx="61.7" ry="28.99"/>
+<text text-anchor="middle" x="1171" y="-479.11" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤:ptr</text>
+<text text-anchor="middle" x="1171" y="-462.61" font-family="DejaVu Sans" font-size="13.00" fill="white">[*⊤:struct]</text>
</g>
<!-- TOP&#45;&gt;PTR_TOP -->
<g id="edge71" class="edge">
<title>TOP&#45;&gt;PTR_TOP</title>
-<path fill="none" stroke="#555555" d="M1171,-489.4C1171,-476.29 1171,-457.72 1171,-441.43"/>
-<polygon fill="#555555" stroke="#555555" points="1173.1,-441.64 1171,-435.64 1168.9,-441.64 1173.1,-441.64"/>
+<path fill="none" stroke="#555555" d="M1171,-559.4C1171,-546.29 1171,-527.72 1171,-511.43"/>
+<polygon fill="#555555" stroke="#555555" points="1173.1,-511.64 1171,-505.64 1168.9,-511.64 1173.1,-511.64"/>
</g>
<!-- STRUCT_TOP -->
<g id="node25" class="node">
<title>STRUCT_TOP</title>
-<ellipse fill="#90ee90" stroke="black" cx="1558" cy="-404.96" rx="64.35" ry="28.99"/>
-<text text-anchor="middle" x="1558" y="-409.11" font-family="DejaVu Sans" font-size="13.00">⊤:struct</text>
-<text text-anchor="middle" x="1558" y="-392.61" font-family="DejaVu Sans" font-size="13.00">[struct top]</text>
+<ellipse fill="#90ee90" stroke="black" cx="1558" cy="-474.96" rx="64.35" ry="28.99"/>
+<text text-anchor="middle" x="1558" y="-479.11" font-family="DejaVu Sans" font-size="13.00">⊤:struct</text>
+<text text-anchor="middle" x="1558" y="-462.61" font-family="DejaVu Sans" font-size="13.00">[struct top]</text>
</g>
<!-- TOP&#45;&gt;STRUCT_TOP -->
<g id="edge72" class="edge">
<title>TOP&#45;&gt;STRUCT_TOP</title>
-<path fill="none" stroke="#555555" d="M1197.97,-505.44C1256.13,-503.02 1391.55,-495.96 1435,-481.45 1466.2,-471.03 1497.74,-451.44 1521.07,-434.83"/>
-<polygon fill="#555555" stroke="#555555" points="1522.26,-436.56 1525.9,-431.35 1519.8,-433.16 1522.26,-436.56"/>
+<path fill="none" stroke="#555555" d="M1197.97,-575.44C1256.13,-573.02 1391.55,-565.96 1435,-551.45 1466.2,-541.03 1497.74,-521.44 1521.07,-504.83"/>
+<polygon fill="#555555" stroke="#555555" points="1522.26,-506.56 1525.9,-501.35 1519.8,-503.16 1522.26,-506.56"/>
</g>
<!-- MEM_TOP -->
<g id="node31" class="node">
<title>MEM_TOP</title>
-<ellipse fill="#00008b" stroke="black" cx="1881" cy="-404.96" rx="44.7" ry="18"/>
-<text text-anchor="middle" x="1881" y="-400.86" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤:mem</text>
+<ellipse fill="#00008b" stroke="black" cx="1881" cy="-474.96" rx="44.7" ry="18"/>
+<text text-anchor="middle" x="1881" y="-470.86" font-family="DejaVu Sans" font-size="13.00" fill="white">⊤:mem</text>
</g>
<!-- TOP&#45;&gt;MEM_TOP -->
<g id="edge73" class="edge">
<title>TOP&#45;&gt;MEM_TOP</title>
-<path fill="none" stroke="#555555" d="M1198.14,-506.2C1307.98,-505.07 1716.29,-499.67 1771,-481.45 1804.95,-470.14 1837.98,-444.99 1858.84,-426.82"/>
-<polygon fill="#555555" stroke="#555555" points="1860.16,-428.46 1863.26,-422.9 1857.37,-425.31 1860.16,-428.46"/>
+<path fill="none" stroke="#555555" d="M1198.14,-576.2C1307.98,-575.07 1716.29,-569.67 1771,-551.45 1804.95,-540.14 1837.98,-514.99 1858.84,-496.82"/>
+<polygon fill="#555555" stroke="#555555" points="1860.16,-498.46 1863.26,-492.9 1857.37,-495.31 1860.16,-498.46"/>
</g>
<!-- TUPLE_TOP -->
<g id="node36" class="node">
<title>TUPLE_TOP</title>
-<ellipse fill="#ffc0cb" stroke="black" cx="2118" cy="-404.96" rx="44.7" ry="18"/>
-<text text-anchor="middle" x="2118" y="-400.86" font-family="DejaVu Sans" font-size="13.00">⊤:tuple</text>
+<ellipse fill="#ffc0cb" stroke="black" cx="2118" cy="-474.96" rx="44.7" ry="18"/>
+<text text-anchor="middle" x="2118" y="-470.86" font-family="DejaVu Sans" font-size="13.00">⊤:tuple</text>
</g>
<!-- TOP&#45;&gt;TUPLE_TOP -->
<g id="edge74" class="edge">
<title>TOP&#45;&gt;TUPLE_TOP</title>
-<path fill="none" stroke="#555555" d="M1198.25,-506.35C1343.51,-505.71 2021.76,-501.68 2061,-481.45 2082.45,-470.39 2098.06,-447.15 2107.46,-429.36"/>
-<polygon fill="#555555" stroke="#555555" points="2109.12,-430.74 2109.96,-424.43 2105.37,-428.84 2109.12,-430.74"/>
+<path fill="none" stroke="#555555" d="M1198.25,-576.35C1343.51,-575.71 2021.76,-571.68 2061,-551.45 2082.45,-540.39 2098.06,-517.15 2107.46,-499.36"/>
+<polygon fill="#555555" stroke="#555555" points="2109.12,-500.74 2109.96,-494.43 2105.37,-498.84 2109.12,-500.74"/>
</g>
<!-- BOT -->
<g id="node2" class="node">
@@ -155,7 +155,7 @@
<!-- XCTRL&#45;&gt;CTRL -->
<g id="edge1" class="edge">
<title>XCTRL&#45;&gt;CTRL</title>
-<path fill="none" stroke="#555555" d="M53,-386.63C53,-337.1 53,-194.83 53,-137.43"/>
+<path fill="none" stroke="#555555" d="M53,-456.55C53,-397.7 53,-206.04 53,-137.58"/>
<polygon fill="#555555" stroke="#555555" points="55.1,-137.74 53,-131.74 50.9,-137.74 55.1,-137.74"/>
</g>
<!-- XCTRL&#45;&gt;INT_TOP -->
@@ -174,8 +174,8 @@
<!-- INT_TOP&#45;&gt;INT_NEG -->
<g id="edge4" class="edge">
<title>INT_TOP&#45;&gt;INT_NEG</title>
-<path fill="none" stroke="#555555" d="M337.94,-388.74C305.38,-355.83 228.33,-277.94 190.59,-239.8"/>
-<polygon fill="#555555" stroke="#555555" points="192.09,-238.33 186.38,-235.54 189.11,-241.28 192.09,-238.33"/>
+<path fill="none" stroke="#555555" d="M338.42,-458.38C324.81,-443.56 304.22,-420.4 288,-398.97 246.77,-344.48 204.12,-276.17 182.84,-241.1"/>
+<polygon fill="#555555" stroke="#555555" points="184.8,-240.29 179.9,-236.24 181.21,-242.46 184.8,-240.29"/>
</g>
<!-- INT_ZERO -->
<g id="node8" class="node">
@@ -186,8 +186,8 @@
<!-- INT_TOP&#45;&gt;INT_ZERO -->
<g id="edge5" class="edge">
<title>INT_TOP&#45;&gt;INT_ZERO</title>
-<path fill="none" stroke="#555555" d="M345.22,-387.12C329.8,-353.79 295.37,-279.32 277.78,-241.29"/>
-<polygon fill="#555555" stroke="#555555" points="279.76,-240.57 275.34,-236.01 275.95,-242.34 279.76,-240.57"/>
+<path fill="none" stroke="#555555" d="M347.22,-456.76C332.26,-412.21 292.18,-292.93 275,-241.79"/>
+<polygon fill="#555555" stroke="#555555" points="277.02,-241.21 273.12,-236.19 273.04,-242.55 277.02,-241.21"/>
</g>
<!-- INT_POS -->
<g id="node9" class="node">
@@ -198,8 +198,8 @@
<!-- INT_TOP&#45;&gt;INT_POS -->
<g id="edge6" class="edge">
<title>INT_TOP&#45;&gt;INT_POS</title>
-<path fill="none" stroke="#555555" d="M353,-386.46C353,-353.14 353,-280.53 353,-242.43"/>
-<polygon fill="#555555" stroke="#555555" points="355.1,-242.8 353,-236.8 350.9,-242.8 355.1,-242.8"/>
+<path fill="none" stroke="#555555" d="M353,-456.76C353,-412.51 353,-294.56 353,-242.85"/>
+<polygon fill="#555555" stroke="#555555" points="355.1,-242.94 353,-236.94 350.9,-242.94 355.1,-242.94"/>
</g>
<!-- INT_TOP&#45;&gt;FLT_TOP -->
<!-- INT_BOT -->
@@ -237,38 +237,38 @@
<!-- FLT_MINDOTS -->
<g id="node12" class="node">
<title>FLT_MINDOTS</title>
-<ellipse fill="aqua" stroke="black" cx="529" cy="-310.97" rx="109.19" ry="18"/>
-<text text-anchor="middle" x="529" y="-306.87" font-family="DejaVu Sans" font-size="13.00">… negative constants</text>
+<ellipse fill="aqua" stroke="black" cx="529" cy="-345.97" rx="109.19" ry="18"/>
+<text text-anchor="middle" x="529" y="-341.87" font-family="DejaVu Sans" font-size="13.00">… negative constants</text>
</g>
<!-- FLT_TOP&#45;&gt;FLT_MINDOTS -->
<g id="edge10" class="edge">
<title>FLT_TOP&#45;&gt;FLT_MINDOTS</title>
-<path fill="none" stroke="#555555" d="M729.95,-393.76C692.71,-378.6 622.11,-349.86 575.3,-330.81"/>
-<polygon fill="#555555" stroke="#555555" points="576.32,-328.96 569.97,-328.64 574.74,-332.85 576.32,-328.96"/>
+<path fill="none" stroke="#555555" d="M733.33,-461.78C694.5,-439.96 612.69,-393.99 565.21,-367.31"/>
+<polygon fill="#555555" stroke="#555555" points="566.33,-365.53 560.07,-364.42 564.27,-369.19 566.33,-365.53"/>
</g>
<!-- FLT_ZERO -->
<g id="node13" class="node">
<title>FLT_ZERO</title>
-<ellipse fill="aqua" stroke="black" cx="681" cy="-310.97" rx="27" ry="18"/>
-<text text-anchor="middle" x="681" y="-306.87" font-family="DejaVu Sans" font-size="13.00">0.0</text>
+<ellipse fill="aqua" stroke="black" cx="681" cy="-345.97" rx="27" ry="18"/>
+<text text-anchor="middle" x="681" y="-341.87" font-family="DejaVu Sans" font-size="13.00">0.0</text>
</g>
<!-- FLT_TOP&#45;&gt;FLT_ZERO -->
<g id="edge11" class="edge">
<title>FLT_TOP&#45;&gt;FLT_ZERO</title>
-<path fill="none" stroke="#555555" d="M742.45,-388.35C730.15,-373.06 711.32,-349.66 697.75,-332.79"/>
-<polygon fill="#555555" stroke="#555555" points="699.71,-331.88 694.32,-328.52 696.44,-334.51 699.71,-331.88"/>
+<path fill="none" stroke="#555555" d="M745.33,-457.35C732.24,-434.89 708.83,-394.73 694.16,-369.54"/>
+<polygon fill="#555555" stroke="#555555" points="696.04,-368.6 691.2,-364.48 692.41,-370.72 696.04,-368.6"/>
</g>
<!-- FLT_MAXDOTS -->
<g id="node14" class="node">
<title>FLT_MAXDOTS</title>
-<ellipse fill="aqua" stroke="black" cx="829" cy="-310.97" rx="105.09" ry="18"/>
-<text text-anchor="middle" x="829" y="-306.87" font-family="DejaVu Sans" font-size="13.00">positive constants …</text>
+<ellipse fill="aqua" stroke="black" cx="829" cy="-345.97" rx="105.09" ry="18"/>
+<text text-anchor="middle" x="829" y="-341.87" font-family="DejaVu Sans" font-size="13.00">positive constants …</text>
</g>
<!-- FLT_TOP&#45;&gt;FLT_MAXDOTS -->
<g id="edge12" class="edge">
<title>FLT_TOP&#45;&gt;FLT_MAXDOTS</title>
-<path fill="none" stroke="#555555" d="M767.55,-388.35C779.41,-373.61 797.32,-351.34 810.76,-334.64"/>
-<polygon fill="#555555" stroke="#555555" points="812.05,-336.39 814.18,-330.39 808.78,-333.75 812.05,-336.39"/>
+<path fill="none" stroke="#555555" d="M764.67,-457.35C777.62,-435.14 800.65,-395.61 815.36,-370.38"/>
+<polygon fill="#555555" stroke="#555555" points="817.12,-371.53 818.33,-365.28 813.49,-369.41 817.12,-371.53"/>
</g>
<!-- FLT_TOP&#45;&gt;PTR_TOP -->
<!-- FLT_BOT -->
@@ -287,70 +287,70 @@
<!-- FLT_MINDOTS&#45;&gt;FLT_BOT -->
<g id="edge13" class="edge">
<title>FLT_MINDOTS&#45;&gt;FLT_BOT</title>
-<path fill="none" stroke="#555555" d="M545.44,-292.83C580.25,-256.55 661.25,-172.14 698.55,-133.26"/>
-<polygon fill="#555555" stroke="#555555" points="699.62,-135.18 702.26,-129.4 696.59,-132.27 699.62,-135.18"/>
+<path fill="none" stroke="#555555" d="M542.9,-327.91C576.67,-286.45 663.03,-180.46 700.37,-134.63"/>
+<polygon fill="#555555" stroke="#555555" points="701.97,-135.99 704.13,-130.01 698.72,-133.34 701.97,-135.99"/>
</g>
<!-- FLT_MINDOTS&#45;&gt;FLT_ZERO -->
<!-- FLT_ZERO&#45;&gt;FLT_BOT -->
<g id="edge14" class="edge">
<title>FLT_ZERO&#45;&gt;FLT_BOT</title>
-<path fill="none" stroke="#555555" d="M684.22,-292.83C690.79,-257.83 705.78,-178.04 713.39,-137.55"/>
-<polygon fill="#555555" stroke="#555555" points="715.44,-138 714.48,-131.72 711.31,-137.22 715.44,-138"/>
+<path fill="none" stroke="#555555" d="M683.72,-327.91C690.19,-287.37 706.5,-185.12 714.05,-137.77"/>
+<polygon fill="#555555" stroke="#555555" points="716.12,-138.14 714.99,-131.88 711.97,-137.48 716.12,-138.14"/>
</g>
<!-- FLT_ZERO&#45;&gt;FLT_MAXDOTS -->
<!-- FLT_MAXDOTS&#45;&gt;FLT_BOT -->
<g id="edge15" class="edge">
<title>FLT_MAXDOTS&#45;&gt;FLT_BOT</title>
-<path fill="none" stroke="#555555" d="M819.34,-292.83C799.4,-257.44 753.64,-176.23 731.07,-136.19"/>
-<polygon fill="#555555" stroke="#555555" points="732.92,-135.18 728.14,-130.99 729.26,-137.25 732.92,-135.18"/>
+<path fill="none" stroke="#555555" d="M820.66,-327.53C800.95,-286.34 751.49,-182.98 729.2,-136.4"/>
+<polygon fill="#555555" stroke="#555555" points="731.13,-135.56 726.64,-131.05 727.34,-137.37 731.13,-135.56"/>
</g>
<!-- PTR_NULL -->
<g id="node17" class="node">
<title>PTR_NULL</title>
-<ellipse fill="#008000" stroke="black" cx="1297" cy="-310.97" rx="27.3" ry="18"/>
-<text text-anchor="middle" x="1297" y="-306.87" font-family="DejaVu Sans" font-size="13.00" fill="white">null</text>
+<ellipse fill="#008000" stroke="black" cx="1297" cy="-345.97" rx="27.3" ry="18"/>
+<text text-anchor="middle" x="1297" y="-341.87" font-family="DejaVu Sans" font-size="13.00" fill="white">null</text>
</g>
<!-- PTR_TOP&#45;&gt;PTR_NULL -->
<g id="edge24" class="edge">
<title>PTR_TOP&#45;&gt;PTR_NULL</title>
-<path fill="none" stroke="#555555" d="M1203.78,-380.03C1225.49,-364.18 1253.48,-343.74 1273.1,-329.42"/>
-<polygon fill="#555555" stroke="#555555" points="1274.33,-331.12 1277.93,-325.88 1271.85,-327.73 1274.33,-331.12"/>
+<path fill="none" stroke="#555555" d="M1204.16,-450.36C1222.35,-436.53 1244.66,-418.07 1262,-398.97 1270.08,-390.06 1277.71,-379.16 1283.77,-369.64"/>
+<polygon fill="#555555" stroke="#555555" points="1285.52,-370.8 1286.9,-364.59 1281.95,-368.58 1285.52,-370.8"/>
</g>
<!-- PTR_PERSON -->
<g id="node19" class="node">
<title>PTR_PERSON</title>
-<ellipse fill="#008000" stroke="black" cx="1040" cy="-310.97" rx="45.72" ry="18"/>
-<text text-anchor="middle" x="1040" y="-306.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*Person</text>
+<ellipse fill="#008000" stroke="black" cx="1040" cy="-345.97" rx="45.72" ry="18"/>
+<text text-anchor="middle" x="1040" y="-341.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*Person</text>
</g>
<!-- PTR_TOP&#45;&gt;PTR_PERSON -->
<g id="edge25" class="edge">
<title>PTR_TOP&#45;&gt;PTR_PERSON</title>
-<path fill="none" stroke="#555555" d="M1137.26,-380.27C1115.69,-365.12 1088.05,-345.71 1067.76,-331.46"/>
-<polygon fill="#555555" stroke="#555555" points="1069.06,-329.81 1062.95,-328.08 1066.65,-333.25 1069.06,-329.81"/>
+<path fill="none" stroke="#555555" d="M1144.81,-448.56C1120.47,-424.98 1084.66,-390.26 1061.83,-368.13"/>
+<polygon fill="#555555" stroke="#555555" points="1063.46,-366.79 1057.69,-364.12 1060.54,-369.8 1063.46,-366.79"/>
</g>
<!-- PTR_S1 -->
<g id="node20" class="node">
<title>PTR_S1</title>
-<ellipse fill="#008000" stroke="black" cx="1129" cy="-310.97" rx="27" ry="18"/>
-<text text-anchor="middle" x="1129" y="-306.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*s1</text>
+<ellipse fill="#008000" stroke="black" cx="1129" cy="-345.97" rx="27" ry="18"/>
+<text text-anchor="middle" x="1129" y="-341.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*s1</text>
</g>
<!-- PTR_TOP&#45;&gt;PTR_S1 -->
<g id="edge26" class="edge">
<title>PTR_TOP&#45;&gt;PTR_S1</title>
-<path fill="none" stroke="#555555" d="M1158.4,-376.36C1152.4,-363.23 1145.32,-347.71 1139.6,-335.19"/>
-<polygon fill="#555555" stroke="#555555" points="1141.62,-334.55 1137.22,-329.96 1137.8,-336.29 1141.62,-334.55"/>
+<path fill="none" stroke="#555555" d="M1161.78,-446.09C1154.35,-423.62 1144.01,-392.36 1136.94,-370.98"/>
+<polygon fill="#555555" stroke="#555555" points="1138.94,-370.34 1135.06,-365.3 1134.96,-371.66 1138.94,-370.34"/>
</g>
<!-- PTR_MORE -->
<g id="node21" class="node">
<title>PTR_MORE</title>
-<ellipse fill="#008000" stroke="black" cx="1213" cy="-310.97" rx="40.6" ry="18"/>
-<text text-anchor="middle" x="1213" y="-306.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*s2, …</text>
+<ellipse fill="#008000" stroke="black" cx="1213" cy="-345.97" rx="40.6" ry="18"/>
+<text text-anchor="middle" x="1213" y="-341.87" font-family="DejaVu Sans" font-size="13.00" fill="white">*s2, …</text>
</g>
<!-- PTR_TOP&#45;&gt;PTR_MORE -->
<g id="edge27" class="edge">
<title>PTR_TOP&#45;&gt;PTR_MORE</title>
-<path fill="none" stroke="#555555" d="M1183.6,-376.36C1189.55,-363.32 1196.59,-347.92 1202.28,-335.45"/>
-<polygon fill="#555555" stroke="#555555" points="1204.08,-336.56 1204.66,-330.23 1200.26,-334.82 1204.08,-336.56"/>
+<path fill="none" stroke="#555555" d="M1180.22,-446.09C1187.6,-423.75 1197.87,-392.72 1204.93,-371.36"/>
+<polygon fill="#555555" stroke="#555555" points="1206.92,-372.03 1206.81,-365.67 1202.94,-370.71 1206.92,-372.03"/>
</g>
<!-- PTR_TOP&#45;&gt;STRUCT_TOP -->
<!-- PTR_BOT -->
@@ -375,8 +375,8 @@
<!-- PTR_NULL&#45;&gt;PTR_PERSON_NIL -->
<g id="edge34" class="edge">
<title>PTR_NULL&#45;&gt;PTR_PERSON_NIL</title>
-<path fill="none" stroke="#555555" d="M1281.06,-296.39C1263.26,-281.22 1234.22,-256.49 1213.51,-238.85"/>
-<polygon fill="#555555" stroke="#555555" points="1214.99,-237.36 1209.06,-235.06 1212.27,-240.55 1214.99,-237.36"/>
+<path fill="none" stroke="#555555" d="M1287.29,-328.97C1280.63,-318.41 1271.33,-304.45 1262,-292.97 1246.39,-273.75 1226.71,-253.74 1211.73,-239.23"/>
+<polygon fill="#555555" stroke="#555555" points="1213.3,-237.84 1207.52,-235.19 1210.39,-240.87 1213.3,-237.84"/>
</g>
<!-- PTR_S1_NIL -->
<g id="node23" class="node">
@@ -387,8 +387,8 @@
<!-- PTR_NULL&#45;&gt;PTR_S1_NIL -->
<g id="edge35" class="edge">
<title>PTR_NULL&#45;&gt;PTR_S1_NIL</title>
-<path fill="none" stroke="#555555" d="M1294.93,-292.66C1293.24,-278.53 1290.83,-258.38 1288.94,-242.57"/>
-<polygon fill="#555555" stroke="#555555" points="1291.04,-242.41 1288.24,-236.7 1286.87,-242.91 1291.04,-242.41"/>
+<path fill="none" stroke="#555555" d="M1295.49,-327.57C1293.58,-305.54 1290.28,-267.42 1288.12,-242.45"/>
+<polygon fill="#555555" stroke="#555555" points="1290.23,-242.46 1287.62,-236.66 1286.04,-242.82 1290.23,-242.46"/>
</g>
<!-- PTR_MORE_NIL -->
<g id="node24" class="node">
@@ -399,8 +399,8 @@
<!-- PTR_NULL&#45;&gt;PTR_MORE_NIL -->
<g id="edge36" class="edge">
<title>PTR_NULL&#45;&gt;PTR_MORE_NIL</title>
-<path fill="none" stroke="#555555" d="M1310.38,-294.78C1323.54,-279.83 1343.77,-256.85 1358.68,-239.92"/>
-<polygon fill="#555555" stroke="#555555" points="1360.12,-241.46 1362.51,-235.57 1356.97,-238.68 1360.12,-241.46"/>
+<path fill="none" stroke="#555555" d="M1307.26,-328.88C1321.47,-306.61 1347.21,-266.25 1363.41,-240.85"/>
+<polygon fill="#555555" stroke="#555555" points="1365.04,-242.2 1366.5,-236.01 1361.5,-239.94 1365.04,-242.2"/>
</g>
<!-- PTR_ANY -->
<g id="node18" class="node">
@@ -419,41 +419,41 @@
<!-- PTR_PERSON&#45;&gt;PTR_ANY -->
<g id="edge28" class="edge">
<title>PTR_PERSON&#45;&gt;PTR_ANY</title>
-<path fill="none" stroke="#555555" d="M1040,-292.66C1040,-281.68 1040,-267.07 1040,-253.69"/>
-<polygon fill="#555555" stroke="#555555" points="1042.1,-253.92 1040,-247.92 1037.9,-253.92 1042.1,-253.92"/>
+<path fill="none" stroke="#555555" d="M1040,-327.57C1040,-308.61 1040,-277.75 1040,-253.6"/>
+<polygon fill="#555555" stroke="#555555" points="1042.1,-253.86 1040,-247.86 1037.9,-253.86 1042.1,-253.86"/>
</g>
<!-- PTR_PERSON&#45;&gt;PTR_S1 -->
<!-- PTR_PERSON&#45;&gt;PTR_PERSON_NIL -->
<g id="edge31" class="edge">
<title>PTR_PERSON&#45;&gt;PTR_PERSON_NIL</title>
-<path fill="none" stroke="#555555" d="M1063.94,-295.19C1089.64,-279.32 1130.53,-254.07 1158.51,-236.8"/>
-<polygon fill="#555555" stroke="#555555" points="1159.33,-238.76 1163.34,-233.82 1157.13,-235.18 1159.33,-238.76"/>
+<path fill="none" stroke="#555555" d="M1055.68,-329.07C1066.26,-318.55 1080.66,-304.6 1094,-292.97 1116.38,-273.44 1143.02,-252.61 1162.38,-237.87"/>
+<polygon fill="#555555" stroke="#555555" points="1163.43,-239.71 1166.94,-234.41 1160.89,-236.36 1163.43,-239.71"/>
</g>
<!-- PTR_S1&#45;&gt;PTR_ANY -->
<g id="edge29" class="edge">
<title>PTR_S1&#45;&gt;PTR_ANY</title>
-<path fill="none" stroke="#555555" d="M1114.7,-295.19C1102.96,-283.05 1085.9,-265.42 1071.05,-250.07"/>
-<polygon fill="#555555" stroke="#555555" points="1072.84,-248.9 1067.16,-246.05 1069.83,-251.82 1072.84,-248.9"/>
+<path fill="none" stroke="#555555" d="M1118.41,-328.95C1111.53,-318.62 1102.33,-304.93 1094,-292.97 1084.38,-279.15 1073.57,-264.06 1064.17,-251.06"/>
+<polygon fill="#555555" stroke="#555555" points="1066.07,-250.1 1060.85,-246.48 1062.67,-252.57 1066.07,-250.1"/>
</g>
<!-- PTR_S1&#45;&gt;PTR_MORE -->
<!-- PTR_S1&#45;&gt;PTR_S1_NIL -->
<g id="edge32" class="edge">
<title>PTR_S1&#45;&gt;PTR_S1_NIL</title>
-<path fill="none" stroke="#555555" d="M1150.34,-299.41C1174.33,-287.32 1214.22,-266.51 1247,-245.97 1251.87,-242.92 1256.94,-239.48 1261.75,-236.09"/>
-<polygon fill="#555555" stroke="#555555" points="1262.79,-237.93 1266.45,-232.73 1260.35,-234.51 1262.79,-237.93"/>
+<path fill="none" stroke="#555555" d="M1137.43,-328.51C1143.67,-317.48 1152.98,-303.17 1164,-292.97 1195.11,-264.17 1211.28,-268.8 1247,-245.97 1251.84,-242.87 1256.9,-239.42 1261.71,-236.02"/>
+<polygon fill="#555555" stroke="#555555" points="1262.75,-237.85 1266.4,-232.65 1260.3,-234.44 1262.75,-237.85"/>
</g>
<!-- PTR_MORE&#45;&gt;PTR_NULL -->
<!-- PTR_MORE&#45;&gt;PTR_ANY -->
<g id="edge30" class="edge">
<title>PTR_MORE&#45;&gt;PTR_ANY</title>
-<path fill="none" stroke="#555555" d="M1187.84,-296.59C1162.54,-283.13 1122.81,-262.01 1090.91,-245.04"/>
-<polygon fill="#555555" stroke="#555555" points="1092.26,-243.38 1085.97,-242.42 1090.28,-247.09 1092.26,-243.38"/>
+<path fill="none" stroke="#555555" d="M1199.85,-328.86C1190.51,-317.99 1177.32,-303.72 1164,-292.97 1141.82,-275.05 1114.97,-258.29 1091.94,-245.19"/>
+<polygon fill="#555555" stroke="#555555" points="1093.13,-243.45 1086.87,-242.33 1091.07,-247.11 1093.13,-243.45"/>
</g>
<!-- PTR_MORE&#45;&gt;PTR_MORE_NIL -->
<g id="edge33" class="edge">
<title>PTR_MORE&#45;&gt;PTR_MORE_NIL</title>
-<path fill="none" stroke="#555555" d="M1237.7,-296.19C1266.57,-280.1 1314.43,-253.42 1346.09,-235.77"/>
-<polygon fill="#555555" stroke="#555555" points="1347.05,-237.64 1351.26,-232.88 1345,-233.97 1347.05,-237.64"/>
+<path fill="none" stroke="#555555" d="M1226.25,-328.99C1235.64,-318.18 1248.85,-303.92 1262,-292.97 1288.56,-270.85 1321.98,-249.86 1346.12,-235.75"/>
+<polygon fill="#555555" stroke="#555555" points="1346.91,-237.72 1351.04,-232.89 1344.8,-234.09 1346.91,-237.72"/>
</g>
<!-- PTR_PERSON_NIL&#45;&gt;PTR_BOT -->
<g id="edge38" class="edge">
@@ -485,8 +485,8 @@
<!-- STRUCT_TOP&#45;&gt;STRUCT_PERSON -->
<g id="edge44" class="edge">
<title>STRUCT_TOP&#45;&gt;STRUCT_PERSON</title>
-<path fill="none" stroke="#555555" d="M1546.47,-376.11C1531.72,-340.49 1506.36,-279.23 1491.91,-244.33"/>
-<polygon fill="#555555" stroke="#555555" points="1493.99,-243.86 1489.75,-239.12 1490.11,-245.47 1493.99,-243.86"/>
+<path fill="none" stroke="#555555" d="M1549.61,-446.07C1534.71,-396.53 1503.8,-293.77 1489.1,-244.91"/>
+<polygon fill="#555555" stroke="#555555" points="1491.15,-244.41 1487.41,-239.27 1487.12,-245.62 1491.15,-244.41"/>
</g>
<!-- STRUCT_S1 -->
<g id="node28" class="node">
@@ -498,8 +498,8 @@
<!-- STRUCT_TOP&#45;&gt;STRUCT_S1 -->
<g id="edge45" class="edge">
<title>STRUCT_TOP&#45;&gt;STRUCT_S1</title>
-<path fill="none" stroke="#555555" d="M1558,-375.71C1558,-340.38 1558,-280.29 1558,-245.36"/>
-<polygon fill="#555555" stroke="#555555" points="1560.1,-245.4 1558,-239.4 1555.9,-245.4 1560.1,-245.4"/>
+<path fill="none" stroke="#555555" d="M1558,-445.58C1558,-395.91 1558,-293.85 1558,-245.08"/>
+<polygon fill="#555555" stroke="#555555" points="1560.1,-245.25 1558,-239.25 1555.9,-245.25 1560.1,-245.25"/>
</g>
<!-- STRUCT_S2 -->
<g id="node29" class="node">
@@ -511,8 +511,8 @@
<!-- STRUCT_TOP&#45;&gt;STRUCT_S2 -->
<g id="edge46" class="edge">
<title>STRUCT_TOP&#45;&gt;STRUCT_S2</title>
-<path fill="none" stroke="#555555" d="M1571.02,-376.11C1587.69,-340.49 1616.35,-279.23 1632.67,-244.33"/>
-<polygon fill="#555555" stroke="#555555" points="1634.48,-245.42 1635.12,-239.09 1630.68,-243.64 1634.48,-245.42"/>
+<path fill="none" stroke="#555555" d="M1567.48,-446.07C1584.32,-396.53 1619.24,-293.77 1635.85,-244.91"/>
+<polygon fill="#555555" stroke="#555555" points="1637.82,-245.61 1637.77,-239.26 1633.85,-244.26 1637.82,-245.61"/>
</g>
<!-- STRUCT_MORE -->
<g id="node30" class="node">
@@ -523,8 +523,8 @@
<!-- STRUCT_TOP&#45;&gt;STRUCT_MORE -->
<g id="edge47" class="edge">
<title>STRUCT_TOP&#45;&gt;STRUCT_MORE</title>
-<path fill="none" stroke="#555555" d="M1582.56,-377.7C1616.8,-341.11 1678.29,-275.38 1710.69,-240.75"/>
-<polygon fill="#555555" stroke="#555555" points="1712.04,-242.39 1714.6,-236.57 1708.97,-239.52 1712.04,-242.39"/>
+<path fill="none" stroke="#555555" d="M1576.29,-447.05C1610.53,-396.68 1683.74,-288.97 1716.08,-241.39"/>
+<polygon fill="#555555" stroke="#555555" points="1717.7,-242.75 1719.33,-236.61 1714.22,-240.39 1717.7,-242.75"/>
</g>
<!-- STRUCT_TOP&#45;&gt;MEM_TOP -->
<!-- STRUCT_BOT -->
@@ -576,8 +576,8 @@
<!-- MEM_TOP&#45;&gt;MEM_ALIAS2 -->
<g id="edge54" class="edge">
<title>MEM_TOP&#45;&gt;MEM_ALIAS2</title>
-<path fill="none" stroke="#555555" d="M1876.11,-386.79C1866.64,-353.58 1845.8,-280.42 1834.92,-242.24"/>
-<polygon fill="#555555" stroke="#555555" points="1836.96,-241.75 1833.29,-236.55 1832.92,-242.9 1836.96,-241.75"/>
+<path fill="none" stroke="#555555" d="M1877.44,-456.76C1868.24,-412.32 1843.64,-293.5 1833.01,-242.16"/>
+<polygon fill="#555555" stroke="#555555" points="1835.12,-242.02 1831.85,-236.57 1831.01,-242.88 1835.12,-242.02"/>
</g>
<!-- MEM_ALIAS3 -->
<g id="node34" class="node">
@@ -588,8 +588,8 @@
<!-- MEM_TOP&#45;&gt;MEM_ALIAS3 -->
<g id="edge55" class="edge">
<title>MEM_TOP&#45;&gt;MEM_ALIAS3</title>
-<path fill="none" stroke="#555555" d="M1885.89,-386.79C1895.36,-353.58 1916.2,-280.42 1927.08,-242.24"/>
-<polygon fill="#555555" stroke="#555555" points="1929.08,-242.9 1928.71,-236.55 1925.04,-241.75 1929.08,-242.9"/>
+<path fill="none" stroke="#555555" d="M1884.56,-456.76C1893.76,-412.32 1918.36,-293.5 1928.99,-242.16"/>
+<polygon fill="#555555" stroke="#555555" points="1930.99,-242.88 1930.15,-236.57 1926.88,-242.02 1930.99,-242.88"/>
</g>
<!-- MEM_MORE -->
<g id="node35" class="node">
@@ -600,8 +600,8 @@
<!-- MEM_TOP&#45;&gt;MEM_MORE -->
<g id="edge56" class="edge">
<title>MEM_TOP&#45;&gt;MEM_MORE</title>
-<path fill="none" stroke="#555555" d="M1893.51,-387.45C1919.1,-353.7 1977.4,-276.8 2005.82,-239.32"/>
-<polygon fill="#555555" stroke="#555555" points="2007.25,-240.91 2009.2,-234.86 2003.9,-238.37 2007.25,-240.91"/>
+<path fill="none" stroke="#555555" d="M1890.25,-457.16C1914.82,-412.56 1981.72,-291.1 2009.57,-240.54"/>
+<polygon fill="#555555" stroke="#555555" points="2011.29,-241.76 2012.35,-235.49 2007.62,-239.74 2011.29,-241.76"/>
</g>
<!-- MEM_TOP&#45;&gt;TUPLE_TOP -->
<!-- MEM_BOT -->
@@ -639,70 +639,94 @@
<!-- TUPLE1 -->
<g id="node38" class="node">
<title>TUPLE1</title>
-<polygon fill="#ffc0cb" stroke="black" points="2128.88,-328.97 2073.12,-328.97 2073.12,-292.97 2128.88,-292.97 2128.88,-328.97"/>
-<text text-anchor="middle" x="2101" y="-306.87" font-family="DejaVu Sans" font-size="13.00">(type)</text>
+<polygon fill="#ffc0cb" stroke="none" points="2116.88,-372.47 2073.12,-372.47 2073.12,-319.47 2116.88,-319.47 2116.88,-372.47"/>
+<polygon fill="#ffc0cb" stroke="none" points="2073.12,-345.97 2073.12,-372.47 2116.88,-372.47 2116.88,-345.97 2073.12,-345.97"/>
+<polygon fill="none" stroke="black" points="2073.12,-345.97 2073.12,-372.47 2116.88,-372.47 2116.88,-345.97 2073.12,-345.97"/>
+<text text-anchor="start" x="2078.12" y="-355.12" font-family="DejaVu Sans" font-size="13.00">tuple</text>
+<polygon fill="black" stroke="none" points="2073.12,-319.47 2073.12,-345.97 2116.88,-345.97 2116.88,-319.47 2073.12,-319.47"/>
+<polygon fill="none" stroke="black" points="2073.12,-319.47 2073.12,-345.97 2116.88,-345.97 2116.88,-319.47 2073.12,-319.47"/>
+<text text-anchor="start" x="2080.38" y="-328.62" font-family="DejaVu Sans" font-size="13.00" fill="white">type</text>
</g>
<!-- TUPLE_TOP&#45;&gt;TUPLE1 -->
<g id="edge62" class="edge">
<title>TUPLE_TOP&#45;&gt;TUPLE1</title>
-<path fill="none" stroke="#555555" d="M2114.8,-386.65C2112.19,-372.52 2108.47,-352.37 2105.54,-336.56"/>
-<polygon fill="#555555" stroke="#555555" points="2107.61,-336.2 2104.46,-330.68 2103.48,-336.96 2107.61,-336.2"/>
+<path fill="none" stroke="#555555" d="M2114.85,-456.57C2111.26,-436.74 2105.31,-403.91 2100.86,-379.34"/>
+<polygon fill="#555555" stroke="#555555" points="2102.94,-379.03 2099.81,-373.5 2098.81,-379.77 2102.94,-379.03"/>
</g>
<!-- TUPLE2 -->
<g id="node39" class="node">
<title>TUPLE2</title>
-<polygon fill="#ffc0cb" stroke="black" points="2239,-328.97 2145,-328.97 2145,-292.97 2239,-292.97 2239,-328.97"/>
-<text text-anchor="middle" x="2192" y="-306.87" font-family="DejaVu Sans" font-size="13.00">(type, type)</text>
+<polygon fill="#ffc0cb" stroke="none" points="2176.88,-385.72 2133.12,-385.72 2133.12,-306.22 2176.88,-306.22 2176.88,-385.72"/>
+<polygon fill="#ffc0cb" stroke="none" points="2133.12,-359.22 2133.12,-385.72 2176.88,-385.72 2176.88,-359.22 2133.12,-359.22"/>
+<polygon fill="none" stroke="black" points="2133.12,-359.22 2133.12,-385.72 2176.88,-385.72 2176.88,-359.22 2133.12,-359.22"/>
+<text text-anchor="start" x="2138.12" y="-368.37" font-family="DejaVu Sans" font-size="13.00">tuple</text>
+<polygon fill="black" stroke="none" points="2133.12,-332.72 2133.12,-359.22 2176.88,-359.22 2176.88,-332.72 2133.12,-332.72"/>
+<polygon fill="none" stroke="black" points="2133.12,-332.72 2133.12,-359.22 2176.88,-359.22 2176.88,-332.72 2133.12,-332.72"/>
+<text text-anchor="start" x="2140.38" y="-341.87" font-family="DejaVu Sans" font-size="13.00" fill="white">type</text>
+<polygon fill="black" stroke="none" points="2133.12,-306.22 2133.12,-332.72 2176.88,-332.72 2176.88,-306.22 2133.12,-306.22"/>
+<polygon fill="none" stroke="black" points="2133.12,-306.22 2133.12,-332.72 2176.88,-332.72 2176.88,-306.22 2133.12,-306.22"/>
+<text text-anchor="start" x="2140.38" y="-315.37" font-family="DejaVu Sans" font-size="13.00" fill="white">type</text>
</g>
<!-- TUPLE_TOP&#45;&gt;TUPLE2 -->
<g id="edge63" class="edge">
<title>TUPLE_TOP&#45;&gt;TUPLE2</title>
-<path fill="none" stroke="#555555" d="M2131.23,-387.51C2143,-372.87 2160.35,-351.31 2173.5,-334.97"/>
-<polygon fill="#555555" stroke="#555555" points="2175.06,-336.38 2177.18,-330.39 2171.79,-333.74 2175.06,-336.38"/>
+<path fill="none" stroke="#555555" d="M2122.99,-456.83C2127.76,-440.46 2135.17,-415.04 2141.65,-392.78"/>
+<polygon fill="#555555" stroke="#555555" points="2143.64,-393.48 2143.3,-387.13 2139.6,-392.3 2143.64,-393.48"/>
</g>
<!-- TUPLEN -->
<g id="node40" class="node">
<title>TUPLEN</title>
-<polygon fill="#ffc0cb" stroke="black" points="2332.75,-328.97 2255.25,-328.97 2255.25,-292.97 2332.75,-292.97 2332.75,-328.97"/>
-<text text-anchor="middle" x="2294" y="-306.87" font-family="DejaVu Sans" font-size="13.00">(type, …)</text>
+<polygon fill="#ffc0cb" stroke="none" points="2236.88,-398.97 2193.12,-398.97 2193.12,-292.97 2236.88,-292.97 2236.88,-398.97"/>
+<polygon fill="#ffc0cb" stroke="none" points="2193.12,-372.47 2193.12,-398.97 2236.88,-398.97 2236.88,-372.47 2193.12,-372.47"/>
+<polygon fill="none" stroke="black" points="2193.12,-372.47 2193.12,-398.97 2236.88,-398.97 2236.88,-372.47 2193.12,-372.47"/>
+<text text-anchor="start" x="2198.12" y="-381.62" font-family="DejaVu Sans" font-size="13.00">tuple</text>
+<polygon fill="black" stroke="none" points="2193.12,-345.97 2193.12,-372.47 2236.88,-372.47 2236.88,-345.97 2193.12,-345.97"/>
+<polygon fill="none" stroke="black" points="2193.12,-345.97 2193.12,-372.47 2236.88,-372.47 2236.88,-345.97 2193.12,-345.97"/>
+<text text-anchor="start" x="2200.38" y="-355.12" font-family="DejaVu Sans" font-size="13.00" fill="white">type</text>
+<polygon fill="black" stroke="none" points="2193.12,-319.47 2193.12,-345.97 2236.88,-345.97 2236.88,-319.47 2193.12,-319.47"/>
+<polygon fill="none" stroke="black" points="2193.12,-319.47 2193.12,-345.97 2236.88,-345.97 2236.88,-319.47 2193.12,-319.47"/>
+<text text-anchor="start" x="2208.62" y="-328.62" font-family="DejaVu Sans" font-size="13.00" fill="white">…</text>
+<polygon fill="black" stroke="none" points="2193.12,-292.97 2193.12,-319.47 2236.88,-319.47 2236.88,-292.97 2193.12,-292.97"/>
+<polygon fill="none" stroke="black" points="2193.12,-292.97 2193.12,-319.47 2236.88,-319.47 2236.88,-292.97 2193.12,-292.97"/>
+<text text-anchor="start" x="2200.38" y="-302.12" font-family="DejaVu Sans" font-size="13.00" fill="white">type</text>
</g>
<!-- TUPLE_TOP&#45;&gt;TUPLEN -->
<g id="edge64" class="edge">
<title>TUPLE_TOP&#45;&gt;TUPLEN</title>
-<path fill="none" stroke="#555555" d="M2144.35,-390.18C2173.39,-375.01 2220.42,-350.42 2254.01,-332.87"/>
-<polygon fill="#555555" stroke="#555555" points="2254.85,-334.8 2259.2,-330.16 2252.91,-331.07 2254.85,-334.8"/>
+<path fill="none" stroke="#555555" d="M2134.21,-457.82C2148.47,-443.17 2169.34,-420.61 2185,-398.97 2186.4,-397.02 2187.8,-395.01 2189.17,-392.95"/>
+<polygon fill="#555555" stroke="#555555" points="2190.91,-394.14 2192.41,-387.96 2187.38,-391.86 2190.91,-394.14"/>
</g>
<!-- TUPLE_BOT -->
<g id="node37" class="node">
<title>TUPLE_BOT</title>
-<ellipse fill="#ffc0cb" stroke="black" cx="2155" cy="-111.99" rx="44.7" ry="18"/>
-<text text-anchor="middle" x="2155" y="-107.89" font-family="DejaVu Sans" font-size="13.00">⊥:tuple</text>
+<ellipse fill="#ffc0cb" stroke="black" cx="2136" cy="-111.99" rx="44.7" ry="18"/>
+<text text-anchor="middle" x="2136" y="-107.89" font-family="DejaVu Sans" font-size="13.00">⊥:tuple</text>
</g>
<!-- TUPLE_BOT&#45;&gt;BOT -->
<g id="edge81" class="edge">
<title>TUPLE_BOT&#45;&gt;BOT</title>
-<path fill="none" stroke="#555555" d="M2126.88,-97.69C2108.55,-89.66 2083.87,-80.04 2061,-75 1906.73,-41.03 1407.62,-24.05 1271.54,-19.98"/>
-<polygon fill="#555555" stroke="#555555" points="1271.79,-17.89 1265.73,-19.81 1271.67,-22.08 1271.79,-17.89"/>
+<path fill="none" stroke="#555555" d="M2111.91,-96.53C2097.63,-88.71 2078.88,-79.71 2061,-75 1908.25,-34.75 1408.04,-22.3 1271.63,-19.61"/>
+<polygon fill="#555555" stroke="#555555" points="1271.84,-17.52 1265.8,-19.5 1271.76,-21.72 1271.84,-17.52"/>
</g>
<!-- TUPLE1&#45;&gt;TUPLE_BOT -->
<g id="edge65" class="edge">
<title>TUPLE1&#45;&gt;TUPLE_BOT</title>
-<path fill="none" stroke="#555555" d="M2105.79,-292.49C2115.46,-257.21 2137.33,-177.44 2148.37,-137.19"/>
-<polygon fill="#555555" stroke="#555555" points="2150.33,-137.95 2149.9,-131.61 2146.28,-136.84 2150.33,-137.95"/>
+<path fill="none" stroke="#555555" d="M2099.47,-319.7C2107.39,-274.85 2123.82,-181.9 2131.66,-137.56"/>
+<polygon fill="#555555" stroke="#555555" points="2133.69,-138.14 2132.66,-131.86 2129.55,-137.4 2133.69,-138.14"/>
</g>
<!-- TUPLE1&#45;&gt;TUPLE2 -->
<!-- TUPLE2&#45;&gt;TUPLE_BOT -->
<g id="edge66" class="edge">
<title>TUPLE2&#45;&gt;TUPLE_BOT</title>
-<path fill="none" stroke="#555555" d="M2188.72,-292.49C2182.12,-257.37 2167.24,-178.17 2159.65,-137.74"/>
-<polygon fill="#555555" stroke="#555555" points="2161.73,-137.43 2158.56,-131.92 2157.6,-138.2 2161.73,-137.43"/>
+<path fill="none" stroke="#555555" d="M2151.84,-306.4C2147.91,-258.37 2141.3,-177.75 2138,-137.46"/>
+<polygon fill="#555555" stroke="#555555" points="2140.13,-137.74 2137.55,-131.93 2135.95,-138.08 2140.13,-137.74"/>
</g>
<!-- TUPLE2&#45;&gt;TUPLEN -->
<!-- TUPLEN&#45;&gt;TUPLE_BOT -->
<g id="edge67" class="edge">
<title>TUPLEN&#45;&gt;TUPLE_BOT</title>
-<path fill="none" stroke="#555555" d="M2281.66,-292.49C2256.44,-256.74 2198.97,-175.3 2170.95,-135.59"/>
-<polygon fill="#555555" stroke="#555555" points="2172.76,-134.52 2167.59,-130.83 2169.33,-136.94 2172.76,-134.52"/>
+<path fill="none" stroke="#555555" d="M2197.37,-293.19C2180.79,-244.5 2156.69,-173.75 2144.2,-137.07"/>
+<polygon fill="#555555" stroke="#555555" points="2146.27,-136.64 2142.35,-131.63 2142.3,-137.99 2146.27,-136.64"/>
</g>
</g>
</svg>