Commit 720c507a authored by Brandon Walts's avatar Brandon Walts Committed by Matthieu Muffato
Browse files

add long multiplication walkthrough

parent 877e04c0
......@@ -30,6 +30,10 @@ User documentation
quickstart/install
quickstart/quickstart
.. toctree::
:caption: Walkthrough
walkthrough/long_mult_walkthrough
.. toctree::
:caption: Running pipelines
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: test Pages: 1 -->
<svg width="537pt" height="688pt"
viewBox="0.00 0.00 537.00 688.20" 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(72 616.197)">
<title>test</title>
<polygon fill="white" stroke="none" points="-72,72 -72,-616.197 465,-616.197 465,72 -72,72"/>
<g id="clust1" class="cluster"><title>cluster_long_mult</title>
<polygon fill="#ccebc5" stroke="black" stroke-width="2" points="8,-8 8,-536.197 377,-536.197 377,-8 8,-8"/>
<text text-anchor="middle" x="192.5" y="-520.997" font-family="Times,serif" font-size="14.00">long_mult</text>
</g>
<g id="clust2" class="cluster"><title>cluster_cl_dfr_1_mp</title>
<polygon fill="#deebf7" stroke="#deebf7" points="134,-107 134,-297 369,-297 369,-107 134,-107"/>
</g>
<!-- analysis_take_b_apart -->
<g id="node1" class="node"><title>analysis_take_b_apart</title>
<path fill="green" stroke="black" d="M62,-445.697C62,-445.697 154,-445.697 154,-445.697 160,-445.697 166,-451.697 166,-457.697 166,-457.697 166,-492.697 166,-492.697 166,-498.697 160,-504.697 154,-504.697 154,-504.697 62,-504.697 62,-504.697 56,-504.697 50,-498.697 50,-492.697 50,-492.697 50,-457.697 50,-457.697 50,-451.697 56,-445.697 62,-445.697"/>
<text text-anchor="start" x="63" y="-487.997" font-family="Times,serif" font-size="14.00">take_b_apart (1)</text>
<text text-anchor="start" x="106" y="-470.997" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="green" stroke="none" points="58,-449.197 58,-466.197 158,-466.197 158,-449.197 58,-449.197"/>
<text text-anchor="start" x="102" y="-453.997" font-family="Times,serif" font-size="14.00">2r</text>
</g>
<!-- dfr_1_mp -->
<g id="node2" class="node"><title>dfr_1_mp</title>
<ellipse fill="black" stroke="black" cx="71" cy="-259" rx="0.36" ry="0.36"/>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_1_mp -->
<g id="edge3" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_1_mp:n</title>
<path fill="none" stroke="black" d="M91.6188,-445.569C84.0565,-430.746 75.9025,-412.052 72,-394.197 59.3593,-336.362 71,-320.2 71,-261"/>
<text text-anchor="middle" x="80" y="-371.398" font-family="Helvetica,sans-Serif" font-size="14.00">#1</text>
</g>
<!-- dfr_2_mp -->
<g id="node5" class="node"><title>dfr_2_mp</title>
<polygon fill="blueviolet" stroke="black" points="207.329,-355.954 213.505,-356.059 219.617,-356.216 225.641,-356.425 231.552,-356.685 237.325,-356.996 242.939,-357.356 248.371,-357.765 253.601,-358.222 258.609,-358.724 263.378,-359.272 267.891,-359.863 272.132,-360.496 276.088,-361.168 279.748,-361.879 283.102,-362.626 286.14,-363.408 288.858,-364.221 291.249,-365.064 293.311,-365.935 295.043,-366.831 296.444,-367.749 297.518,-368.688 298.266,-369.644 298.695,-370.615 298.811,-371.599 298.62,-372.592 298.132,-373.592 297.357,-374.596 296.306,-375.601 294.989,-376.605 293.419,-377.605 291.609,-378.598 289.572,-379.581 287.322,-380.553 284.872,-381.509 282.235,-382.447 279.426,-383.366 276.458,-384.262 273.344,-385.132 270.097,-385.976 266.73,-386.789 263.254,-387.57 259.681,-388.318 256.021,-389.028 252.284,-389.701 248.48,-390.334 244.618,-390.925 240.705,-391.472 236.748,-391.975 232.754,-392.432 228.73,-392.841 224.679,-393.201 220.607,-393.512 216.518,-393.772 212.416,-393.981 208.304,-394.138 204.185,-394.243 200.062,-394.296 195.938,-394.296 191.815,-394.243 187.696,-394.138 183.584,-393.981 179.482,-393.772 175.393,-393.512 171.321,-393.201 167.27,-392.841 163.246,-392.432 159.252,-391.975 155.295,-391.472 151.382,-390.925 147.52,-390.334 143.716,-389.701 139.979,-389.028 136.319,-388.318 132.746,-387.57 129.27,-386.789 125.903,-385.976 122.656,-385.132 119.542,-384.262 116.574,-383.366 113.765,-382.447 111.128,-381.509 108.678,-380.553 106.428,-379.581 104.391,-378.598 102.581,-377.605 101.011,-376.605 99.6944,-375.601 98.6427,-374.596 97.8676,-373.592 97.38,-372.592 97.1895,-371.599 97.3048,-370.615 97.7337,-369.644 98.4823,-368.688 99.5557,-367.749 100.957,-366.831 102.689,-365.935 104.751,-365.064 107.142,-364.221 109.86,-363.408 112.898,-362.626 116.252,-361.879 119.912,-361.168 123.868,-360.496 128.109,-359.863 132.622,-359.272 137.391,-358.724 142.399,-358.222 147.629,-357.765 153.061,-357.356 158.675,-356.996 164.448,-356.685 170.359,-356.425 176.383,-356.216 182.495,-356.059 188.671,-355.954 194.886,-355.901 201.114,-355.901 207.329,-355.954"/>
<text text-anchor="start" x="140" y="-369.898" font-family="Courier,monospace" font-size="14.00" fill="white">WHEN #digit#&gt;1</text>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_2_mp -->
<g id="edge4" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_2_mp:n</title>
<path fill="none" stroke="black" d="M166.016,-445.701C180.574,-434.988 193.143,-421.242 196.875,-404.442"/>
<polygon fill="black" stroke="black" points="200.388,-404.519 198,-394.197 193.43,-403.755 200.388,-404.519"/>
<text text-anchor="middle" x="202" y="-415.997" font-family="Helvetica,sans-Serif" font-size="14.00">#2</text>
</g>
<!-- analysis_add_together -->
<g id="node3" class="node"><title>analysis_add_together</title>
<path fill="white" stroke="black" d="M28.5,-103.5C28.5,-103.5 113.5,-103.5 113.5,-103.5 119.5,-103.5 125.5,-109.5 125.5,-115.5 125.5,-115.5 125.5,-150.5 125.5,-150.5 125.5,-156.5 119.5,-162.5 113.5,-162.5 113.5,-162.5 28.5,-162.5 28.5,-162.5 22.5,-162.5 16.5,-156.5 16.5,-150.5 16.5,-150.5 16.5,-115.5 16.5,-115.5 16.5,-109.5 22.5,-103.5 28.5,-103.5"/>
<text text-anchor="start" x="26" y="-145.8" font-family="Times,serif" font-size="14.00">add_together (3)</text>
<text text-anchor="start" x="69.5" y="-128.8" font-family="Times,serif" font-size="14.00"> </text>
<text text-anchor="start" x="63.5" y="-111.8" font-family="Times,serif" font-size="14.00">=0</text>
</g>
<!-- dfr_1_mp&#45;&gt;analysis_add_together -->
<g id="edge5" class="edge"><title>dfr_1_mp:s&#45;&gt;analysis_add_together</title>
<path fill="none" stroke="blue" d="M71,-257C71,-228.912 71,-197.216 71,-173.034"/>
<polygon fill="blue" stroke="blue" points="74.5001,-172.829 71,-162.829 67.5001,-172.829 74.5001,-172.829"/>
</g>
<!-- table_final_result -->
<g id="node4" class="node"><title>table_final_result</title>
<polygon fill="orange" stroke="black" points="134,-52 28,-52 28,-56 16,-56 16,-16 134,-16 134,-52"/>
<polyline fill="none" stroke="black" points="16,-52 28,-52 "/>
<text text-anchor="start" x="25" y="-29.8" font-family="Courier,monospace" font-size="14.00">final_result</text>
</g>
<!-- analysis_add_together&#45;&gt;table_final_result -->
<g id="edge1" class="edge"><title>analysis_add_together&#45;&gt;table_final_result</title>
<path fill="none" stroke="blue" d="M72.1785,-103.421C72.715,-90.4109 73.347,-75.0855 73.8767,-62.2404"/>
<polygon fill="blue" stroke="blue" points="77.3781,-62.275 74.2932,-52.1393 70.3841,-61.9865 77.3781,-62.275"/>
<text text-anchor="middle" x="82" y="-73.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">#1</text>
</g>
<!-- dfr_2_mp&#45;&gt;dfr_1_mp -->
<g id="edge7" class="edge"><title>dfr_2_mp&#45;&gt;dfr_1_mp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M170.432,-349.331C138.868,-320.973 89.6494,-276.755 75.1506,-263.729"/>
<polygon fill="red" stroke="red" points="170.438,-349.336 174.869,-359.367 174.157,-352.678 177.876,-356.019 177.876,-356.019 177.876,-356.019 174.157,-352.678 180.884,-352.672 170.438,-349.336 170.438,-349.336"/>
<polygon fill="red" stroke="red" points="68.4539,-264.434 75.1371,-256.995 76.6249,-258.332 69.9417,-265.771 68.4539,-264.434"/>
<polyline fill="none" stroke="red" points="71.0516,-260.046 74.7711,-263.388 "/>
</g>
<!-- analysis_part_multiply -->
<g id="node6" class="node"><title>analysis_part_multiply</title>
<path fill="white" stroke="black" d="M154,-229.5C154,-229.5 242,-229.5 242,-229.5 248,-229.5 254,-235.5 254,-241.5 254,-241.5 254,-276.5 254,-276.5 254,-282.5 248,-288.5 242,-288.5 242,-288.5 154,-288.5 154,-288.5 148,-288.5 142,-282.5 142,-276.5 142,-276.5 142,-241.5 142,-241.5 142,-235.5 148,-229.5 154,-229.5"/>
<text text-anchor="start" x="151" y="-271.8" font-family="Times,serif" font-size="14.00">part_multiply (2)</text>
<text text-anchor="start" x="196" y="-254.8" font-family="Times,serif" font-size="14.00"> </text>
<text text-anchor="start" x="190" y="-237.8" font-family="Times,serif" font-size="14.00">=0</text>
</g>
<!-- dfr_2_mp&#45;&gt;analysis_part_multiply -->
<g id="edge6" class="edge"><title>dfr_2_mp:cond_0&#45;&gt;analysis_part_multiply</title>
<path fill="none" stroke="blue" d="M198,-364.098C198,-342.498 198,-318.377 198,-298.796"/>
<polygon fill="blue" stroke="blue" points="201.5,-298.72 198,-288.72 194.5,-298.72 201.5,-298.72"/>
<text text-anchor="middle" x="242" y="-310.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">INPUT_PLUS </text>
</g>
<!-- sink_dfr_1_mp -->
<g id="node7" class="node"><title>sink_dfr_1_mp</title>
<polygon fill="darkgreen" stroke="black" points="143.662,-127.438 184,-115 224.338,-127.438 224.3,-147.562 143.7,-147.562 143.662,-127.438"/>
<text text-anchor="middle" x="184" y="-129.3" font-family="Courier,monospace" font-size="14.00" fill="white">Accu</text>
</g>
<!-- analysis_part_multiply&#45;&gt;sink_dfr_1_mp -->
<g id="edge2" class="edge"><title>analysis_part_multiply&#45;&gt;sink_dfr_1_mp</title>
<path fill="none" stroke="darkgreen" stroke-dasharray="5,2" d="M193.618,-219.185C191.359,-199.182 188.676,-175.417 186.718,-158.077"/>
<polygon fill="darkgreen" stroke="darkgreen" points="193.631,-219.303 190.281,-229.745 194.192,-224.272 194.753,-229.24 194.753,-229.24 194.753,-229.24 194.192,-224.272 199.225,-228.735 193.631,-219.303 193.631,-219.303"/>
<polygon fill="darkgreen" stroke="darkgreen" points="190.148,-157.258 185.548,-147.714 183.192,-158.044 190.148,-157.258"/>
<text text-anchor="middle" x="292.5" y="-199.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">#1</text>
<text text-anchor="middle" x="292.5" y="-184.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">=&gt; partial_product{digit}:=product</text>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: test Pages: 1 -->
<svg width="544pt" height="688pt"
viewBox="0.00 0.00 544.00 688.20" 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(72 616.197)">
<title>test</title>
<polygon fill="white" stroke="none" points="-72,72 -72,-616.197 472,-616.197 472,72 -72,72"/>
<g id="clust1" class="cluster"><title>cluster_long_mult</title>
<polygon fill="#ccebc5" stroke="black" stroke-width="2" points="8,-8 8,-536.197 383,-536.197 383,-8 8,-8"/>
<text text-anchor="middle" x="195.5" y="-520.997" font-family="Times,serif" font-size="14.00">long_mult</text>
</g>
<g id="clust2" class="cluster"><title>cluster_cl_dfr_1_mp</title>
<polygon fill="#deebf7" stroke="#deebf7" points="140,-107 140,-297 375,-297 375,-107 140,-107"/>
</g>
<!-- analysis_take_b_apart -->
<g id="node1" class="node"><title>analysis_take_b_apart</title>
<path fill="yellow" stroke="black" d="M62,-445.697C62,-445.697 172,-445.697 172,-445.697 178,-445.697 184,-451.697 184,-457.697 184,-457.697 184,-492.697 184,-492.697 184,-498.697 178,-504.697 172,-504.697 172,-504.697 62,-504.697 62,-504.697 56,-504.697 50,-498.697 50,-492.697 50,-492.697 50,-457.697 50,-457.697 50,-451.697 56,-445.697 62,-445.697"/>
<text text-anchor="start" x="72" y="-487.997" font-family="Times,serif" font-size="14.00">take_b_apart (1)</text>
<text text-anchor="start" x="115" y="-470.997" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="green" stroke="none" points="58,-449.197 58,-466.197 108,-466.197 108,-449.197 58,-449.197"/>
<text text-anchor="start" x="77" y="-453.997" font-family="Times,serif" font-size="14.00">1r</text>
<polygon fill="DeepSkyBlue" stroke="none" points="108,-449.197 108,-466.197 158,-466.197 158,-449.197 108,-449.197"/>
<text text-anchor="start" x="126" y="-453.997" font-family="Times,serif" font-size="14.00">1d</text>
<text text-anchor="start" x="159" y="-453.997" font-family="Times,serif" font-size="14.00">=2</text>
</g>
<!-- dfr_1_mp -->
<g id="node2" class="node"><title>dfr_1_mp</title>
<ellipse fill="black" stroke="black" cx="74" cy="-259" rx="0.36" ry="0.36"/>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_1_mp -->
<g id="edge3" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_1_mp:n</title>
<path fill="none" stroke="black" d="M100.45,-445.557C92.7507,-430.73 84.349,-412.037 80,-394.197 65.9654,-336.624 74,-320.259 74,-261"/>
<text text-anchor="middle" x="88" y="-371.398" font-family="Helvetica,sans-Serif" font-size="14.00">#1</text>
</g>
<!-- dfr_2_mp -->
<g id="node5" class="node"><title>dfr_2_mp</title>
<polygon fill="blueviolet" stroke="black" points="215.329,-355.954 221.505,-356.059 227.617,-356.216 233.641,-356.425 239.552,-356.685 245.325,-356.996 250.939,-357.356 256.371,-357.765 261.601,-358.222 266.609,-358.724 271.378,-359.272 275.891,-359.863 280.132,-360.496 284.088,-361.168 287.748,-361.879 291.102,-362.626 294.14,-363.408 296.858,-364.221 299.249,-365.064 301.311,-365.935 303.043,-366.831 304.444,-367.749 305.518,-368.688 306.266,-369.644 306.695,-370.615 306.811,-371.599 306.62,-372.592 306.132,-373.592 305.357,-374.596 304.306,-375.601 302.989,-376.605 301.419,-377.605 299.609,-378.598 297.572,-379.581 295.322,-380.553 292.872,-381.509 290.235,-382.447 287.426,-383.366 284.458,-384.262 281.344,-385.132 278.097,-385.976 274.73,-386.789 271.254,-387.57 267.681,-388.318 264.021,-389.028 260.284,-389.701 256.48,-390.334 252.618,-390.925 248.705,-391.472 244.748,-391.975 240.754,-392.432 236.73,-392.841 232.679,-393.201 228.607,-393.512 224.518,-393.772 220.416,-393.981 216.304,-394.138 212.185,-394.243 208.062,-394.296 203.938,-394.296 199.815,-394.243 195.696,-394.138 191.584,-393.981 187.482,-393.772 183.393,-393.512 179.321,-393.201 175.27,-392.841 171.246,-392.432 167.252,-391.975 163.295,-391.472 159.382,-390.925 155.52,-390.334 151.716,-389.701 147.979,-389.028 144.319,-388.318 140.746,-387.57 137.27,-386.789 133.903,-385.976 130.656,-385.132 127.542,-384.262 124.574,-383.366 121.765,-382.447 119.128,-381.509 116.678,-380.553 114.428,-379.581 112.391,-378.598 110.581,-377.605 109.011,-376.605 107.694,-375.601 106.643,-374.596 105.868,-373.592 105.38,-372.592 105.189,-371.599 105.305,-370.615 105.734,-369.644 106.482,-368.688 107.556,-367.749 108.957,-366.831 110.689,-365.935 112.751,-365.064 115.142,-364.221 117.86,-363.408 120.898,-362.626 124.252,-361.879 127.912,-361.168 131.868,-360.496 136.109,-359.863 140.622,-359.272 145.391,-358.724 150.399,-358.222 155.629,-357.765 161.061,-357.356 166.675,-356.996 172.448,-356.685 178.359,-356.425 184.383,-356.216 190.495,-356.059 196.671,-355.954 202.886,-355.901 209.114,-355.901 215.329,-355.954"/>
<text text-anchor="start" x="148" y="-369.898" font-family="Courier,monospace" font-size="14.00" fill="white">WHEN #digit#&gt;1</text>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_2_mp -->
<g id="edge4" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_2_mp:n</title>
<path fill="none" stroke="black" d="M174.371,-445.558C188.767,-434.832 201.197,-421.101 204.888,-404.384"/>
<polygon fill="black" stroke="black" points="208.394,-404.518 206,-394.197 201.435,-403.758 208.394,-404.518"/>
<text text-anchor="middle" x="210" y="-415.997" font-family="Helvetica,sans-Serif" font-size="14.00">#2</text>
</g>
<!-- analysis_add_together -->
<g id="node3" class="node"><title>analysis_add_together</title>
<path fill="grey" stroke="black" d="M28,-103.5C28,-103.5 120,-103.5 120,-103.5 126,-103.5 132,-109.5 132,-115.5 132,-115.5 132,-150.5 132,-150.5 132,-156.5 126,-162.5 120,-162.5 120,-162.5 28,-162.5 28,-162.5 22,-162.5 16,-156.5 16,-150.5 16,-150.5 16,-115.5 16,-115.5 16,-109.5 22,-103.5 28,-103.5"/>
<text text-anchor="start" x="28.5" y="-145.8" font-family="Times,serif" font-size="14.00">add_together (3)</text>
<text text-anchor="start" x="72" y="-128.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="grey" stroke="none" points="24,-107 24,-124 124,-124 124,-107 24,-107"/>
<text text-anchor="start" x="67.5" y="-111.8" font-family="Times,serif" font-size="14.00">1s</text>
</g>
<!-- dfr_1_mp&#45;&gt;analysis_add_together -->
<g id="edge5" class="edge"><title>dfr_1_mp:s&#45;&gt;analysis_add_together</title>
<path fill="none" stroke="blue" d="M74,-257C74,-228.912 74,-197.216 74,-173.034"/>
<polygon fill="blue" stroke="blue" points="77.5001,-172.829 74,-162.829 70.5001,-172.829 77.5001,-172.829"/>
</g>
<!-- table_final_result -->
<g id="node4" class="node"><title>table_final_result</title>
<polygon fill="orange" stroke="black" points="134,-52 28,-52 28,-56 16,-56 16,-16 134,-16 134,-52"/>
<polyline fill="none" stroke="black" points="16,-52 28,-52 "/>
<text text-anchor="start" x="25" y="-29.8" font-family="Courier,monospace" font-size="14.00">final_result</text>
</g>
<!-- analysis_add_together&#45;&gt;table_final_result -->
<g id="edge1" class="edge"><title>analysis_add_together&#45;&gt;table_final_result</title>
<path fill="none" stroke="blue" d="M74.2946,-103.421C74.4288,-90.4109 74.5867,-75.0855 74.7192,-62.2404"/>
<polygon fill="blue" stroke="blue" points="78.2199,-62.1748 74.8233,-52.1393 71.2203,-62.1026 78.2199,-62.1748"/>
<text text-anchor="middle" x="83" y="-73.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">#1</text>
</g>
<!-- dfr_2_mp&#45;&gt;dfr_1_mp -->
<g id="edge7" class="edge"><title>dfr_2_mp&#45;&gt;dfr_1_mp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M177.346,-349.331C144.242,-320.716 92.452,-275.95 77.9121,-263.382"/>
<polygon fill="red" stroke="red" points="177.519,-349.48 182.141,-359.424 181.301,-352.749 185.084,-356.019 185.084,-356.019 185.084,-356.019 181.301,-352.749 188.027,-352.615 177.519,-349.48 177.519,-349.48"/>
<polygon fill="red" stroke="red" points="71.5405,-264.483 78.08,-256.918 79.5931,-258.226 73.0536,-265.791 71.5405,-264.483"/>
<polyline fill="none" stroke="red" points="74.0537,-260.046 77.8364,-263.316 "/>
</g>
<!-- analysis_part_multiply -->
<g id="node6" class="node"><title>analysis_part_multiply</title>
<path fill="green" stroke="black" d="M160,-229.5C160,-229.5 252,-229.5 252,-229.5 258,-229.5 264,-235.5 264,-241.5 264,-241.5 264,-276.5 264,-276.5 264,-282.5 258,-288.5 252,-288.5 252,-288.5 160,-288.5 160,-288.5 154,-288.5 148,-282.5 148,-276.5 148,-276.5 148,-241.5 148,-241.5 148,-235.5 154,-229.5 160,-229.5"/>
<text text-anchor="start" x="159" y="-271.8" font-family="Times,serif" font-size="14.00">part_multiply (2)</text>
<text text-anchor="start" x="204" y="-254.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="green" stroke="none" points="156,-233 156,-250 256,-250 256,-233 156,-233"/>
<text text-anchor="start" x="200" y="-237.8" font-family="Times,serif" font-size="14.00">5r</text>
</g>
<!-- dfr_2_mp&#45;&gt;analysis_part_multiply -->
<g id="edge6" class="edge"><title>dfr_2_mp:cond_0&#45;&gt;analysis_part_multiply</title>
<path fill="none" stroke="blue" d="M206,-364.098C206,-342.498 206,-318.377 206,-298.796"/>
<polygon fill="blue" stroke="blue" points="209.5,-298.72 206,-288.72 202.5,-298.72 209.5,-298.72"/>
<text text-anchor="middle" x="250" y="-310.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">INPUT_PLUS </text>
</g>
<!-- sink_dfr_1_mp -->
<g id="node7" class="node"><title>sink_dfr_1_mp</title>
<polygon fill="darkgreen" stroke="black" points="149.662,-127.438 190,-115 230.338,-127.438 230.3,-147.562 149.7,-147.562 149.662,-127.438"/>
<text text-anchor="middle" x="190" y="-129.3" font-family="Courier,monospace" font-size="14.00" fill="white">Accu</text>
</g>
<!-- analysis_part_multiply&#45;&gt;sink_dfr_1_mp -->
<g id="edge2" class="edge"><title>analysis_part_multiply&#45;&gt;sink_dfr_1_mp</title>
<path fill="none" stroke="darkgreen" stroke-dasharray="5,2" d="M200.992,-219.185C198.411,-199.182 195.344,-175.417 193.107,-158.077"/>
<polygon fill="darkgreen" stroke="darkgreen" points="201.009,-219.322 197.826,-229.816 201.649,-224.281 202.289,-229.24 202.289,-229.24 202.289,-229.24 201.649,-224.281 206.752,-228.664 201.009,-219.322 201.009,-219.322"/>
<polygon fill="darkgreen" stroke="darkgreen" points="196.521,-157.184 191.77,-147.714 189.578,-158.08 196.521,-157.184"/>
<text text-anchor="middle" x="299.5" y="-199.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">#1</text>
<text text-anchor="middle" x="299.5" y="-184.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">=&gt; partial_product{digit}:=product</text>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: test Pages: 1 -->
<svg width="544pt" height="688pt"
viewBox="0.00 0.00 544.00 688.20" 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(72 616.197)">
<title>test</title>
<polygon fill="white" stroke="none" points="-72,72 -72,-616.197 472,-616.197 472,72 -72,72"/>
<g id="clust1" class="cluster"><title>cluster_long_mult</title>
<polygon fill="#ccebc5" stroke="black" stroke-width="2" points="8,-8 8,-536.197 383,-536.197 383,-8 8,-8"/>
<text text-anchor="middle" x="195.5" y="-520.997" font-family="Times,serif" font-size="14.00">long_mult</text>
</g>
<g id="clust2" class="cluster"><title>cluster_cl_dfr_1_mp</title>
<polygon fill="#deebf7" stroke="#deebf7" points="140,-107 140,-297 375,-297 375,-107 140,-107"/>
</g>
<!-- analysis_take_b_apart -->
<g id="node1" class="node"><title>analysis_take_b_apart</title>
<path fill="DeepSkyBlue" stroke="black" d="M66,-445.697C66,-445.697 158,-445.697 158,-445.697 164,-445.697 170,-451.697 170,-457.697 170,-457.697 170,-492.697 170,-492.697 170,-498.697 164,-504.697 158,-504.697 158,-504.697 66,-504.697 66,-504.697 60,-504.697 54,-498.697 54,-492.697 54,-492.697 54,-457.697 54,-457.697 54,-451.697 60,-445.697 66,-445.697"/>
<text text-anchor="start" x="67" y="-487.997" font-family="Times,serif" font-size="14.00">take_b_apart (1)</text>
<text text-anchor="start" x="110" y="-470.997" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="DeepSkyBlue" stroke="none" points="62,-449.197 62,-466.197 162,-466.197 162,-449.197 62,-449.197"/>
<text text-anchor="start" x="105" y="-453.997" font-family="Times,serif" font-size="14.00">2d</text>
</g>
<!-- dfr_1_mp -->
<g id="node2" class="node"><title>dfr_1_mp</title>
<ellipse fill="black" stroke="black" cx="74" cy="-259" rx="0.36" ry="0.36"/>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_1_mp -->
<g id="edge3" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_1_mp:n</title>
<path fill="none" stroke="black" d="M97.8774,-445.679C91.18,-430.729 83.822,-411.889 80,-394.197 67.487,-336.274 74,-320.259 74,-261"/>
<text text-anchor="middle" x="88" y="-371.398" font-family="Helvetica,sans-Serif" font-size="14.00">#1</text>
</g>
<!-- dfr_2_mp -->
<g id="node5" class="node"><title>dfr_2_mp</title>
<polygon fill="blueviolet" stroke="black" points="215.329,-355.954 221.505,-356.059 227.617,-356.216 233.641,-356.425 239.552,-356.685 245.325,-356.996 250.939,-357.356 256.371,-357.765 261.601,-358.222 266.609,-358.724 271.378,-359.272 275.891,-359.863 280.132,-360.496 284.088,-361.168 287.748,-361.879 291.102,-362.626 294.14,-363.408 296.858,-364.221 299.249,-365.064 301.311,-365.935 303.043,-366.831 304.444,-367.749 305.518,-368.688 306.266,-369.644 306.695,-370.615 306.811,-371.599 306.62,-372.592 306.132,-373.592 305.357,-374.596 304.306,-375.601 302.989,-376.605 301.419,-377.605 299.609,-378.598 297.572,-379.581 295.322,-380.553 292.872,-381.509 290.235,-382.447 287.426,-383.366 284.458,-384.262 281.344,-385.132 278.097,-385.976 274.73,-386.789 271.254,-387.57 267.681,-388.318 264.021,-389.028 260.284,-389.701 256.48,-390.334 252.618,-390.925 248.705,-391.472 244.748,-391.975 240.754,-392.432 236.73,-392.841 232.679,-393.201 228.607,-393.512 224.518,-393.772 220.416,-393.981 216.304,-394.138 212.185,-394.243 208.062,-394.296 203.938,-394.296 199.815,-394.243 195.696,-394.138 191.584,-393.981 187.482,-393.772 183.393,-393.512 179.321,-393.201 175.27,-392.841 171.246,-392.432 167.252,-391.975 163.295,-391.472 159.382,-390.925 155.52,-390.334 151.716,-389.701 147.979,-389.028 144.319,-388.318 140.746,-387.57 137.27,-386.789 133.903,-385.976 130.656,-385.132 127.542,-384.262 124.574,-383.366 121.765,-382.447 119.128,-381.509 116.678,-380.553 114.428,-379.581 112.391,-378.598 110.581,-377.605 109.011,-376.605 107.694,-375.601 106.643,-374.596 105.868,-373.592 105.38,-372.592 105.189,-371.599 105.305,-370.615 105.734,-369.644 106.482,-368.688 107.556,-367.749 108.957,-366.831 110.689,-365.935 112.751,-365.064 115.142,-364.221 117.86,-363.408 120.898,-362.626 124.252,-361.879 127.912,-361.168 131.868,-360.496 136.109,-359.863 140.622,-359.272 145.391,-358.724 150.399,-358.222 155.629,-357.765 161.061,-357.356 166.675,-356.996 172.448,-356.685 178.359,-356.425 184.383,-356.216 190.495,-356.059 196.671,-355.954 202.886,-355.901 209.114,-355.901 215.329,-355.954"/>
<text text-anchor="start" x="148" y="-369.898" font-family="Courier,monospace" font-size="14.00" fill="white">WHEN #digit#&gt;1</text>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_2_mp -->
<g id="edge4" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_2_mp:n</title>
<path fill="none" stroke="black" d="M170.194,-447.925C186.495,-436.994 200.888,-422.542 204.895,-404.362"/>
<polygon fill="black" stroke="black" points="208.399,-404.517 206,-394.197 201.44,-403.76 208.399,-404.517"/>
<text text-anchor="middle" x="210" y="-415.997" font-family="Helvetica,sans-Serif" font-size="14.00">#2</text>
</g>
<!-- analysis_add_together -->
<g id="node3" class="node"><title>analysis_add_together</title>
<path fill="grey" stroke="black" d="M28,-103.5C28,-103.5 120,-103.5 120,-103.5 126,-103.5 132,-109.5 132,-115.5 132,-115.5 132,-150.5 132,-150.5 132,-156.5 126,-162.5 120,-162.5 120,-162.5 28,-162.5 28,-162.5 22,-162.5 16,-156.5 16,-150.5 16,-150.5 16,-115.5 16,-115.5 16,-109.5 22,-103.5 28,-103.5"/>
<text text-anchor="start" x="28.5" y="-145.8" font-family="Times,serif" font-size="14.00">add_together (3)</text>
<text text-anchor="start" x="72" y="-128.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="grey" stroke="none" points="24,-107 24,-124 124,-124 124,-107 24,-107"/>
<text text-anchor="start" x="67.5" y="-111.8" font-family="Times,serif" font-size="14.00">2s</text>
</g>
<!-- dfr_1_mp&#45;&gt;analysis_add_together -->
<g id="edge5" class="edge"><title>dfr_1_mp:s&#45;&gt;analysis_add_together</title>
<path fill="none" stroke="blue" d="M74,-257C74,-228.912 74,-197.216 74,-173.034"/>
<polygon fill="blue" stroke="blue" points="77.5001,-172.829 74,-162.829 70.5001,-172.829 77.5001,-172.829"/>
</g>
<!-- table_final_result -->
<g id="node4" class="node"><title>table_final_result</title>
<polygon fill="orange" stroke="black" points="134,-52 28,-52 28,-56 16,-56 16,-16 134,-16 134,-52"/>
<polyline fill="none" stroke="black" points="16,-52 28,-52 "/>
<text text-anchor="start" x="25" y="-29.8" font-family="Courier,monospace" font-size="14.00">final_result</text>
</g>
<!-- analysis_add_together&#45;&gt;table_final_result -->
<g id="edge1" class="edge"><title>analysis_add_together&#45;&gt;table_final_result</title>
<path fill="none" stroke="blue" d="M74.2946,-103.421C74.4288,-90.4109 74.5867,-75.0855 74.7192,-62.2404"/>
<polygon fill="blue" stroke="blue" points="78.2199,-62.1748 74.8233,-52.1393 71.2203,-62.1026 78.2199,-62.1748"/>
<text text-anchor="middle" x="83" y="-73.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">#1</text>
</g>
<!-- dfr_2_mp&#45;&gt;dfr_1_mp -->
<g id="edge7" class="edge"><title>dfr_2_mp&#45;&gt;dfr_1_mp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M177.346,-349.331C144.242,-320.716 92.452,-275.95 77.9121,-263.382"/>
<polygon fill="red" stroke="red" points="177.519,-349.48 182.141,-359.424 181.301,-352.749 185.084,-356.019 185.084,-356.019 185.084,-356.019 181.301,-352.749 188.027,-352.615 177.519,-349.48 177.519,-349.48"/>
<polygon fill="red" stroke="red" points="71.5405,-264.483 78.08,-256.918 79.5931,-258.226 73.0536,-265.791 71.5405,-264.483"/>
<polyline fill="none" stroke="red" points="74.0537,-260.046 77.8364,-263.316 "/>
</g>
<!-- analysis_part_multiply -->
<g id="node6" class="node"><title>analysis_part_multiply</title>
<path fill="green" stroke="black" d="M160,-229.5C160,-229.5 252,-229.5 252,-229.5 258,-229.5 264,-235.5 264,-241.5 264,-241.5 264,-276.5 264,-276.5 264,-282.5 258,-288.5 252,-288.5 252,-288.5 160,-288.5 160,-288.5 154,-288.5 148,-282.5 148,-276.5 148,-276.5 148,-241.5 148,-241.5 148,-235.5 154,-229.5 160,-229.5"/>
<text text-anchor="start" x="159" y="-271.8" font-family="Times,serif" font-size="14.00">part_multiply (2)</text>
<text text-anchor="start" x="204" y="-254.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="green" stroke="none" points="156,-233 156,-250 256,-250 256,-233 156,-233"/>
<text text-anchor="start" x="200" y="-237.8" font-family="Times,serif" font-size="14.00">8r</text>
</g>
<!-- dfr_2_mp&#45;&gt;analysis_part_multiply -->
<g id="edge6" class="edge"><title>dfr_2_mp:cond_0&#45;&gt;analysis_part_multiply</title>
<path fill="none" stroke="blue" d="M206,-364.098C206,-342.498 206,-318.377 206,-298.796"/>
<polygon fill="blue" stroke="blue" points="209.5,-298.72 206,-288.72 202.5,-298.72 209.5,-298.72"/>
<text text-anchor="middle" x="250" y="-310.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">INPUT_PLUS </text>
</g>
<!-- sink_dfr_1_mp -->
<g id="node7" class="node"><title>sink_dfr_1_mp</title>
<polygon fill="darkgreen" stroke="black" points="149.662,-127.438 190,-115 230.338,-127.438 230.3,-147.562 149.7,-147.562 149.662,-127.438"/>
<text text-anchor="middle" x="190" y="-129.3" font-family="Courier,monospace" font-size="14.00" fill="white">Accu</text>
</g>
<!-- analysis_part_multiply&#45;&gt;sink_dfr_1_mp -->
<g id="edge2" class="edge"><title>analysis_part_multiply&#45;&gt;sink_dfr_1_mp</title>
<path fill="none" stroke="darkgreen" stroke-dasharray="5,2" d="M200.992,-219.185C198.411,-199.182 195.344,-175.417 193.107,-158.077"/>
<polygon fill="darkgreen" stroke="darkgreen" points="201.009,-219.322 197.826,-229.816 201.649,-224.281 202.289,-229.24 202.289,-229.24 202.289,-229.24 201.649,-224.281 206.752,-228.664 201.009,-219.322 201.009,-219.322"/>
<polygon fill="darkgreen" stroke="darkgreen" points="196.521,-157.184 191.77,-147.714 189.578,-158.08 196.521,-157.184"/>
<text text-anchor="middle" x="299.5" y="-199.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">#1</text>
<text text-anchor="middle" x="299.5" y="-184.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">=&gt; partial_product{digit}:=product</text>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: test Pages: 1 -->
<svg width="551pt" height="688pt"
viewBox="0.00 0.00 551.00 688.20" 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(72 616.197)">
<title>test</title>
<polygon fill="white" stroke="none" points="-72,72 -72,-616.197 479,-616.197 479,72 -72,72"/>
<g id="clust1" class="cluster"><title>cluster_long_mult</title>
<polygon fill="#ccebc5" stroke="black" stroke-width="2" points="8,-8 8,-536.197 383,-536.197 383,-8 8,-8"/>
<text text-anchor="middle" x="195.5" y="-520.997" font-family="Times,serif" font-size="14.00">long_mult</text>
</g>
<g id="clust2" class="cluster"><title>cluster_cl_dfr_1_mp</title>
<polygon fill="#deebf7" stroke="#deebf7" points="140,-107 140,-297 375,-297 375,-107 140,-107"/>
</g>
<!-- analysis_take_b_apart -->
<g id="node1" class="node"><title>analysis_take_b_apart</title>
<path fill="DeepSkyBlue" stroke="black" d="M71,-445.697C71,-445.697 163,-445.697 163,-445.697 169,-445.697 175,-451.697 175,-457.697 175,-457.697 175,-492.697 175,-492.697 175,-498.697 169,-504.697 163,-504.697 163,-504.697 71,-504.697 71,-504.697 65,-504.697 59,-498.697 59,-492.697 59,-492.697 59,-457.697 59,-457.697 59,-451.697 65,-445.697 71,-445.697"/>
<text text-anchor="start" x="72" y="-487.997" font-family="Times,serif" font-size="14.00">take_b_apart (1)</text>
<text text-anchor="start" x="115" y="-470.997" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="DeepSkyBlue" stroke="none" points="67,-449.197 67,-466.197 167,-466.197 167,-449.197 67,-449.197"/>
<text text-anchor="start" x="110" y="-453.997" font-family="Times,serif" font-size="14.00">2d</text>
</g>
<!-- dfr_1_mp -->
<g id="node2" class="node"><title>dfr_1_mp</title>
<ellipse fill="black" stroke="black" cx="77" cy="-259" rx="0.36" ry="0.36"/>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_1_mp -->
<g id="edge3" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_1_mp:n</title>
<path fill="none" stroke="black" d="M103.49,-445.597C97.0474,-430.626 89.9081,-411.791 86,-394.197 73.1342,-336.275 77,-320.334 77,-261"/>
<text text-anchor="middle" x="94" y="-371.398" font-family="Helvetica,sans-Serif" font-size="14.00">#1</text>
</g>
<!-- dfr_2_mp -->
<g id="node5" class="node"><title>dfr_2_mp</title>
<polygon fill="blueviolet" stroke="black" points="221.329,-355.954 227.505,-356.059 233.617,-356.216 239.641,-356.425 245.552,-356.685 251.325,-356.996 256.939,-357.356 262.371,-357.765 267.601,-358.222 272.609,-358.724 277.378,-359.272 281.891,-359.863 286.132,-360.496 290.088,-361.168 293.748,-361.879 297.102,-362.626 300.14,-363.408 302.858,-364.221 305.249,-365.064 307.311,-365.935 309.043,-366.831 310.444,-367.749 311.518,-368.688 312.266,-369.644 312.695,-370.615 312.811,-371.599 312.62,-372.592 312.132,-373.592 311.357,-374.596 310.306,-375.601 308.989,-376.605 307.419,-377.605 305.609,-378.598 303.572,-379.581 301.322,-380.553 298.872,-381.509 296.235,-382.447 293.426,-383.366 290.458,-384.262 287.344,-385.132 284.097,-385.976 280.73,-386.789 277.254,-387.57 273.681,-388.318 270.021,-389.028 266.284,-389.701 262.48,-390.334 258.618,-390.925 254.705,-391.472 250.748,-391.975 246.754,-392.432 242.73,-392.841 238.679,-393.201 234.607,-393.512 230.518,-393.772 226.416,-393.981 222.304,-394.138 218.185,-394.243 214.062,-394.296 209.938,-394.296 205.815,-394.243 201.696,-394.138 197.584,-393.981 193.482,-393.772 189.393,-393.512 185.321,-393.201 181.27,-392.841 177.246,-392.432 173.252,-391.975 169.295,-391.472 165.382,-390.925 161.52,-390.334 157.716,-389.701 153.979,-389.028 150.319,-388.318 146.746,-387.57 143.27,-386.789 139.903,-385.976 136.656,-385.132 133.542,-384.262 130.574,-383.366 127.765,-382.447 125.128,-381.509 122.678,-380.553 120.428,-379.581 118.391,-378.598 116.581,-377.605 115.011,-376.605 113.694,-375.601 112.643,-374.596 111.868,-373.592 111.38,-372.592 111.189,-371.599 111.305,-370.615 111.734,-369.644 112.482,-368.688 113.556,-367.749 114.957,-366.831 116.689,-365.935 118.751,-365.064 121.142,-364.221 123.86,-363.408 126.898,-362.626 130.252,-361.879 133.912,-361.168 137.868,-360.496 142.109,-359.863 146.622,-359.272 151.391,-358.724 156.399,-358.222 161.629,-357.765 167.061,-357.356 172.675,-356.996 178.448,-356.685 184.359,-356.425 190.383,-356.216 196.495,-356.059 202.671,-355.954 208.886,-355.901 215.114,-355.901 221.329,-355.954"/>
<text text-anchor="start" x="154" y="-369.898" font-family="Courier,monospace" font-size="14.00" fill="white">WHEN #digit#&gt;1</text>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_2_mp -->
<g id="edge4" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_2_mp:n</title>
<path fill="none" stroke="black" d="M175.271,-448.426C192.016,-437.441 206.877,-422.805 210.919,-404.255"/>
<polygon fill="black" stroke="black" points="214.412,-404.514 212,-394.197 207.452,-403.766 214.412,-404.514"/>
<text text-anchor="middle" x="216" y="-415.997" font-family="Helvetica,sans-Serif" font-size="14.00">#2</text>
</g>
<!-- analysis_add_together -->
<g id="node3" class="node"><title>analysis_add_together</title>
<path fill="grey" stroke="black" d="M28,-103.5C28,-103.5 120,-103.5 120,-103.5 126,-103.5 132,-109.5 132,-115.5 132,-115.5 132,-150.5 132,-150.5 132,-156.5 126,-162.5 120,-162.5 120,-162.5 28,-162.5 28,-162.5 22,-162.5 16,-156.5 16,-150.5 16,-150.5 16,-115.5 16,-115.5 16,-109.5 22,-103.5 28,-103.5"/>
<text text-anchor="start" x="28.5" y="-145.8" font-family="Times,serif" font-size="14.00">add_together (3)</text>
<text text-anchor="start" x="72" y="-128.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="grey" stroke="none" points="24,-107 24,-124 124,-124 124,-107 24,-107"/>
<text text-anchor="start" x="67.5" y="-111.8" font-family="Times,serif" font-size="14.00">2s</text>
</g>
<!-- dfr_1_mp&#45;&gt;analysis_add_together -->
<g id="edge5" class="edge"><title>dfr_1_mp:s&#45;&gt;analysis_add_together</title>
<path fill="none" stroke="blue" d="M77,-257C77,-228.903 76.208,-197.207 75.4379,-173.028"/>
<polygon fill="blue" stroke="blue" points="78.9291,-172.703 75.1001,-162.824 71.9329,-172.934 78.9291,-172.703"/>
</g>
<!-- table_final_result -->
<g id="node4" class="node"><title>table_final_result</title>
<polygon fill="orange" stroke="black" points="134,-52 28,-52 28,-56 16,-56 16,-16 134,-16 134,-52"/>
<polyline fill="none" stroke="black" points="16,-52 28,-52 "/>
<text text-anchor="start" x="25" y="-29.8" font-family="Courier,monospace" font-size="14.00">final_result</text>
</g>
<!-- analysis_add_together&#45;&gt;table_final_result -->
<g id="edge1" class="edge"><title>analysis_add_together&#45;&gt;table_final_result</title>
<path fill="none" stroke="blue" d="M74.2946,-103.421C74.4288,-90.4109 74.5867,-75.0855 74.7192,-62.2404"/>
<polygon fill="blue" stroke="blue" points="78.2199,-62.1748 74.8233,-52.1393 71.2203,-62.1026 78.2199,-62.1748"/>
<text text-anchor="middle" x="83" y="-73.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">#1</text>
</g>
<!-- dfr_2_mp&#45;&gt;dfr_1_mp -->
<g id="edge7" class="edge"><title>dfr_2_mp&#45;&gt;dfr_1_mp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M182.695,-349.331C148.838,-320.716 95.8713,-275.95 81.001,-263.382"/>
<polygon fill="red" stroke="red" points="182.971,-349.564 187.704,-359.456 186.79,-352.792 190.609,-356.019 190.609,-356.019 190.609,-356.019 186.79,-352.792 193.514,-352.582 182.971,-349.564 182.971,-349.564"/>
<polygon fill="red" stroke="red" points="74.5911,-264.511 81.0462,-256.873 82.5737,-258.164 76.1186,-265.802 74.5911,-264.511"/>
<polyline fill="none" stroke="red" points="77.0549,-260.046 80.8737,-263.274 "/>
</g>
<!-- analysis_part_multiply -->
<g id="node6" class="node"><title>analysis_part_multiply</title>
<path fill="yellow" stroke="black" d="M160.5,-229.5C160.5,-229.5 273.5,-229.5 273.5,-229.5 279.5,-229.5 285.5,-235.5 285.5,-241.5 285.5,-241.5 285.5,-276.5 285.5,-276.5 285.5,-282.5 279.5,-288.5 273.5,-288.5 273.5,-288.5 160.5,-288.5 160.5,-288.5 154.5,-288.5 148.5,-282.5 148.5,-276.5 148.5,-276.5 148.5,-241.5 148.5,-241.5 148.5,-235.5 154.5,-229.5 160.5,-229.5"/>
<text text-anchor="start" x="170.5" y="-271.8" font-family="Times,serif" font-size="14.00">part_multiply (2)</text>
<text text-anchor="start" x="215.5" y="-254.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="green" stroke="none" points="157,-233 157,-250 244,-250 244,-233 157,-233"/>
<text text-anchor="start" x="194.5" y="-237.8" font-family="Times,serif" font-size="14.00">7r</text>
<polygon fill="DeepSkyBlue" stroke="none" points="244,-233 244,-250 260,-250 260,-233 244,-233"/>
<text text-anchor="start" x="245" y="-237.8" font-family="Times,serif" font-size="14.00">1d</text>
<text text-anchor="start" x="261" y="-237.8" font-family="Times,serif" font-size="14.00">=8</text>
</g>
<!-- dfr_2_mp&#45;&gt;analysis_part_multiply -->
<g id="edge6" class="edge"><title>dfr_2_mp:cond_0&#45;&gt;analysis_part_multiply</title>
<path fill="none" stroke="blue" d="M212,-364.098C212,-342.473 213.09,-318.35 214.252,-298.775"/>
<polygon fill="blue" stroke="blue" points="217.751,-298.901 214.88,-288.702 210.764,-298.465 217.751,-298.901"/>
<text text-anchor="middle" x="257" y="-310.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">INPUT_PLUS </text>
</g>
<!-- sink_dfr_1_mp -->
<g id="node7" class="node"><title>sink_dfr_1_mp</title>
<polygon fill="darkgreen" stroke="black" points="149.662,-127.438 190,-115 230.338,-127.438 230.3,-147.562 149.7,-147.562 149.662,-127.438"/>
<text text-anchor="middle" x="190" y="-129.3" font-family="Courier,monospace" font-size="14.00" fill="white">Accu</text>
</g>
<!-- analysis_part_multiply&#45;&gt;sink_dfr_1_mp -->
<g id="edge2" class="edge"><title>analysis_part_multiply&#45;&gt;sink_dfr_1_mp</title>
<path fill="none" stroke="darkgreen" stroke-dasharray="5,2" d="M208.548,-219.185C204.151,-198.991 198.919,-174.963 195.135,-157.583"/>
<polygon fill="darkgreen" stroke="darkgreen" points="208.61,-219.469 206.341,-230.198 209.674,-224.355 210.738,-229.24 210.738,-229.24 210.738,-229.24 209.674,-224.355 215.135,-228.283 208.61,-219.469 208.61,-219.469"/>
<polygon fill="darkgreen" stroke="darkgreen" points="198.534,-156.741 192.986,-147.714 191.694,-158.23 198.534,-156.741"/>
<text text-anchor="middle" x="306.5" y="-199.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">#1</text>
<text text-anchor="middle" x="306.5" y="-184.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="darkgreen">=&gt; partial_product{digit}:=product</text>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: test Pages: 1 -->
<svg width="550pt" height="688pt"
viewBox="0.00 0.00 550.00 688.20" 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(72 616.197)">
<title>test</title>
<polygon fill="white" stroke="none" points="-72,72 -72,-616.197 478,-616.197 478,72 -72,72"/>
<g id="clust1" class="cluster"><title>cluster_long_mult</title>
<polygon fill="#ccebc5" stroke="black" stroke-width="2" points="8,-8 8,-536.197 383,-536.197 383,-8 8,-8"/>
<text text-anchor="middle" x="195.5" y="-520.997" font-family="Times,serif" font-size="14.00">long_mult</text>
</g>
<g id="clust2" class="cluster"><title>cluster_cl_dfr_1_mp</title>
<polygon fill="#deebf7" stroke="#deebf7" points="140,-107 140,-297 375,-297 375,-107 140,-107"/>
</g>
<!-- analysis_take_b_apart -->
<g id="node1" class="node"><title>analysis_take_b_apart</title>
<path fill="DeepSkyBlue" stroke="black" d="M70,-445.697C70,-445.697 162,-445.697 162,-445.697 168,-445.697 174,-451.697 174,-457.697 174,-457.697 174,-492.697 174,-492.697 174,-498.697 168,-504.697 162,-504.697 162,-504.697 70,-504.697 70,-504.697 64,-504.697 58,-498.697 58,-492.697 58,-492.697 58,-457.697 58,-457.697 58,-451.697 64,-445.697 70,-445.697"/>
<text text-anchor="start" x="71" y="-487.997" font-family="Times,serif" font-size="14.00">take_b_apart (1)</text>
<text text-anchor="start" x="114" y="-470.997" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="DeepSkyBlue" stroke="none" points="66,-449.197 66,-466.197 166,-466.197 166,-449.197 66,-449.197"/>
<text text-anchor="start" x="109" y="-453.997" font-family="Times,serif" font-size="14.00">2d</text>
</g>
<!-- dfr_1_mp -->
<g id="node2" class="node"><title>dfr_1_mp</title>
<ellipse fill="black" stroke="black" cx="76" cy="-259" rx="0.36" ry="0.36"/>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_1_mp -->
<g id="edge3" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_1_mp:n</title>
<path fill="none" stroke="black" d="M102.49,-445.597C96.0474,-430.626 88.9081,-411.791 85,-394.197 72.1342,-336.275 76,-320.334 76,-261"/>
<text text-anchor="middle" x="93" y="-371.398" font-family="Helvetica,sans-Serif" font-size="14.00">#1</text>
</g>
<!-- dfr_2_mp -->
<g id="node5" class="node"><title>dfr_2_mp</title>
<polygon fill="blueviolet" stroke="black" points="220.329,-355.954 226.505,-356.059 232.617,-356.216 238.641,-356.425 244.552,-356.685 250.325,-356.996 255.939,-357.356 261.371,-357.765 266.601,-358.222 271.609,-358.724 276.378,-359.272 280.891,-359.863 285.132,-360.496 289.088,-361.168 292.748,-361.879 296.102,-362.626 299.14,-363.408 301.858,-364.221 304.249,-365.064 306.311,-365.935 308.043,-366.831 309.444,-367.749 310.518,-368.688 311.266,-369.644 311.695,-370.615 311.811,-371.599 311.62,-372.592 311.132,-373.592 310.357,-374.596 309.306,-375.601 307.989,-376.605 306.419,-377.605 304.609,-378.598 302.572,-379.581 300.322,-380.553 297.872,-381.509 295.235,-382.447 292.426,-383.366 289.458,-384.262 286.344,-385.132 283.097,-385.976 279.73,-386.789 276.254,-387.57 272.681,-388.318 269.021,-389.028 265.284,-389.701 261.48,-390.334 257.618,-390.925 253.705,-391.472 249.748,-391.975 245.754,-392.432 241.73,-392.841 237.679,-393.201 233.607,-393.512 229.518,-393.772 225.416,-393.981 221.304,-394.138 217.185,-394.243 213.062,-394.296 208.938,-394.296 204.815,-394.243 200.696,-394.138 196.584,-393.981 192.482,-393.772 188.393,-393.512 184.321,-393.201 180.27,-392.841 176.246,-392.432 172.252,-391.975 168.295,-391.472 164.382,-390.925 160.52,-390.334 156.716,-389.701 152.979,-389.028 149.319,-388.318 145.746,-387.57 142.27,-386.789 138.903,-385.976 135.656,-385.132 132.542,-384.262 129.574,-383.366 126.765,-382.447 124.128,-381.509 121.678,-380.553 119.428,-379.581 117.391,-378.598 115.581,-377.605 114.011,-376.605 112.694,-375.601 111.643,-374.596 110.868,-373.592 110.38,-372.592 110.189,-371.599 110.305,-370.615 110.734,-369.644 111.482,-368.688 112.556,-367.749 113.957,-366.831 115.689,-365.935 117.751,-365.064 120.142,-364.221 122.86,-363.408 125.898,-362.626 129.252,-361.879 132.912,-361.168 136.868,-360.496 141.109,-359.863 145.622,-359.272 150.391,-358.724 155.399,-358.222 160.629,-357.765 166.061,-357.356 171.675,-356.996 177.448,-356.685 183.359,-356.425 189.383,-356.216 195.495,-356.059 201.671,-355.954 207.886,-355.901 214.114,-355.901 220.329,-355.954"/>
<text text-anchor="start" x="153" y="-369.898" font-family="Courier,monospace" font-size="14.00" fill="white">WHEN #digit#&gt;1</text>
</g>
<!-- analysis_take_b_apart&#45;&gt;dfr_2_mp -->
<g id="edge4" class="edge"><title>analysis_take_b_apart&#45;&gt;dfr_2_mp:n</title>
<path fill="none" stroke="black" d="M174.271,-448.426C191.016,-437.441 205.877,-422.805 209.919,-404.255"/>
<polygon fill="black" stroke="black" points="213.412,-404.514 211,-394.197 206.452,-403.766 213.412,-404.514"/>
<text text-anchor="middle" x="215" y="-415.997" font-family="Helvetica,sans-Serif" font-size="14.00">#2</text>
</g>
<!-- analysis_add_together -->
<g id="node3" class="node"><title>analysis_add_together</title>
<path fill="grey" stroke="black" d="M28,-103.5C28,-103.5 120,-103.5 120,-103.5 126,-103.5 132,-109.5 132,-115.5 132,-115.5 132,-150.5 132,-150.5 132,-156.5 126,-162.5 120,-162.5 120,-162.5 28,-162.5 28,-162.5 22,-162.5 16,-156.5 16,-150.5 16,-150.5 16,-115.5 16,-115.5 16,-109.5 22,-103.5 28,-103.5"/>
<text text-anchor="start" x="28.5" y="-145.8" font-family="Times,serif" font-size="14.00">add_together (3)</text>
<text text-anchor="start" x="72" y="-128.8" font-family="Times,serif" font-size="14.00"> </text>
<polygon fill="grey" stroke="none" points="24,-107 24,-124 124,-124 124,-107 24,-107"/>
<text text-anchor="start" x="67.5" y="-111.8" font-family="Times,serif" font-size="14.00">2s</text>
</g>
<!-- dfr_1_mp&#45;&gt;analysis_add_together -->
<g id="edge5" class="edge"><title>dfr_1_mp:s&#45;&gt;analysis_add_together</title>
<path fill="none" stroke="blue" d="M76,-257C76,-228.908 75.472,-197.212 74.9586,-173.032"/>
<polygon fill="blue" stroke="blue" points="78.4532,-172.747 74.7334,-162.827 71.455,-172.901 78.4532,-172.747"/>
</g>
<!-- table_final_result -->
<g id="node4" class="node"><title>table_final_result</title>
<polygon fill="orange" stroke="black" points="134,-52 28,-52 28,-56 16,-56 16,-16 134,-16 134,-52"/>
<polyline fill="none" stroke="black" points="16,-52 28,-52 "/>
<text text-anchor="start" x="25" y="-29.8" font-family="Courier,monospace" font-size="14.00">final_result</text>
</g>
<!-- analysis_add_together&#45;&gt;table_final_result -->
<g id="edge1" class="edge"><title>analysis_add_together&#45;&gt;table_final_result</title>
<path fill="none" stroke="blue" d="M74.2946,-103.421C74.4288,-90.4109 74.5867,-75.0855 74.7192,-62.2404"/>
<polygon fill="blue" stroke="blue" points="78.2199,-62.1748 74.8233,-52.1393 71.2203,-62.1026 78.2199,-62.1748"/>
<text text-anchor="middle" x="83" y="-73.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="blue">#1</text>
</g>
<!-- dfr_2_mp&#45;&gt;dfr_1_mp -->
<g id="edge7" class="edge"><title>dfr_2_mp&#45;&gt;dfr_1_mp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M181.695,-349.331C147.838,-320.716 94.8713,-275.95 80.001,-263.382"/>
<polygon fill="red" stroke="red" points="181.971,-349.564 186.704,-359.456 185.79,-352.792 189.609,-356.019 189.609,-356.019 189.609,-356.019 185.79,-352.792 192.514,-352.582 181.971,-349.564 181.971,-349.564"/>
<polygon fill="red" stroke="red" points="73.5911,-264.511 80.0462,-256.873 81.5737,-258.164 75.1186,-265.802 73.5911,-264.511"/>
<polyline fill="none" stroke="red" points="76.0549,-260.046 79.8737,-263.274 "/>
</g>
<!-- analysis_part_multiply -->
<g id="node6"