diff options
| author | Cliff Click <cliffc@acm.org> | 2025-08-13 13:25:24 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-08-13 13:25:24 -0700 |
| commit | cf5be6998b26723ae29ab1edab84d32b0702182d (patch) | |
| tree | 7b8eee33a7681d60f25cd93b997d6a39bf1baba5 /docs/lattice_iffct.svg | |
| parent | 6a9a508d1809753ec5d41a5ced3f505384f1fe07 (diff) | |
| download | Simple-cf5be6998b26723ae29ab1edab84d32b0702182d.tar.gz Simple-cf5be6998b26723ae29ab1edab84d32b0702182d.zip | |
TypeAnalysis continued
Diffstat (limited to 'docs/lattice_iffct.svg')
| -rw-r--r-- | docs/lattice_iffct.svg | 500 |
1 files changed, 500 insertions, 0 deletions
diff --git a/docs/lattice_iffct.svg b/docs/lattice_iffct.svg new file mode 100644 index 00000000..3c38552b --- /dev/null +++ b/docs/lattice_iffct.svg @@ -0,0 +1,500 @@ +<?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 12.2.0 (20241103.1931)
+ -->
+<!-- Title: Lattice Pages: 1 -->
+<svg width="1352pt" height="726pt"
+ viewBox="0.00 0.00 1352.00 725.54" 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 721.54)">
+<title>Lattice</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-721.54 1348,-721.54 1348,4 -4,4"/>
+<!-- TOP -->
+<g id="node1" class="node">
+<title>TOP</title>
+<ellipse fill="black" stroke="black" cx="578" cy="-696.42" rx="21.12" ry="21.12"/>
+<text text-anchor="start" x="570.12" y="-691.99" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00" fill="white">⊤</text>
+</g>
+<!-- XCTRL -->
+<g id="node3" class="node">
+<title>XCTRL</title>
+<ellipse fill="yellow" stroke="black" cx="41" cy="-621.29" rx="36.51" ry="18"/>
+<text text-anchor="start" x="22.25" y="-617.24" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="38" y="-617.24" font-family="Times New Roman,serif" font-size="14.00">:ctrl</text>
+</g>
+<!-- TOP->XCTRL -->
+<g id="edge1" class="edge">
+<title>TOP->XCTRL</title>
+<path fill="none" stroke="black" d="M556.95,-692.55C478.01,-681.8 198.42,-643.73 87.16,-628.58"/>
+<polygon fill="black" stroke="black" points="87.88,-625.14 77.5,-627.26 86.94,-632.08 87.88,-625.14"/>
+</g>
+<!-- INT_TOP -->
+<g id="node5" class="node">
+<title>INT_TOP</title>
+<ellipse fill="lightblue" stroke="black" cx="364" cy="-621.29" rx="33.95" ry="18"/>
+<text text-anchor="start" x="347.12" y="-617.24" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="362.88" y="-617.24" font-family="Times New Roman,serif" font-size="14.00">:int</text>
+</g>
+<!-- TOP->INT_TOP -->
+<g id="edge4" class="edge">
+<title>TOP->INT_TOP</title>
+<path fill="none" stroke="black" d="M557.87,-688.54C522.4,-676.42 448.22,-651.07 402.6,-635.48"/>
+<polygon fill="black" stroke="black" points="403.96,-632.25 393.37,-632.33 401.7,-638.87 403.96,-632.25"/>
+</g>
+<!-- FLT_TOP -->
+<g id="node14" class="node">
+<title>FLT_TOP</title>
+<ellipse fill="aqua" stroke="black" cx="578" cy="-621.29" rx="32.41" ry="18"/>
+<text text-anchor="start" x="562.25" y="-617.24" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="578" y="-617.24" font-family="Times New Roman,serif" font-size="14.00">:flt</text>
+</g>
+<!-- TOP->FLT_TOP -->
+<g id="edge18" class="edge">
+<title>TOP->FLT_TOP</title>
+<path fill="none" stroke="black" d="M578,-675.05C578,-667.55 578,-658.92 578,-650.83"/>
+<polygon fill="black" stroke="black" points="581.5,-651.09 578,-641.09 574.5,-651.09 581.5,-651.09"/>
+</g>
+<!-- FL8_TOP -->
+<g id="node22" class="node">
+<title>FL8_TOP</title>
+<ellipse fill="aqua" stroke="black" cx="893" cy="-621.29" rx="39.07" ry="18"/>
+<text text-anchor="start" x="872.38" y="-617.24" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="888.12" y="-617.24" font-family="Times New Roman,serif" font-size="14.00">:FP8</text>
+</g>
+<!-- TOP->FL8_TOP -->
+<g id="edge33" class="edge">
+<title>TOP->FL8_TOP</title>
+<path fill="none" stroke="black" d="M598.67,-690.62C648.91,-678.96 778.39,-648.9 847.67,-632.81"/>
+<polygon fill="black" stroke="black" points="848.24,-636.28 857.19,-630.61 846.65,-629.46 848.24,-636.28"/>
+</g>
+<!-- TUPLE_TOP -->
+<g id="node27" class="node">
+<title>TUPLE_TOP</title>
+<ellipse fill="pink" stroke="black" cx="1176" cy="-466.97" rx="42.65" ry="18"/>
+<text text-anchor="start" x="1152.75" y="-462.92" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="1168.5" y="-462.92" font-family="Times New Roman,serif" font-size="14.00">:tuple</text>
+</g>
+<!-- TOP->TUPLE_TOP -->
+<g id="edge43" class="edge">
+<title>TOP->TUPLE_TOP</title>
+<path fill="none" stroke="black" d="M597.9,-688.78C682.7,-656.25 1015.01,-528.74 1133.64,-483.23"/>
+<polygon fill="black" stroke="black" points="1134.61,-486.6 1142.69,-479.75 1132.1,-480.07 1134.61,-486.6"/>
+</g>
+<!-- BOT -->
+<g id="node2" class="node">
+<title>BOT</title>
+<ellipse fill="black" stroke="black" cx="578" cy="-21.12" rx="21.12" ry="21.12"/>
+<text text-anchor="start" x="570.12" y="-16.7" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00" fill="white">⊥</text>
+</g>
+<!-- CTRL -->
+<g id="node4" class="node">
+<title>CTRL</title>
+<ellipse fill="yellow" stroke="black" cx="41" cy="-96.25" rx="36.51" ry="18"/>
+<text text-anchor="start" x="22.25" y="-92.2" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="38" y="-92.2" font-family="Times New Roman,serif" font-size="14.00">:ctrl</text>
+</g>
+<!-- XCTRL->CTRL -->
+<g id="edge2" class="edge">
+<title>XCTRL->CTRL</title>
+<path fill="none" stroke="black" d="M41,-602.91C41,-525.1 41,-222.37 41,-125.93"/>
+<polygon fill="black" stroke="black" points="44.5,-125.99 41,-115.99 37.5,-125.99 44.5,-125.99"/>
+</g>
+<!-- CTRL->BOT -->
+<g id="edge3" class="edge">
+<title>CTRL->BOT</title>
+<path fill="none" stroke="black" d="M75.82,-90.51C173.78,-77.17 450.76,-39.45 545.64,-26.53"/>
+<polygon fill="black" stroke="black" points="545.85,-30.03 555.29,-25.22 544.91,-23.1 545.85,-30.03"/>
+</g>
+<!-- INT_HI -->
+<g id="node7" class="node">
+<title>INT_HI</title>
+<ellipse fill="lightblue" stroke="black" cx="211" cy="-549.29" rx="52.89" ry="18"/>
+<text text-anchor="middle" x="211" y="-544.24" font-family="Times New Roman,serif" font-size="14.00">max < min</text>
+</g>
+<!-- INT_TOP->INT_HI -->
+<g id="edge5" class="edge">
+<title>INT_TOP->INT_HI</title>
+<path fill="none" stroke="black" d="M338.74,-608.73C315.1,-597.92 279.4,-581.59 251.74,-568.93"/>
+<polygon fill="black" stroke="black" points="253.5,-565.89 242.95,-564.91 250.59,-572.25 253.5,-565.89"/>
+</g>
+<!-- INT_BOT -->
+<g id="node6" class="node">
+<title>INT_BOT</title>
+<ellipse fill="lightblue" stroke="black" cx="364" cy="-96.25" rx="33.95" ry="18"/>
+<text text-anchor="start" x="347.12" y="-92.2" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="362.88" y="-92.2" font-family="Times New Roman,serif" font-size="14.00">:int</text>
+</g>
+<!-- INT_BOT->BOT -->
+<g id="edge15" class="edge">
+<title>INT_BOT->BOT</title>
+<path fill="none" stroke="black" d="M391.98,-85.69C432.05,-71.99 505.55,-46.88 547.16,-32.66"/>
+<polygon fill="black" stroke="black" points="548.23,-36 556.56,-29.45 545.96,-29.37 548.23,-36"/>
+</g>
+<!-- INT_XBOOL -->
+<g id="node8" class="node">
+<title>INT_XBOOL</title>
+<ellipse fill="lightblue" stroke="black" cx="97" cy="-466.97" rx="27.81" ry="18"/>
+<text text-anchor="middle" x="97" y="-461.92" font-family="Times New Roman,serif" font-size="14.00">1...0</text>
+</g>
+<!-- INT_HI->INT_XBOOL -->
+<g id="edge6" class="edge">
+<title>INT_HI->INT_XBOOL</title>
+<path fill="none" stroke="black" d="M188.75,-532.62C170.46,-519.73 144.44,-501.4 124.78,-487.55"/>
+<polygon fill="black" stroke="black" points="126.86,-484.73 116.67,-481.83 122.83,-490.45 126.86,-484.73"/>
+</g>
+<!-- INT_CON -->
+<g id="node9" class="node">
+<title>INT_CON</title>
+<ellipse fill="lightblue" stroke="black" cx="211" cy="-353.65" rx="52.89" ry="18"/>
+<text text-anchor="middle" x="211" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">constants...</text>
+</g>
+<!-- INT_HI->INT_CON -->
+<g id="edge9" class="edge">
+<title>INT_HI->INT_CON</title>
+<path fill="none" stroke="black" d="M211,-530.89C211,-497.02 211,-424.56 211,-383.55"/>
+<polygon fill="black" stroke="black" points="214.5,-383.66 211,-373.66 207.5,-383.66 214.5,-383.66"/>
+</g>
+<!-- INT_CON0 -->
+<g id="node10" class="node">
+<title>INT_CON0</title>
+<ellipse fill="lightblue" stroke="black" cx="18" cy="-353.65" rx="18" ry="18"/>
+<text text-anchor="middle" x="18" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">0</text>
+</g>
+<!-- INT_XBOOL->INT_CON0 -->
+<g id="edge7" class="edge">
+<title>INT_XBOOL->INT_CON0</title>
+<path fill="none" stroke="black" d="M85.68,-450.02C72.29,-431.15 49.88,-399.57 34.54,-377.96"/>
+<polygon fill="black" stroke="black" points="37.56,-376.17 28.92,-370.04 31.86,-380.22 37.56,-376.17"/>
+</g>
+<!-- INT_CON1 -->
+<g id="node11" class="node">
+<title>INT_CON1</title>
+<ellipse fill="lightblue" stroke="black" cx="97" cy="-353.65" rx="18" ry="18"/>
+<text text-anchor="middle" x="97" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- INT_XBOOL->INT_CON1 -->
+<g id="edge8" class="edge">
+<title>INT_XBOOL->INT_CON1</title>
+<path fill="none" stroke="black" d="M97,-448.58C97,-431.1 97,-403.85 97,-383.2"/>
+<polygon fill="black" stroke="black" points="100.5,-383.44 97,-373.44 93.5,-383.44 100.5,-383.44"/>
+</g>
+<!-- INT_LO -->
+<g id="node13" class="node">
+<title>INT_LO</title>
+<ellipse fill="lightblue" stroke="black" cx="211" cy="-168.25" rx="52.89" ry="18"/>
+<text text-anchor="middle" x="211" y="-163.2" font-family="Times New Roman,serif" font-size="14.00">max > min</text>
+</g>
+<!-- INT_CON->INT_LO -->
+<g id="edge13" class="edge">
+<title>INT_CON->INT_LO</title>
+<path fill="none" stroke="black" d="M211,-335.2C211,-303.06 211,-236.57 211,-197.9"/>
+<polygon fill="black" stroke="black" points="214.5,-198.14 211,-188.14 207.5,-198.14 214.5,-198.14"/>
+</g>
+<!-- INT_CON0->INT_CON1 -->
+<!-- INT_BOOL -->
+<g id="node12" class="node">
+<title>INT_BOOL</title>
+<ellipse fill="lightblue" stroke="black" cx="97" cy="-245.45" rx="27.81" ry="18"/>
+<text text-anchor="middle" x="97" y="-240.4" font-family="Times New Roman,serif" font-size="14.00">0...1</text>
+</g>
+<!-- INT_CON0->INT_BOOL -->
+<g id="edge10" class="edge">
+<title>INT_CON0->INT_BOOL</title>
+<path fill="none" stroke="black" d="M28.33,-338.77C41.09,-321.61 63.05,-292.09 78.7,-271.06"/>
+<polygon fill="black" stroke="black" points="81.32,-273.39 84.48,-263.28 75.71,-269.21 81.32,-273.39"/>
+</g>
+<!-- INT_CON1->INT_CON -->
+<!-- INT_CON1->INT_BOOL -->
+<g id="edge11" class="edge">
+<title>INT_CON1->INT_BOOL</title>
+<path fill="none" stroke="black" d="M97,-335.59C97,-319.35 97,-294.6 97,-275.3"/>
+<polygon fill="black" stroke="black" points="100.5,-275.34 97,-265.34 93.5,-275.34 100.5,-275.34"/>
+</g>
+<!-- INT_BOOL->INT_LO -->
+<g id="edge12" class="edge">
+<title>INT_BOOL->INT_LO</title>
+<path fill="none" stroke="black" d="M116.08,-231.86C132.97,-220.72 157.98,-204.22 178.09,-190.96"/>
+<polygon fill="black" stroke="black" points="179.83,-194.01 186.25,-185.58 175.97,-188.16 179.83,-194.01"/>
+</g>
+<!-- INT_LO->INT_BOT -->
+<g id="edge14" class="edge">
+<title>INT_LO->INT_BOT</title>
+<path fill="none" stroke="black" d="M241.59,-153.25C266.73,-141.75 302.37,-125.45 328.71,-113.39"/>
+<polygon fill="black" stroke="black" points="330.01,-116.65 337.64,-109.31 327.09,-110.29 330.01,-116.65"/>
+</g>
+<!-- FLT_CON64 -->
+<g id="node16" class="node">
+<title>FLT_CON64</title>
+<ellipse fill="aqua" stroke="black" cx="725" cy="-353.65" rx="55.33" ry="40.66"/>
+<text text-anchor="middle" x="725" y="-365.1" font-family="Times New Roman,serif" font-size="14.00">64b consts</text>
+<text text-anchor="middle" x="725" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">[excludes</text>
+<text text-anchor="middle" x="725" y="-332.1" font-family="Times New Roman,serif" font-size="14.00">32b consts]</text>
+</g>
+<!-- FLT_TOP->FLT_CON64 -->
+<g id="edge19" class="edge">
+<title>FLT_TOP->FLT_CON64</title>
+<path fill="none" stroke="black" d="M587.65,-603.73C609.87,-563.28 665.3,-462.35 698.56,-401.8"/>
+<polygon fill="black" stroke="black" points="701.62,-403.49 703.37,-393.04 695.48,-400.12 701.62,-403.49"/>
+</g>
+<!-- FLT_CONPI -->
+<g id="node18" class="node">
+<title>FLT_CONPI</title>
+<ellipse fill="aqua" stroke="black" cx="578" cy="-353.65" rx="48.79" ry="18"/>
+<text text-anchor="middle" x="578" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">3.14159...</text>
+</g>
+<!-- FLT_TOP->FLT_CONPI -->
+<g id="edge20" class="edge">
+<title>FLT_TOP->FLT_CONPI</title>
+<path fill="none" stroke="black" d="M578,-602.9C578,-557.33 578,-438.91 578,-383.3"/>
+<polygon fill="black" stroke="black" points="581.5,-383.34 578,-373.34 574.5,-383.34 581.5,-383.34"/>
+</g>
+<!-- FLT_X32 -->
+<g id="node19" class="node">
+<title>FLT_X32</title>
+<ellipse fill="aqua" stroke="black" cx="436" cy="-466.97" rx="28.32" ry="28.32"/>
+<text text-anchor="middle" x="436" y="-461.92" font-family="Times New Roman,serif" font-size="14.00">~f32</text>
+</g>
+<!-- FLT_TOP->FLT_X32 -->
+<g id="edge23" class="edge">
+<title>FLT_TOP->FLT_X32</title>
+<path fill="none" stroke="black" d="M563.07,-605.07C539.34,-579.28 492.68,-528.57 462.98,-496.29"/>
+<polygon fill="black" stroke="black" points="465.83,-494.22 456.48,-489.23 460.67,-498.96 465.83,-494.22"/>
+</g>
+<!-- FLT_BOT -->
+<g id="node15" class="node">
+<title>FLT_BOT</title>
+<ellipse fill="aqua" stroke="black" cx="578" cy="-96.25" rx="32.41" ry="18"/>
+<text text-anchor="start" x="562.25" y="-92.2" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="578" y="-92.2" font-family="Times New Roman,serif" font-size="14.00">:flt</text>
+</g>
+<!-- FLT_BOT->BOT -->
+<g id="edge29" class="edge">
+<title>FLT_BOT->BOT</title>
+<path fill="none" stroke="black" d="M578,-77.92C578,-70.74 578,-62.18 578,-53.95"/>
+<polygon fill="black" stroke="black" points="581.5,-54.22 578,-44.22 574.5,-54.22 581.5,-54.22"/>
+</g>
+<!-- FLT_CON64->FLT_BOT -->
+<g id="edge21" class="edge">
+<title>FLT_CON64->FLT_BOT</title>
+<path fill="none" stroke="black" d="M703.47,-315.95C673.5,-263.48 619.95,-169.7 593.56,-123.5"/>
+<polygon fill="black" stroke="black" points="596.67,-121.88 588.67,-114.93 590.59,-125.35 596.67,-121.88"/>
+</g>
+<!-- FLT_CON32 -->
+<g id="node17" class="node">
+<title>FLT_CON32</title>
+<ellipse fill="aqua" stroke="black" cx="436" cy="-353.65" rx="50.33" ry="18"/>
+<text text-anchor="middle" x="436" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">32b consts</text>
+</g>
+<!-- FLT_CON32->FLT_CONPI -->
+<!-- FLT_32 -->
+<g id="node21" class="node">
+<title>FLT_32</title>
+<ellipse fill="aqua" stroke="black" cx="436" cy="-245.45" rx="23.2" ry="23.2"/>
+<text text-anchor="middle" x="436" y="-240.4" font-family="Times New Roman,serif" font-size="14.00">f32</text>
+</g>
+<!-- FLT_CON32->FLT_32 -->
+<g id="edge27" class="edge">
+<title>FLT_CON32->FLT_32</title>
+<path fill="none" stroke="black" d="M436,-335.59C436,-320.77 436,-298.87 436,-280.49"/>
+<polygon fill="black" stroke="black" points="439.5,-280.54 436,-270.54 432.5,-280.54 439.5,-280.54"/>
+</g>
+<!-- FLT_CONPI->FLT_BOT -->
+<g id="edge22" class="edge">
+<title>FLT_CONPI->FLT_BOT</title>
+<path fill="none" stroke="black" d="M578,-335.55C578,-291.81 578,-180.01 578,-126.15"/>
+<polygon fill="black" stroke="black" points="581.5,-126.19 578,-116.19 574.5,-126.19 581.5,-126.19"/>
+</g>
+<!-- FLT_CONPI->FLT_CON64 -->
+<!-- FLT_X32->FLT_CON32 -->
+<g id="edge25" class="edge">
+<title>FLT_X32->FLT_CON32</title>
+<path fill="none" stroke="black" d="M436,-438.17C436,-421.48 436,-400.3 436,-383.44"/>
+<polygon fill="black" stroke="black" points="439.5,-383.57 436,-373.57 432.5,-383.57 439.5,-383.57"/>
+</g>
+<!-- FLT_CON0 -->
+<g id="node20" class="node">
+<title>FLT_CON0</title>
+<ellipse fill="aqua" stroke="black" cx="325" cy="-353.65" rx="18.08" ry="18.08"/>
+<text text-anchor="middle" x="325" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">0.</text>
+</g>
+<!-- FLT_X32->FLT_CON0 -->
+<g id="edge24" class="edge">
+<title>FLT_X32->FLT_CON0</title>
+<path fill="none" stroke="black" d="M416.41,-446.33C396.48,-426.34 365.72,-395.49 345.47,-375.18"/>
+<polygon fill="black" stroke="black" points="348.11,-372.87 338.57,-368.26 343.15,-377.82 348.11,-372.87"/>
+</g>
+<!-- FLT_CON0->FLT_CON32 -->
+<!-- FLT_CON0->FLT_32 -->
+<g id="edge26" class="edge">
+<title>FLT_CON0->FLT_32</title>
+<path fill="none" stroke="black" d="M337.73,-340.47C355.61,-323.37 388.5,-291.9 411.28,-270.1"/>
+<polygon fill="black" stroke="black" points="413.56,-272.76 418.37,-263.32 408.72,-267.71 413.56,-272.76"/>
+</g>
+<!-- FLT_32->FLT_BOT -->
+<g id="edge28" class="edge">
+<title>FLT_32->FLT_BOT</title>
+<path fill="none" stroke="black" d="M452.29,-228.33C477.48,-201.86 526,-150.88 554.84,-120.58"/>
+<polygon fill="black" stroke="black" points="557.36,-123.01 561.72,-113.36 552.29,-118.19 557.36,-123.01"/>
+</g>
+<!-- FL8_MINDOTS -->
+<g id="node24" class="node">
+<title>FL8_MINDOTS</title>
+<ellipse fill="aqua" stroke="black" cx="850" cy="-353.65" rx="27" ry="18"/>
+<text text-anchor="middle" x="850" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">...</text>
+</g>
+<!-- FL8_TOP->FL8_MINDOTS -->
+<g id="edge34" class="edge">
+<title>FL8_TOP->FL8_MINDOTS</title>
+<path fill="none" stroke="black" d="M890.04,-602.9C882.71,-557.24 863.62,-438.41 854.71,-382.95"/>
+<polygon fill="black" stroke="black" points="858.2,-382.64 853.16,-373.32 851.29,-383.75 858.2,-382.64"/>
+</g>
+<!-- FL8_ZERO -->
+<g id="node25" class="node">
+<title>FL8_ZERO</title>
+<ellipse fill="aqua" stroke="black" cx="938" cy="-353.65" rx="18" ry="18"/>
+<text text-anchor="middle" x="938" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">0</text>
+</g>
+<!-- FL8_TOP->FL8_ZERO -->
+<g id="edge35" class="edge">
+<title>FL8_TOP->FL8_ZERO</title>
+<path fill="none" stroke="black" d="M896.09,-602.9C903.77,-557.24 923.75,-438.41 933.07,-382.95"/>
+<polygon fill="black" stroke="black" points="936.49,-383.76 934.69,-373.32 929.58,-382.6 936.49,-383.76"/>
+</g>
+<!-- FL8_MAXDOTS -->
+<g id="node26" class="node">
+<title>FL8_MAXDOTS</title>
+<ellipse fill="aqua" stroke="black" cx="1026" cy="-353.65" rx="27" ry="18"/>
+<text text-anchor="middle" x="1026" y="-348.6" font-family="Times New Roman,serif" font-size="14.00">...</text>
+</g>
+<!-- FL8_TOP->FL8_MAXDOTS -->
+<g id="edge36" class="edge">
+<title>FL8_TOP->FL8_MAXDOTS</title>
+<path fill="none" stroke="black" d="M901.93,-603.32C924.76,-557.39 985.32,-435.51 1012.49,-380.85"/>
+<polygon fill="black" stroke="black" points="1015.46,-382.72 1016.78,-372.21 1009.19,-379.61 1015.46,-382.72"/>
+</g>
+<!-- FL8_BOT -->
+<g id="node23" class="node">
+<title>FL8_BOT</title>
+<ellipse fill="aqua" stroke="black" cx="893" cy="-96.25" rx="39.07" ry="18"/>
+<text text-anchor="start" x="872.38" y="-92.2" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="888.12" y="-92.2" font-family="Times New Roman,serif" font-size="14.00">:FP8</text>
+</g>
+<!-- FL8_BOT->BOT -->
+<g id="edge40" class="edge">
+<title>FL8_BOT->BOT</title>
+<path fill="none" stroke="black" d="M858.69,-87.28C797.25,-73.02 669.32,-43.32 609.77,-29.5"/>
+<polygon fill="black" stroke="black" points="610.81,-26.15 600.28,-27.3 609.23,-32.97 610.81,-26.15"/>
+</g>
+<!-- FL8_MINDOTS->FL8_BOT -->
+<g id="edge37" class="edge">
+<title>FL8_MINDOTS->FL8_BOT</title>
+<path fill="none" stroke="black" d="M853.02,-335.55C860.35,-291.72 879.09,-179.54 888.06,-125.81"/>
+<polygon fill="black" stroke="black" points="891.48,-126.61 889.67,-116.17 884.57,-125.45 891.48,-126.61"/>
+</g>
+<!-- FL8_MINDOTS->FL8_ZERO -->
+<!-- FL8_ZERO->FL8_BOT -->
+<g id="edge38" class="edge">
+<title>FL8_ZERO->FL8_BOT</title>
+<path fill="none" stroke="black" d="M934.84,-335.55C927.17,-291.72 907.56,-179.54 898.17,-125.81"/>
+<polygon fill="black" stroke="black" points="901.65,-125.41 896.48,-116.16 894.76,-126.62 901.65,-125.41"/>
+</g>
+<!-- FL8_ZERO->FL8_MAXDOTS -->
+<!-- FL8_MAXDOTS->FL8_BOT -->
+<g id="edge39" class="edge">
+<title>FL8_MAXDOTS->FL8_BOT</title>
+<path fill="none" stroke="black" d="M1017.07,-336.36C994.51,-292.7 935.08,-177.69 907.48,-124.26"/>
+<polygon fill="black" stroke="black" points="910.64,-122.76 902.94,-115.49 904.42,-125.98 910.64,-122.76"/>
+</g>
+<!-- TUPLE1 -->
+<g id="node29" class="node">
+<title>TUPLE1</title>
+<polygon fill="none" stroke="none" points="1344,-380.15 1290,-380.15 1290,-327.15 1344,-327.15 1344,-380.15"/>
+<polygon fill="pink" stroke="none" points="1298.25,-353.65 1298.25,-376.15 1335.75,-376.15 1335.75,-353.65 1298.25,-353.65"/>
+<polygon fill="none" stroke="black" points="1298.25,-353.65 1298.25,-376.15 1335.75,-376.15 1335.75,-353.65 1298.25,-353.65"/>
+<text text-anchor="start" x="1301.25" y="-359.85" font-family="Times New Roman,serif" font-size="14.00">Tuple</text>
+<polygon fill="black" stroke="none" points="1298.25,-331.15 1298.25,-353.65 1335.75,-353.65 1335.75,-331.15 1298.25,-331.15"/>
+<polygon fill="none" stroke="black" points="1298.25,-331.15 1298.25,-353.65 1335.75,-353.65 1335.75,-331.15 1298.25,-331.15"/>
+<text text-anchor="start" x="1305.38" y="-337.35" font-family="Times New Roman,serif" font-size="14.00" fill="white">type</text>
+</g>
+<!-- TUPLE_TOP->TUPLE1 -->
+<g id="edge44" class="edge">
+<title>TUPLE_TOP->TUPLE1</title>
+<path fill="none" stroke="black" d="M1195.61,-450.49C1217.7,-433.05 1254.08,-404.33 1281.26,-382.87"/>
+<polygon fill="black" stroke="black" points="1283.22,-385.78 1288.9,-376.84 1278.88,-380.29 1283.22,-385.78"/>
+</g>
+<!-- TUPLE2 -->
+<g id="node30" class="node">
+<title>TUPLE2</title>
+<polygon fill="none" stroke="none" points="1150,-391.4 1096,-391.4 1096,-315.9 1150,-315.9 1150,-391.4"/>
+<polygon fill="pink" stroke="none" points="1104.25,-364.9 1104.25,-387.4 1141.75,-387.4 1141.75,-364.9 1104.25,-364.9"/>
+<polygon fill="none" stroke="black" points="1104.25,-364.9 1104.25,-387.4 1141.75,-387.4 1141.75,-364.9 1104.25,-364.9"/>
+<text text-anchor="start" x="1107.25" y="-371.1" font-family="Times New Roman,serif" font-size="14.00">Tuple</text>
+<polygon fill="black" stroke="none" points="1104.25,-342.4 1104.25,-364.9 1141.75,-364.9 1141.75,-342.4 1104.25,-342.4"/>
+<polygon fill="none" stroke="black" points="1104.25,-342.4 1104.25,-364.9 1141.75,-364.9 1141.75,-342.4 1104.25,-342.4"/>
+<text text-anchor="start" x="1111.38" y="-348.6" font-family="Times New Roman,serif" font-size="14.00" fill="white">type</text>
+<polygon fill="black" stroke="none" points="1104.25,-319.9 1104.25,-342.4 1141.75,-342.4 1141.75,-319.9 1104.25,-319.9"/>
+<polygon fill="none" stroke="black" points="1104.25,-319.9 1104.25,-342.4 1141.75,-342.4 1141.75,-319.9 1104.25,-319.9"/>
+<text text-anchor="start" x="1111.38" y="-326.1" font-family="Times New Roman,serif" font-size="14.00" fill="white">type</text>
+</g>
+<!-- TUPLE_TOP->TUPLE2 -->
+<g id="edge45" class="edge">
+<title>TUPLE_TOP->TUPLE2</title>
+<path fill="none" stroke="black" d="M1167.95,-449.07C1161.91,-436.37 1153.32,-418.34 1145.27,-401.43"/>
+<polygon fill="black" stroke="black" points="1148.47,-400 1141.01,-392.47 1142.15,-403.01 1148.47,-400"/>
+</g>
+<!-- TUPLEN -->
+<g id="node31" class="node">
+<title>TUPLEN</title>
+<polygon fill="none" stroke="none" points="1247,-402.65 1193,-402.65 1193,-304.65 1247,-304.65 1247,-402.65"/>
+<polygon fill="pink" stroke="none" points="1201.25,-376.15 1201.25,-398.65 1238.75,-398.65 1238.75,-376.15 1201.25,-376.15"/>
+<polygon fill="none" stroke="black" points="1201.25,-376.15 1201.25,-398.65 1238.75,-398.65 1238.75,-376.15 1201.25,-376.15"/>
+<text text-anchor="start" x="1204.25" y="-382.35" font-family="Times New Roman,serif" font-size="14.00">Tuple</text>
+<polygon fill="black" stroke="none" points="1201.25,-353.65 1201.25,-376.15 1238.75,-376.15 1238.75,-353.65 1201.25,-353.65"/>
+<polygon fill="none" stroke="black" points="1201.25,-353.65 1201.25,-376.15 1238.75,-376.15 1238.75,-353.65 1201.25,-353.65"/>
+<text text-anchor="start" x="1208.38" y="-359.85" font-family="Times New Roman,serif" font-size="14.00" fill="white">type</text>
+<polygon fill="black" stroke="none" points="1201.25,-331.15 1201.25,-353.65 1238.75,-353.65 1238.75,-331.15 1201.25,-331.15"/>
+<polygon fill="none" stroke="black" points="1201.25,-331.15 1201.25,-353.65 1238.75,-353.65 1238.75,-331.15 1201.25,-331.15"/>
+<text text-anchor="start" x="1214.38" y="-337.35" font-family="Times New Roman,serif" font-size="14.00" fill="white">...</text>
+<polygon fill="black" stroke="none" points="1201.25,-308.65 1201.25,-331.15 1238.75,-331.15 1238.75,-308.65 1201.25,-308.65"/>
+<polygon fill="none" stroke="black" points="1201.25,-308.65 1201.25,-331.15 1238.75,-331.15 1238.75,-308.65 1201.25,-308.65"/>
+<text text-anchor="start" x="1208.38" y="-314.85" font-family="Times New Roman,serif" font-size="14.00" fill="white">type</text>
+</g>
+<!-- TUPLE_TOP->TUPLEN -->
+<g id="edge46" class="edge">
+<title>TUPLE_TOP->TUPLEN</title>
+<path fill="none" stroke="black" d="M1182.68,-449.07C1186.55,-439.27 1191.68,-426.31 1196.89,-413.13"/>
+<polygon fill="black" stroke="black" points="1200.08,-414.57 1200.5,-403.98 1193.57,-411.99 1200.08,-414.57"/>
+</g>
+<!-- TUPLE_BOT -->
+<g id="node28" class="node">
+<title>TUPLE_BOT</title>
+<ellipse fill="pink" stroke="black" cx="1177" cy="-245.45" rx="42.65" ry="18"/>
+<text text-anchor="start" x="1153.75" y="-241.4" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="1169.5" y="-241.4" font-family="Times New Roman,serif" font-size="14.00">:tuple</text>
+</g>
+<!-- TUPLE_BOT->BOT -->
+<g id="edge50" class="edge">
+<title>TUPLE_BOT->BOT</title>
+<path fill="none" stroke="black" d="M1144.8,-233.39C1040.21,-194.22 710.98,-70.93 608.66,-32.6"/>
+<polygon fill="black" stroke="black" points="610.14,-29.42 599.55,-29.19 607.68,-35.98 610.14,-29.42"/>
+</g>
+<!-- TUPLE1->TUPLE_BOT -->
+<g id="edge47" class="edge">
+<title>TUPLE1->TUPLE_BOT</title>
+<path fill="none" stroke="black" d="M1290.01,-332.18C1265.91,-313.9 1230.71,-287.2 1206.02,-268.46"/>
+<polygon fill="black" stroke="black" points="1208.4,-265.88 1198.32,-262.62 1204.17,-271.46 1208.4,-265.88"/>
+</g>
+<!-- TUPLE2->TUPLE_BOT -->
+<g id="edge48" class="edge">
+<title>TUPLE2->TUPLE_BOT</title>
+<path fill="none" stroke="black" d="M1141.58,-316.1C1148.69,-302.13 1156.65,-286.47 1163.23,-273.54"/>
+<polygon fill="black" stroke="black" points="1166.28,-275.26 1167.69,-264.76 1160.04,-272.09 1166.28,-275.26"/>
+</g>
+<!-- TUPLEN->TUPLE_BOT -->
+<g id="edge49" class="edge">
+<title>TUPLEN->TUPLE_BOT</title>
+<path fill="none" stroke="black" d="M1200.64,-304.83C1196.39,-294.34 1192.03,-283.58 1188.23,-274.19"/>
+<polygon fill="black" stroke="black" points="1191.48,-272.9 1184.49,-264.94 1185,-275.52 1191.48,-272.9"/>
+</g>
+</g>
+</svg>
|
