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_iffcs.svg | |
| parent | 6a9a508d1809753ec5d41a5ced3f505384f1fe07 (diff) | |
| download | Simple-cf5be6998b26723ae29ab1edab84d32b0702182d.tar.gz Simple-cf5be6998b26723ae29ab1edab84d32b0702182d.zip | |
TypeAnalysis continued
Diffstat (limited to 'docs/lattice_iffcs.svg')
| -rw-r--r-- | docs/lattice_iffcs.svg | 547 |
1 files changed, 547 insertions, 0 deletions
diff --git a/docs/lattice_iffcs.svg b/docs/lattice_iffcs.svg new file mode 100644 index 00000000..fc976d90 --- /dev/null +++ b/docs/lattice_iffcs.svg @@ -0,0 +1,547 @@ +<?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="1448pt" height="709pt"
+ viewBox="0.00 0.00 1447.88 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 1443.88,-704.86 1443.88,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>
+<!-- XCTRL -->
+<g id="node3" class="node">
+<title>XCTRL</title>
+<ellipse fill="yellow" stroke="black" cx="41" cy="-604.61" rx="36.51" ry="18"/>
+<text text-anchor="start" x="22.25" y="-600.56" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="38" y="-600.56" 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,-675.87C478.01,-665.12 198.42,-627.05 87.16,-611.9"/>
+<polygon fill="black" stroke="black" points="87.88,-608.46 77.5,-610.58 86.94,-615.4 87.88,-608.46"/>
+</g>
+<!-- INT_TOP -->
+<g id="node5" class="node">
+<title>INT_TOP</title>
+<ellipse fill="lightblue" stroke="black" cx="364" cy="-604.61" rx="33.95" ry="18"/>
+<text text-anchor="start" x="347.12" y="-600.56" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="362.88" y="-600.56" 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,-671.85C522.4,-659.73 448.22,-634.39 402.6,-618.8"/>
+<polygon fill="black" stroke="black" points="403.96,-615.57 393.37,-615.64 401.7,-622.19 403.96,-615.57"/>
+</g>
+<!-- FLT_TOP -->
+<g id="node14" 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->FLT_TOP -->
+<g id="edge18" class="edge">
+<title>TOP->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="node22" 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->FL8_TOP -->
+<g id="edge33" class="edge">
+<title>TOP->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>
+<!-- STRUCT_TOP -->
+<g id="node27" class="node">
+<title>STRUCT_TOP</title>
+<ellipse fill="lightgreen" stroke="black" cx="1203" cy="-450.29" rx="44.7" ry="18"/>
+<text text-anchor="start" x="1178.25" y="-446.24" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊤</text>
+<text text-anchor="start" x="1194" y="-446.24" font-family="Times New Roman,serif" font-size="14.00">:struct</text>
+</g>
+<!-- TOP->STRUCT_TOP -->
+<g id="edge43" class="edge">
+<title>TOP->STRUCT_TOP</title>
+<path fill="none" stroke="black" d="M598.09,-672.36C685.6,-640.23 1034.77,-512.05 1158.92,-466.47"/>
+<polygon fill="black" stroke="black" points="1159.93,-469.83 1168.11,-463.1 1157.51,-463.26 1159.93,-469.83"/>
+</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,-586.22C41,-510.24 41,-220.41 41,-126.1"/>
+<polygon fill="black" stroke="black" points="44.5,-126.13 41,-116.13 37.5,-126.13 44.5,-126.13"/>
+</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="-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 < 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,-592.05C315.1,-581.24 279.4,-564.9 251.74,-552.25"/>
+<polygon fill="black" stroke="black" points="253.5,-549.21 242.95,-548.23 250.59,-555.57 253.5,-549.21"/>
+</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="-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->INT_XBOOL -->
+<g id="edge6" class="edge">
+<title>INT_HI->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="node9" 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->INT_CON -->
+<g id="edge9" class="edge">
+<title>INT_HI->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="node10" 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->INT_CON0 -->
+<g id="edge7" class="edge">
+<title>INT_XBOOL->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="node11" 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->INT_CON1 -->
+<g id="edge8" class="edge">
+<title>INT_XBOOL->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="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,-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->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.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->INT_CON -->
+<!-- INT_CON1->INT_BOOL -->
+<g id="edge11" class="edge">
+<title>INT_CON1->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->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="-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->FLT_CON64 -->
+<g id="edge19" class="edge">
+<title>FLT_TOP->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="node18" 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->FLT_CONPI -->
+<g id="edge20" class="edge">
+<title>FLT_TOP->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="node19" 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->FLT_X32 -->
+<g id="edge23" class="edge">
+<title>FLT_TOP->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="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="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="node17" 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->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,-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->FLT_BOT -->
+<g id="edge22" class="edge">
+<title>FLT_CONPI->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->FLT_CON64 -->
+<!-- FLT_X32->FLT_CON32 -->
+<g id="edge25" class="edge">
+<title>FLT_X32->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="node20" 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->FLT_CON0 -->
+<g id="edge24" class="edge">
+<title>FLT_X32->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->FLT_CON32 -->
+<!-- FLT_CON0->FLT_32 -->
+<g id="edge26" class="edge">
+<title>FLT_CON0->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->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="-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->FL8_MINDOTS -->
+<g id="edge34" class="edge">
+<title>FL8_TOP->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="node25" 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->FL8_ZERO -->
+<g id="edge35" class="edge">
+<title>FL8_TOP->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="node26" 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->FL8_MAXDOTS -->
+<g id="edge36" class="edge">
+<title>FL8_TOP->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="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.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->FL8_ZERO -->
+<!-- FL8_ZERO->FL8_BOT -->
+<g id="edge38" class="edge">
+<title>FL8_ZERO->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->FL8_MAXDOTS -->
+<!-- FL8_MAXDOTS->FL8_BOT -->
+<g id="edge39" class="edge">
+<title>FL8_MAXDOTS->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>
+<!-- STRUCT_S1 -->
+<g id="node29" class="node">
+<title>STRUCT_S1</title>
+<polygon fill="none" stroke="none" points="1181.88,-363.31 1096.12,-363.31 1096.12,-327.31 1181.88,-327.31 1181.88,-363.31"/>
+<polygon fill="lightgreen" stroke="none" points="1104.12,-334.06 1104.12,-356.56 1134.88,-356.56 1134.88,-334.06 1104.12,-334.06"/>
+<polygon fill="none" stroke="black" points="1104.12,-334.06 1104.12,-356.56 1134.88,-356.56 1134.88,-334.06 1104.12,-334.06"/>
+<text text-anchor="start" x="1107.12" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">field</text>
+<defs>
+<linearGradient id="l_0" gradientUnits="userSpaceOnUse" x1="1140.59" y1="-353.27" x2="1168.16" y2="-337.36" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_0)" stroke="none" points="1134.88,-334.06 1134.88,-356.56 1173.88,-356.56 1173.88,-334.06 1134.88,-334.06"/>
+<polygon fill="none" stroke="black" points="1134.88,-334.06 1134.88,-356.56 1173.88,-356.56 1173.88,-334.06 1134.88,-334.06"/>
+<text text-anchor="start" x="1137.88" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+</g>
+<!-- STRUCT_TOP->STRUCT_S1 -->
+<g id="edge44" class="edge">
+<title>STRUCT_TOP->STRUCT_S1</title>
+<path fill="none" stroke="black" d="M1192.72,-432.74C1182.65,-416.55 1167.16,-391.63 1155.4,-372.7"/>
+<polygon fill="black" stroke="black" points="1158.52,-371.09 1150.27,-364.44 1152.57,-374.78 1158.52,-371.09"/>
+</g>
+<!-- STRUCT_S2 -->
+<g id="node30" class="node">
+<title>STRUCT_S2</title>
+<polygon fill="none" stroke="none" points="1310.88,-371.81 1225.12,-371.81 1225.12,-318.81 1310.88,-318.81 1310.88,-371.81"/>
+<polygon fill="lightgreen" stroke="none" points="1233.12,-345.31 1233.12,-367.81 1263.88,-367.81 1263.88,-345.31 1233.12,-345.31"/>
+<polygon fill="none" stroke="black" points="1233.12,-345.31 1233.12,-367.81 1263.88,-367.81 1263.88,-345.31 1233.12,-345.31"/>
+<text text-anchor="start" x="1236.12" y="-351.51" font-family="Times New Roman,serif" font-size="14.00">field</text>
+<defs>
+<linearGradient id="l_1" gradientUnits="userSpaceOnUse" x1="1269.59" y1="-364.52" x2="1297.16" y2="-348.61" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_1)" stroke="none" points="1263.88,-345.31 1263.88,-367.81 1302.88,-367.81 1302.88,-345.31 1263.88,-345.31"/>
+<polygon fill="none" stroke="black" points="1263.88,-345.31 1263.88,-367.81 1302.88,-367.81 1302.88,-345.31 1263.88,-345.31"/>
+<text text-anchor="start" x="1266.88" y="-351.51" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+<polygon fill="lightgreen" stroke="none" points="1233.12,-322.81 1233.12,-345.31 1263.88,-345.31 1263.88,-322.81 1233.12,-322.81"/>
+<polygon fill="none" stroke="black" points="1233.12,-322.81 1233.12,-345.31 1263.88,-345.31 1263.88,-322.81 1233.12,-322.81"/>
+<text text-anchor="start" x="1236.12" y="-329.01" font-family="Times New Roman,serif" font-size="14.00">field</text>
+<defs>
+<linearGradient id="l_2" gradientUnits="userSpaceOnUse" x1="1269.59" y1="-342.02" x2="1297.16" y2="-326.11" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_2)" stroke="none" points="1263.88,-322.81 1263.88,-345.31 1302.88,-345.31 1302.88,-322.81 1263.88,-322.81"/>
+<polygon fill="none" stroke="black" points="1263.88,-322.81 1263.88,-345.31 1302.88,-345.31 1302.88,-322.81 1263.88,-322.81"/>
+<text text-anchor="start" x="1266.88" y="-329.01" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+</g>
+<!-- STRUCT_TOP->STRUCT_S2 -->
+<g id="edge45" class="edge">
+<title>STRUCT_TOP->STRUCT_S2</title>
+<path fill="none" stroke="black" d="M1213.44,-432.74C1222.22,-418.83 1235.07,-398.48 1246.1,-381.01"/>
+<polygon fill="black" stroke="black" points="1248.81,-383.27 1251.19,-372.95 1242.89,-379.54 1248.81,-383.27"/>
+</g>
+<!-- STRUCT_SN -->
+<g id="node31" class="node">
+<title>STRUCT_SN</title>
+<polygon fill="none" stroke="none" points="1439.88,-383.06 1354.12,-383.06 1354.12,-307.56 1439.88,-307.56 1439.88,-383.06"/>
+<polygon fill="lightgreen" stroke="none" points="1362.12,-356.56 1362.12,-379.06 1392.88,-379.06 1392.88,-356.56 1362.12,-356.56"/>
+<polygon fill="none" stroke="black" points="1362.12,-356.56 1362.12,-379.06 1392.88,-379.06 1392.88,-356.56 1362.12,-356.56"/>
+<text text-anchor="start" x="1365.12" y="-362.76" font-family="Times New Roman,serif" font-size="14.00">field</text>
+<defs>
+<linearGradient id="l_3" gradientUnits="userSpaceOnUse" x1="1398.59" y1="-375.77" x2="1426.16" y2="-359.86" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_3)" stroke="none" points="1392.88,-356.56 1392.88,-379.06 1431.88,-379.06 1431.88,-356.56 1392.88,-356.56"/>
+<polygon fill="none" stroke="black" points="1392.88,-356.56 1392.88,-379.06 1431.88,-379.06 1431.88,-356.56 1392.88,-356.56"/>
+<text text-anchor="start" x="1395.88" y="-362.76" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+<polygon fill="lightgreen" stroke="none" points="1362.12,-334.06 1362.12,-356.56 1392.88,-356.56 1392.88,-334.06 1362.12,-334.06"/>
+<polygon fill="none" stroke="black" points="1362.12,-334.06 1362.12,-356.56 1392.88,-356.56 1392.88,-334.06 1362.12,-334.06"/>
+<text text-anchor="start" x="1368.12" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">...  </text>
+<defs>
+<linearGradient id="l_4" gradientUnits="userSpaceOnUse" x1="1398.59" y1="-353.27" x2="1426.16" y2="-337.36" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_4)" stroke="none" points="1392.88,-334.06 1392.88,-356.56 1431.88,-356.56 1431.88,-334.06 1392.88,-334.06"/>
+<polygon fill="none" stroke="black" points="1392.88,-334.06 1392.88,-356.56 1431.88,-356.56 1431.88,-334.06 1392.88,-334.06"/>
+<text text-anchor="start" x="1395.88" y="-340.26" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+<polygon fill="lightgreen" stroke="none" points="1362.12,-311.56 1362.12,-334.06 1392.88,-334.06 1392.88,-311.56 1362.12,-311.56"/>
+<polygon fill="none" stroke="black" points="1362.12,-311.56 1362.12,-334.06 1392.88,-334.06 1392.88,-311.56 1362.12,-311.56"/>
+<text text-anchor="start" x="1365.12" y="-317.76" font-family="Times New Roman,serif" font-size="14.00">field</text>
+<defs>
+<linearGradient id="l_5" gradientUnits="userSpaceOnUse" x1="1398.59" y1="-330.77" x2="1426.16" y2="-314.86" >
+<stop offset="0" style="stop-color:lightblue;stop-opacity:1.;"/>
+<stop offset="1" style="stop-color:green;stop-opacity:1.;"/>
+</linearGradient>
+</defs>
+<polygon fill="url(#l_5)" stroke="none" points="1392.88,-311.56 1392.88,-334.06 1431.88,-334.06 1431.88,-311.56 1392.88,-311.56"/>
+<polygon fill="none" stroke="black" points="1392.88,-311.56 1392.88,-334.06 1431.88,-334.06 1431.88,-311.56 1392.88,-311.56"/>
+<text text-anchor="start" x="1395.88" y="-317.76" font-family="Times New Roman,serif" font-size="14.00">int/ptr</text>
+</g>
+<!-- STRUCT_TOP->STRUCT_SN -->
+<g id="edge46" class="edge">
+<title>STRUCT_TOP->STRUCT_SN</title>
+<path fill="none" stroke="black" d="M1229.16,-435.4C1258.6,-419.78 1307.16,-394 1344.49,-374.18"/>
+<polygon fill="black" stroke="black" points="1345.68,-377.51 1352.88,-369.73 1342.4,-371.33 1345.68,-377.51"/>
+</g>
+<!-- STRUCT_BOT -->
+<g id="node28" class="node">
+<title>STRUCT_BOT</title>
+<ellipse fill="lightgreen" stroke="black" cx="1203" cy="-245.45" rx="44.7" ry="18"/>
+<text text-anchor="start" x="1178.25" y="-241.4" font-family="Times New Roman,serif" font-weight="bold" font-size="14.00">⊥</text>
+<text text-anchor="start" x="1194" y="-241.4" font-family="Times New Roman,serif" font-size="14.00">:struct</text>
+</g>
+<!-- STRUCT_BOT->BOT -->
+<g id="edge50" class="edge">
+<title>STRUCT_BOT->BOT</title>
+<path fill="none" stroke="black" d="M1169.4,-233.39C1059.91,-194.09 714.44,-70.1 608.92,-32.22"/>
+<polygon fill="black" stroke="black" points="610.11,-28.93 599.51,-28.85 607.74,-35.52 610.11,-28.93"/>
+</g>
+<!-- STRUCT_S1->STRUCT_BOT -->
+<g id="edge47" class="edge">
+<title>STRUCT_S1->STRUCT_BOT</title>
+<path fill="none" stroke="black" d="M1149.86,-327.71C1159.69,-312.67 1174.36,-290.25 1185.79,-272.76"/>
+<polygon fill="black" stroke="black" points="1188.72,-274.68 1191.26,-264.4 1182.86,-270.85 1188.72,-274.68"/>
+</g>
+<!-- STRUCT_S1->STRUCT_S2 -->
+<!-- STRUCT_S2->STRUCT_BOT -->
+<g id="edge48" class="edge">
+<title>STRUCT_S2->STRUCT_BOT</title>
+<path fill="none" stroke="black" d="M1251.09,-318.85C1241.62,-304.59 1229.83,-286.84 1220.29,-272.48"/>
+<polygon fill="black" stroke="black" points="1223.39,-270.82 1214.94,-264.43 1217.56,-274.7 1223.39,-270.82"/>
+</g>
+<!-- STRUCT_S2->STRUCT_SN -->
+<!-- STRUCT_SN->STRUCT_BOT -->
+<g id="edge49" class="edge">
+<title>STRUCT_SN->STRUCT_BOT</title>
+<path fill="none" stroke="black" d="M1354.43,-322.83C1320.31,-305.62 1272.91,-281.71 1240.27,-265.25"/>
+<polygon fill="black" stroke="black" points="1242.09,-262.25 1231.58,-260.87 1238.93,-268.5 1242.09,-262.25"/>
+</g>
+</g>
+</svg>
|
