summaryrefslogtreecommitdiff
path: root/docs/lattice_iff.svg
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-08-13 13:25:24 -0700
committerCliff Click <cliffc@acm.org>2025-08-13 13:25:24 -0700
commitcf5be6998b26723ae29ab1edab84d32b0702182d (patch)
tree7b8eee33a7681d60f25cd93b997d6a39bf1baba5 /docs/lattice_iff.svg
parent6a9a508d1809753ec5d41a5ced3f505384f1fe07 (diff)
downloadSimple-cf5be6998b26723ae29ab1edab84d32b0702182d.tar.gz
Simple-cf5be6998b26723ae29ab1edab84d32b0702182d.zip
TypeAnalysis continued
Diffstat (limited to 'docs/lattice_iff.svg')
-rw-r--r--docs/lattice_iff.svg364
1 files changed, 364 insertions, 0 deletions
diff --git a/docs/lattice_iff.svg b/docs/lattice_iff.svg
new file mode 100644
index 00000000..dbe60f0d
--- /dev/null
+++ b/docs/lattice_iff.svg
@@ -0,0 +1,364 @@
+<?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="1061pt" height="709pt"
+ viewBox="0.00 0.00 1061.00 708.86" 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.86)">
+<title>Lattice</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-704.86 1057,-704.86 1057,4 -4,4"/>
+<!-- TOP -->
+<g id="node1" class="node">
+<title>TOP</title>
+<ellipse fill="black" stroke="black" cx="578" cy="-679.73" rx="21.12" ry="21.12"/>
+<text text-anchor="start" x="570.12" y="-675.31" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00" fill="white">⊤</text>
+</g>
+<!-- INT_TOP -->
+<g id="node3" class="node">
+<title>INT_TOP</title>
+<ellipse fill="lightblue" stroke="black" cx="340" cy="-604.61" rx="33.95" ry="18"/>
+<text text-anchor="start" x="323.12" y="-600.56" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="338.88" y="-600.56" font-family="Times New Roman,serif" font-size="14.00">:int</text>
+</g>
+<!-- TOP&#45;&gt;INT_TOP -->
+<g id="edge1" class="edge">
+<title>TOP&#45;&gt;INT_TOP</title>
+<path fill="none" stroke="black" d="M557.71,-672.5C518.41,-660.43 431.29,-633.66 379.97,-617.89"/>
+<polygon fill="black" stroke="black" points="381.01,-614.55 370.42,-614.96 378.95,-621.24 381.01,-614.55"/>
+</g>
+<!-- FLT_TOP -->
+<g id="node12" class="node">
+<title>FLT_TOP</title>
+<ellipse fill="aqua" stroke="black" cx="578" cy="-604.61" rx="32.41" ry="18"/>
+<text text-anchor="start" x="562.25" y="-600.56" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="578" y="-600.56" font-family="Times New Roman,serif" font-size="14.00">:flt</text>
+</g>
+<!-- TOP&#45;&gt;FLT_TOP -->
+<g id="edge15" class="edge">
+<title>TOP&#45;&gt;FLT_TOP</title>
+<path fill="none" stroke="black" d="M578,-658.36C578,-650.87 578,-642.24 578,-634.15"/>
+<polygon fill="black" stroke="black" points="581.5,-634.41 578,-624.41 574.5,-634.41 581.5,-634.41"/>
+</g>
+<!-- FL8_TOP -->
+<g id="node20" class="node">
+<title>FL8_TOP</title>
+<ellipse fill="aqua" stroke="black" cx="893" cy="-604.61" rx="39.07" ry="18"/>
+<text text-anchor="start" x="872.38" y="-600.56" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="888.12" y="-600.56" font-family="Times New Roman,serif" font-size="14.00">:FP8</text>
+</g>
+<!-- TOP&#45;&gt;FL8_TOP -->
+<g id="edge30" class="edge">
+<title>TOP&#45;&gt;FL8_TOP</title>
+<path fill="none" stroke="black" d="M598.67,-673.94C648.91,-662.27 778.39,-632.21 847.67,-616.13"/>
+<polygon fill="black" stroke="black" points="848.24,-619.59 857.19,-613.92 846.65,-612.78 848.24,-619.59"/>
+</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>
+<!-- INT_HI -->
+<g id="node5" class="node">
+<title>INT_HI</title>
+<ellipse fill="lightblue" stroke="black" cx="211" cy="-532.61" rx="52.89" ry="18"/>
+<text text-anchor="middle" x="211" y="-527.56" font-family="Times New Roman,serif" font-size="14.00">max &lt; min</text>
+</g>
+<!-- INT_TOP&#45;&gt;INT_HI -->
+<g id="edge2" class="edge">
+<title>INT_TOP&#45;&gt;INT_HI</title>
+<path fill="none" stroke="black" d="M316.94,-591.1C297.92,-580.77 270.56,-565.93 248.42,-553.91"/>
+<polygon fill="black" stroke="black" points="250.13,-550.86 239.67,-549.17 246.79,-557.01 250.13,-550.86"/>
+</g>
+<!-- INT_BOT -->
+<g id="node4" class="node">
+<title>INT_BOT</title>
+<ellipse fill="lightblue" stroke="black" cx="340" cy="-96.25" rx="33.95" ry="18"/>
+<text text-anchor="start" x="323.12" y="-92.2" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="338.88" y="-92.2" font-family="Times New Roman,serif" font-size="14.00">:int</text>
+</g>
+<!-- INT_BOT&#45;&gt;BOT -->
+<g id="edge12" class="edge">
+<title>INT_BOT&#45;&gt;BOT</title>
+<path fill="none" stroke="black" d="M368.71,-86.43C413.73,-72.6 500.58,-45.91 546.98,-31.65"/>
+<polygon fill="black" stroke="black" points="547.88,-35.04 556.41,-28.76 545.82,-28.35 547.88,-35.04"/>
+</g>
+<!-- INT_XBOOL -->
+<g id="node6" class="node">
+<title>INT_XBOOL</title>
+<ellipse fill="lightblue" stroke="black" cx="97" cy="-450.29" rx="27.81" ry="18"/>
+<text text-anchor="middle" x="97" y="-445.24" font-family="Times New Roman,serif" font-size="14.00">1...0</text>
+</g>
+<!-- INT_HI&#45;&gt;INT_XBOOL -->
+<g id="edge3" class="edge">
+<title>INT_HI&#45;&gt;INT_XBOOL</title>
+<path fill="none" stroke="black" d="M188.75,-515.93C170.46,-503.04 144.44,-484.72 124.78,-470.87"/>
+<polygon fill="black" stroke="black" points="126.86,-468.05 116.67,-465.15 122.83,-473.77 126.86,-468.05"/>
+</g>
+<!-- INT_CON -->
+<g id="node7" class="node">
+<title>INT_CON</title>
+<ellipse fill="lightblue" stroke="black" cx="211" cy="-345.31" rx="52.89" ry="18"/>
+<text text-anchor="middle" x="211" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">constants...</text>
+</g>
+<!-- INT_HI&#45;&gt;INT_CON -->
+<g id="edge6" class="edge">
+<title>INT_HI&#45;&gt;INT_CON</title>
+<path fill="none" stroke="black" d="M211,-514.31C211,-481.93 211,-414.27 211,-375.09"/>
+<polygon fill="black" stroke="black" points="214.5,-375.2 211,-365.2 207.5,-375.2 214.5,-375.2"/>
+</g>
+<!-- INT_CON0 -->
+<g id="node8" class="node">
+<title>INT_CON0</title>
+<ellipse fill="lightblue" stroke="black" cx="18" cy="-345.31" rx="18" ry="18"/>
+<text text-anchor="middle" x="18" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">0</text>
+</g>
+<!-- INT_XBOOL&#45;&gt;INT_CON0 -->
+<g id="edge4" class="edge">
+<title>INT_XBOOL&#45;&gt;INT_CON0</title>
+<path fill="none" stroke="black" d="M85,-433.65C71.8,-416.44 50.45,-388.61 35.41,-369"/>
+<polygon fill="black" stroke="black" points="38.38,-367.12 29.51,-361.32 32.82,-371.38 38.38,-367.12"/>
+</g>
+<!-- INT_CON1 -->
+<g id="node9" class="node">
+<title>INT_CON1</title>
+<ellipse fill="lightblue" stroke="black" cx="97" cy="-345.31" rx="18" ry="18"/>
+<text text-anchor="middle" x="97" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- INT_XBOOL&#45;&gt;INT_CON1 -->
+<g id="edge5" class="edge">
+<title>INT_XBOOL&#45;&gt;INT_CON1</title>
+<path fill="none" stroke="black" d="M97,-431.82C97,-416.27 97,-393.22 97,-374.97"/>
+<polygon fill="black" stroke="black" points="100.5,-375.04 97,-365.04 93.5,-375.04 100.5,-375.04"/>
+</g>
+<!-- INT_LO -->
+<g id="node11" 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 &gt; min</text>
+</g>
+<!-- INT_CON&#45;&gt;INT_LO -->
+<g id="edge10" class="edge">
+<title>INT_CON&#45;&gt;INT_LO</title>
+<path fill="none" stroke="black" d="M211,-327.03C211,-296.55 211,-235.05 211,-198.18"/>
+<polygon fill="black" stroke="black" points="214.5,-198.21 211,-188.21 207.5,-198.21 214.5,-198.21"/>
+</g>
+<!-- INT_CON0&#45;&gt;INT_CON1 -->
+<!-- INT_BOOL -->
+<g id="node10" 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&#45;&gt;INT_BOOL -->
+<g id="edge7" class="edge">
+<title>INT_CON0&#45;&gt;INT_BOOL</title>
+<path fill="none" stroke="black" d="M28.98,-330.7C41.46,-315.25 62.06,-289.73 77.33,-270.81"/>
+<polygon fill="black" stroke="black" points="80.04,-273.03 83.6,-263.05 74.59,-268.64 80.04,-273.03"/>
+</g>
+<!-- INT_CON1&#45;&gt;INT_CON -->
+<!-- INT_CON1&#45;&gt;INT_BOOL -->
+<g id="edge8" class="edge">
+<title>INT_CON1&#45;&gt;INT_BOOL</title>
+<path fill="none" stroke="black" d="M97,-326.82C97,-312.48 97,-291.91 97,-275.16"/>
+<polygon fill="black" stroke="black" points="100.5,-275.31 97,-265.31 93.5,-275.31 100.5,-275.31"/>
+</g>
+<!-- INT_BOOL&#45;&gt;INT_LO -->
+<g id="edge9" class="edge">
+<title>INT_BOOL&#45;&gt;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&#45;&gt;INT_BOT -->
+<g id="edge11" class="edge">
+<title>INT_LO&#45;&gt;INT_BOT</title>
+<path fill="none" stroke="black" d="M238.36,-152.4C258.44,-141.5 285.81,-126.65 307.09,-115.1"/>
+<polygon fill="black" stroke="black" points="308.54,-118.3 315.66,-110.45 305.2,-112.15 308.54,-118.3"/>
+</g>
+<!-- FLT_CON64 -->
+<g id="node14" class="node">
+<title>FLT_CON64</title>
+<ellipse fill="aqua" stroke="black" cx="725" cy="-345.31" rx="55.33" ry="40.66"/>
+<text text-anchor="middle" x="725" y="-356.76" font-family="Times New Roman,serif" font-size="14.00">64b consts</text>
+<text text-anchor="middle" x="725" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">[excludes</text>
+<text text-anchor="middle" x="725" y="-323.76" font-family="Times New Roman,serif" font-size="14.00">32b consts]</text>
+</g>
+<!-- FLT_TOP&#45;&gt;FLT_CON64 -->
+<g id="edge16" class="edge">
+<title>FLT_TOP&#45;&gt;FLT_CON64</title>
+<path fill="none" stroke="black" d="M587.87,-587.19C610.15,-547.91 664.93,-451.26 698.12,-392.72"/>
+<polygon fill="black" stroke="black" points="701.02,-394.7 702.91,-384.28 694.93,-391.25 701.02,-394.7"/>
+</g>
+<!-- FLT_CONPI -->
+<g id="node16" class="node">
+<title>FLT_CONPI</title>
+<ellipse fill="aqua" stroke="black" cx="578" cy="-345.31" rx="48.79" ry="18"/>
+<text text-anchor="middle" x="578" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">3.14159...</text>
+</g>
+<!-- FLT_TOP&#45;&gt;FLT_CONPI -->
+<g id="edge17" class="edge">
+<title>FLT_TOP&#45;&gt;FLT_CONPI</title>
+<path fill="none" stroke="black" d="M578,-586.38C578,-542.21 578,-429.14 578,-375.03"/>
+<polygon fill="black" stroke="black" points="581.5,-375.04 578,-365.04 574.5,-375.04 581.5,-375.04"/>
+</g>
+<!-- FLT_X32 -->
+<g id="node17" class="node">
+<title>FLT_X32</title>
+<ellipse fill="aqua" stroke="black" cx="436" cy="-450.29" rx="28.32" ry="28.32"/>
+<text text-anchor="middle" x="436" y="-445.24" font-family="Times New Roman,serif" font-size="14.00">~f32</text>
+</g>
+<!-- FLT_TOP&#45;&gt;FLT_X32 -->
+<g id="edge20" class="edge">
+<title>FLT_TOP&#45;&gt;FLT_X32</title>
+<path fill="none" stroke="black" d="M563.07,-588.39C539.34,-562.6 492.68,-511.88 462.98,-479.61"/>
+<polygon fill="black" stroke="black" points="465.83,-477.53 456.48,-472.55 460.67,-482.27 465.83,-477.53"/>
+</g>
+<!-- FLT_BOT -->
+<g id="node13" 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&#45;&gt;BOT -->
+<g id="edge26" class="edge">
+<title>FLT_BOT&#45;&gt;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&#45;&gt;FLT_BOT -->
+<g id="edge18" class="edge">
+<title>FLT_CON64&#45;&gt;FLT_BOT</title>
+<path fill="none" stroke="black" d="M702.83,-307.75C672.98,-257.18 620.57,-168.38 594.17,-123.64"/>
+<polygon fill="black" stroke="black" points="597.21,-121.91 589.11,-115.08 591.18,-125.47 597.21,-121.91"/>
+</g>
+<!-- FLT_CON32 -->
+<g id="node15" class="node">
+<title>FLT_CON32</title>
+<ellipse fill="aqua" stroke="black" cx="436" cy="-345.31" rx="50.33" ry="18"/>
+<text text-anchor="middle" x="436" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">32b consts</text>
+</g>
+<!-- FLT_CON32&#45;&gt;FLT_CONPI -->
+<!-- FLT_32 -->
+<g id="node19" 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&#45;&gt;FLT_32 -->
+<g id="edge24" class="edge">
+<title>FLT_CON32&#45;&gt;FLT_32</title>
+<path fill="none" stroke="black" d="M436,-326.82C436,-313.94 436,-296.02 436,-280.37"/>
+<polygon fill="black" stroke="black" points="439.5,-280.47 436,-270.47 432.5,-280.47 439.5,-280.47"/>
+</g>
+<!-- FLT_CONPI&#45;&gt;FLT_BOT -->
+<g id="edge19" class="edge">
+<title>FLT_CONPI&#45;&gt;FLT_BOT</title>
+<path fill="none" stroke="black" d="M578,-327C578,-284.36 578,-178.12 578,-126.02"/>
+<polygon fill="black" stroke="black" points="581.5,-126.1 578,-116.1 574.5,-126.1 581.5,-126.1"/>
+</g>
+<!-- FLT_CONPI&#45;&gt;FLT_CON64 -->
+<!-- FLT_X32&#45;&gt;FLT_CON32 -->
+<g id="edge22" class="edge">
+<title>FLT_X32&#45;&gt;FLT_CON32</title>
+<path fill="none" stroke="black" d="M436,-421.69C436,-407.26 436,-389.62 436,-375.03"/>
+<polygon fill="black" stroke="black" points="439.5,-375.14 436,-365.14 432.5,-375.14 439.5,-375.14"/>
+</g>
+<!-- FLT_CON0 -->
+<g id="node18" class="node">
+<title>FLT_CON0</title>
+<ellipse fill="aqua" stroke="black" cx="325" cy="-345.31" rx="18.08" ry="18.08"/>
+<text text-anchor="middle" x="325" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">0.</text>
+</g>
+<!-- FLT_X32&#45;&gt;FLT_CON0 -->
+<g id="edge21" class="edge">
+<title>FLT_X32&#45;&gt;FLT_CON0</title>
+<path fill="none" stroke="black" d="M415.38,-430.16C395.7,-411.9 366.18,-384.51 346.28,-366.05"/>
+<polygon fill="black" stroke="black" points="348.7,-363.53 338.99,-359.29 343.94,-368.66 348.7,-363.53"/>
+</g>
+<!-- FLT_CON0&#45;&gt;FLT_CON32 -->
+<!-- FLT_CON0&#45;&gt;FLT_32 -->
+<g id="edge23" class="edge">
+<title>FLT_CON0&#45;&gt;FLT_32</title>
+<path fill="none" stroke="black" d="M338.17,-332.7C355.91,-317.06 387.87,-288.88 410.42,-269"/>
+<polygon fill="black" stroke="black" points="412.53,-271.81 417.72,-262.57 407.9,-266.56 412.53,-271.81"/>
+</g>
+<!-- FLT_32&#45;&gt;FLT_BOT -->
+<g id="edge25" class="edge">
+<title>FLT_32&#45;&gt;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="node22" class="node">
+<title>FL8_MINDOTS</title>
+<ellipse fill="aqua" stroke="black" cx="850" cy="-345.31" rx="27" ry="18"/>
+<text text-anchor="middle" x="850" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">...</text>
+</g>
+<!-- FL8_TOP&#45;&gt;FL8_MINDOTS -->
+<g id="edge31" class="edge">
+<title>FL8_TOP&#45;&gt;FL8_MINDOTS</title>
+<path fill="none" stroke="black" d="M889.98,-586.38C882.64,-542.11 863.82,-428.67 854.87,-374.69"/>
+<polygon fill="black" stroke="black" points="858.36,-374.31 853.27,-365.02 851.45,-375.46 858.36,-374.31"/>
+</g>
+<!-- FL8_ZERO -->
+<g id="node23" class="node">
+<title>FL8_ZERO</title>
+<ellipse fill="aqua" stroke="black" cx="938" cy="-345.31" rx="18" ry="18"/>
+<text text-anchor="middle" x="938" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">0</text>
+</g>
+<!-- FL8_TOP&#45;&gt;FL8_ZERO -->
+<g id="edge32" class="edge">
+<title>FL8_TOP&#45;&gt;FL8_ZERO</title>
+<path fill="none" stroke="black" d="M896.16,-586.38C903.85,-542.11 923.53,-428.67 932.9,-374.69"/>
+<polygon fill="black" stroke="black" points="936.32,-375.47 934.58,-365.02 929.42,-374.27 936.32,-375.47"/>
+</g>
+<!-- FL8_MAXDOTS -->
+<g id="node24" class="node">
+<title>FL8_MAXDOTS</title>
+<ellipse fill="aqua" stroke="black" cx="1026" cy="-345.31" rx="27" ry="18"/>
+<text text-anchor="middle" x="1026" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">...</text>
+</g>
+<!-- FL8_TOP&#45;&gt;FL8_MAXDOTS -->
+<g id="edge33" class="edge">
+<title>FL8_TOP&#45;&gt;FL8_MAXDOTS</title>
+<path fill="none" stroke="black" d="M902.14,-586.79C924.98,-542.26 984.66,-425.9 1011.98,-372.64"/>
+<polygon fill="black" stroke="black" points="1015,-374.42 1016.45,-363.92 1008.78,-371.22 1015,-374.42"/>
+</g>
+<!-- FL8_BOT -->
+<g id="node21" 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&#45;&gt;BOT -->
+<g id="edge37" class="edge">
+<title>FL8_BOT&#45;&gt;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&#45;&gt;FL8_BOT -->
+<g id="edge34" class="edge">
+<title>FL8_MINDOTS&#45;&gt;FL8_BOT</title>
+<path fill="none" stroke="black" d="M853.16,-327C860.54,-284.27 878.94,-177.67 887.92,-125.69"/>
+<polygon fill="black" stroke="black" points="891.32,-126.53 889.58,-116.08 884.43,-125.34 891.32,-126.53"/>
+</g>
+<!-- FL8_MINDOTS&#45;&gt;FL8_ZERO -->
+<!-- FL8_ZERO&#45;&gt;FL8_BOT -->
+<g id="edge35" class="edge">
+<title>FL8_ZERO&#45;&gt;FL8_BOT</title>
+<path fill="none" stroke="black" d="M934.76,-327.4C927.1,-284.97 907.77,-178.01 898.34,-125.81"/>
+<polygon fill="black" stroke="black" points="901.82,-125.38 896.6,-116.16 894.93,-126.62 901.82,-125.38"/>
+</g>
+<!-- FL8_ZERO&#45;&gt;FL8_MAXDOTS -->
+<!-- FL8_MAXDOTS&#45;&gt;FL8_BOT -->
+<g id="edge36" class="edge">
+<title>FL8_MAXDOTS&#45;&gt;FL8_BOT</title>
+<path fill="none" stroke="black" d="M1016.86,-328.19C994.24,-285.83 935.48,-175.8 907.81,-123.99"/>
+<polygon fill="black" stroke="black" points="911.07,-122.66 903.27,-115.49 904.9,-125.96 911.07,-122.66"/>
+</g>
+</g>
+</svg>