package bfloat16 file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/abs_diff.x" file_number 2 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 3 "/inputs/subtree/xls/dslx/stdlib/bfloat16.x" top fn __bfloat16__sub(x: (bits[1], bits[8], bits[7]) id=845, y: (bits[1], bits[8], bits[7]) id=846) -> (bits[1], bits[8], bits[7]) { y_bexp__2: bits[8] = tuple_index(y, index=1, id=27326, pos=[(2,3242,65), (3,164,51)]) literal.27330: bits[1] = literal(value=0, id=27330, pos=[(1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) x_bexp__2: bits[8] = tuple_index(x, index=1, id=27331, pos=[(2,3091,59), (2,3243,7), (3,164,51)]) y__1_bexpnot__1: bits[8] = not(y_bexp__2, id=27332, pos=[(1,90,15), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) x_bexp_extended__2: bits[9] = concat(literal.27330, x_bexp__2, id=27333, pos=[(1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) y__1_bexpnot_extended__1: bits[9] = concat(literal.27330, y__1_bexpnot__1, id=27334, pos=[(1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) full_result: bits[9] = add(x_bexp_extended__2, y__1_bexpnot_extended__1, id=27335, pos=[(0,1114,45), (1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) overflow_detected: bits[1] = bit_slice(full_result, start=8, width=1, id=27336, pos=[(0,1116,49), (1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) y_fraction__2: bits[7] = tuple_index(y, index=2, id=27327, pos=[(2,3242,83), (3,164,51)]) tuple_index.27339: bits[7] = tuple_index(x, index=2, id=27339, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) x_bexp__3: bits[8] = sel(overflow_detected, cases=[y_bexp__2, x_bexp__2], id=27594, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.27341: bits[8] = literal(value=0, id=27341, pos=[(2,3099,34), (2,3243,7), (3,164,51)]) y_bexp__3: bits[8] = sel(overflow_detected, cases=[x_bexp__2, y_bexp__2], id=27592, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.27342: bits[1] = literal(value=1, id=27342, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) x_fraction__1: bits[7] = sel(overflow_detected, cases=[y_fraction__2, tuple_index.27339], id=27595, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.27801: bits[1] = ne(x_bexp__3, literal.27341, id=27801, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) y_fraction__3: bits[7] = sel(overflow_detected, cases=[tuple_index.27339, y_fraction__2], id=27593, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.27800: bits[1] = ne(y_bexp__3, literal.27341, id=27800, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) nc: bits[1] = not(overflow_detected, id=27337, pos=[(1,92,19), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) y_sign__2: bits[1] = tuple_index(y, index=0, id=27324, pos=[(2,3242,51), (3,164,51)]) fraction_x: bits[8] = concat(literal.27342, x_fraction__1, id=27362, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) sign_ext.27678: bits[8] = sign_ext(ne.27801, new_bit_count=8, id=27678, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y: bits[8] = concat(literal.27342, y_fraction__3, id=27345, pos=[(2,3096,22), (2,3243,7), (3,164,51)]) sign_ext.27681: bits[8] = sign_ext(ne.27800, new_bit_count=8, id=27681, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) narrowed_result: bits[8] = bit_slice(full_result, start=0, width=8, id=27349, pos=[(1,91,63), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) x_bexpor_mask__1: bits[8] = sign_ext(nc, new_bit_count=8, id=27350, pos=[(1,94,32), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) literal.27351: bits[7] = literal(value=0, id=27351, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) not.27325: bits[1] = not(y_sign__2, id=27325, pos=[(2,3242,49), (3,164,51)]) tuple_index.27369: bits[1] = tuple_index(x, index=0, id=27369, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) fraction_x__1: bits[8] = and(fraction_x, sign_ext.27678, id=27679, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y__1: bits[8] = and(fraction_y, sign_ext.27681, id=27682, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed_const_lsb_bits: bits[3] = literal(value=0, id=27347, pos=[(2,3104,17), (2,3243,7), (3,164,51)]) result: bits[8] = xor(narrowed_result, x_bexpor_mask__1, id=27353, pos=[(1,95,18), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) concat.27354: bits[8] = concat(literal.27351, overflow_detected, id=27354, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) x_sign__1: bits[1] = sel(overflow_detected, cases=[not.27325, tuple_index.27369], id=27596, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) y_sign__3: bits[1] = sel(overflow_detected, cases=[tuple_index.27369, not.27325], id=27597, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) wide_x_squeezed: bits[9] = concat(literal.27330, fraction_x__1, id=27371, pos=[(2,3103,17), (2,3243,7), (3,164,51)]) wide_y_shift_bits: bits[11] = concat(fraction_y__1, xddend_x__2_squeezed_const_lsb_bits, id=27366, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) shift: bits[8] = add(result, concat.27354, id=27360, pos=[(1,54,7), (2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) literal.27359: bits[12] = literal(value=4095, id=27359, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) xor.27379: bits[1] = xor(x_sign__1, y_sign__3, id=27379, pos=[(2,3110,23), (2,3243,7), (3,164,51)]) neg.27376: bits[9] = neg(wide_x_squeezed, id=27376, pos=[(2,3110,41), (2,3243,7), (3,164,51)]) shrl.27372: bits[11] = shrl(wide_y_shift_bits, shift, id=27372, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) not.27846: bits[7] = not(y_fraction__3, id=27846, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) shll.27364: bits[12] = shll(literal.27359, shift, id=27364, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed: bits[9] = sel(xor.27379, cases=[wide_x_squeezed, neg.27376], id=27685, pos=[(2,3110,19), (2,3243,7), (3,164,51)]) literal.27605: bits[2] = literal(value=0, id=27605, pos=[(2,3243,7), (3,164,51)]) bit_slice.27838: bits[8] = bit_slice(shrl.27372, start=3, width=8, id=27838, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.27849: bits[8] = concat(literal.27330, not.27846, id=27849, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) not.27804: bits[8] = not(sign_ext.27681, id=27804, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.27368: bits[8] = bit_slice(shll.27364, start=3, width=8, id=27368, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) sign_ext.27823: bits[10] = sign_ext(xddend_x__2_squeezed, new_bit_count=10, id=27823, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.27825: bits[10] = concat(literal.27605, bit_slice.27838, id=27825, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) nor.27805: bits[8] = nor(concat.27849, not.27804, bit_slice.27368, id=27805, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) add.27789: bits[10] = add(sign_ext.27823, concat.27825, id=27789, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27377: bits[1] = bit_slice(shrl.27372, start=0, width=1, id=27377, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) sticky: bits[1] = ne(nor.27805, literal.27341, id=27378, pos=[(0,1496,17), (0,1523,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.27816: bits[9] = bit_slice(add.27789, start=0, width=9, id=27816, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27839: bits[2] = bit_slice(shrl.27372, start=1, width=2, id=27839, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) or.27383: bits[1] = or(bit_slice.27377, sticky, id=27383, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) concat.27844: bits[12] = concat(bit_slice.27816, bit_slice.27839, or.27383, id=27844, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27818: bits[1] = bit_slice(add.27789, start=9, width=1, id=27818, pos=[(2,3130,12), (2,3243,7), (3,164,51)]) neg.27391: bits[12] = neg(concat.27844, id=27391, pos=[(2,3130,46), (2,3243,7), (3,164,51)]) xbs_fraction__1: bits[12] = sel(bit_slice.27818, cases=[concat.27844, neg.27391], id=27392, pos=[(2,3130,9), (2,3243,7), (3,164,51)]) bit_slice.27405: bits[1] = bit_slice(xbs_fraction__1, start=4, width=1, id=27405, pos=[(0,1585,70), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27397: bits[1] = bit_slice(xbs_fraction__1, start=6, width=1, id=27397, pos=[(0,1585,70), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27396: bits[1] = bit_slice(xbs_fraction__1, start=8, width=1, id=27396, pos=[(0,1585,70), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27393: bits[1] = bit_slice(xbs_fraction__1, start=10, width=1, id=27393, pos=[(0,1585,70), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) carry_bit: bits[1] = bit_slice(xbs_fraction__1, start=11, width=1, id=27394, pos=[(0,1585,40), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27401: bits[1] = bit_slice(xbs_fraction__1, start=9, width=1, id=27401, pos=[(0,1585,40), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27403: bits[1] = bit_slice(xbs_fraction__1, start=7, width=1, id=27403, pos=[(0,1585,40), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27416: bits[1] = bit_slice(xbs_fraction__1, start=5, width=1, id=27416, pos=[(0,1585,40), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27417: bits[1] = not(bit_slice.27405, id=27417, pos=[(0,1578,4), (0,1585,64), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27404: bits[1] = not(bit_slice.27397, id=27404, pos=[(0,1578,4), (0,1585,64), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27402: bits[1] = not(bit_slice.27396, id=27402, pos=[(0,1578,4), (0,1585,64), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27395: bits[1] = not(bit_slice.27393, id=27395, pos=[(0,1578,4), (0,1585,64), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27429: bits[1] = bit_slice(xbs_fraction__1, start=3, width=1, id=27429, pos=[(0,1585,40), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27418: bits[1] = bit_slice(xbs_fraction__1, start=2, width=1, id=27418, pos=[(0,1585,70), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27441: bits[1] = bit_slice(xbs_fraction__1, start=1, width=1, id=27441, pos=[(0,1585,40), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27431: bits[1] = bit_slice(xbs_fraction__1, start=0, width=1, id=27431, pos=[(0,1585,70), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27399: bits[1] = nor(carry_bit, bit_slice.27393, id=27399, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27411: bits[1] = nor(bit_slice.27401, bit_slice.27396, id=27411, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27645: bits[1] = or(bit_slice.27403, bit_slice.27397, id=27645, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27427: bits[1] = nor(bit_slice.27416, bit_slice.27405, id=27427, pos=[(0,1585,22), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27426: bits[1] = nor(bit_slice.27416, not.27417, id=27426, pos=[(0,1585,22), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27413: bits[1] = nor(bit_slice.27403, not.27404, id=27413, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27646: bits[1] = or(carry_bit, bit_slice.27393, id=27646, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27410: bits[1] = nor(bit_slice.27401, not.27402, id=27410, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27398: bits[1] = nor(carry_bit, not.27395, id=27398, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27644: bits[1] = or(bit_slice.27429, bit_slice.27418, id=27644, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27451: bits[1] = nor(bit_slice.27441, bit_slice.27431, id=27451, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27439: bits[1] = nor(bit_slice.27429, bit_slice.27418, id=27439, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27442: bits[1] = not(bit_slice.27431, id=27442, pos=[(0,1578,4), (0,1585,64), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27896: bits[1] = not(bit_slice.27418, id=27896, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27454: bits[1] = and(nor.27399, nor.27411, id=27454, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27414: bits[1] = nor(bit_slice.27403, bit_slice.27397, id=27414, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27466: bits[1] = nor(or.27645, nor.27427, id=27466, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27641: bits[2] = concat(literal.27342, nor.27426, id=27641, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27906: bits[2] = concat(literal.27330, nor.27413, id=27906, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27453: bits[1] = nor(or.27646, nor.27411, id=27453, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27775: bits[2] = concat(literal.27342, nor.27410, id=27775, pos=[(0,1535,24), (0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27907: bits[2] = concat(literal.27330, nor.27398, id=27907, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27480: bits[1] = nor(or.27644, nor.27451, id=27480, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27481: bits[1] = and(nor.27439, nor.27451, id=27481, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27450: bits[1] = nor(bit_slice.27441, not.27442, id=27450, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27897: bits[1] = nor(bit_slice.27429, not.27896, id=27897, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27483: bits[1] = not(and.27454, id=27483, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27467: bits[1] = and(nor.27414, nor.27427, id=27467, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27634: bits[2] = priority_sel(nor.27466, cases=[concat.27641], default=concat.27906, id=27634, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27695: bits[2] = priority_sel(nor.27453, cases=[concat.27775], default=concat.27907, id=27695, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27485: bits[2] = concat(nor.27480, and.27481, id=27485, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27781: bits[2] = concat(literal.27342, nor.27450, id=27781, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27724: bits[2] = concat(nor.27439, nor.27897, id=27724, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27489: bits[1] = nor(not.27483, and.27467, id=27489, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27778: bits[3] = concat(literal.27342, priority_sel.27634, id=27778, pos=[(0,1535,24), (0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27785: bits[3] = concat(literal.27330, priority_sel.27695, id=27785, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27728: bits[2] = priority_sel(concat.27485, cases=[literal.27605, concat.27781], default=concat.27724, id=27728, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27701: bits[3] = priority_sel(nor.27489, cases=[concat.27778], default=concat.27785, id=27701, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27490: bits[1] = and(and.27454, and.27467, id=27490, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27783: bits[4] = concat(literal.27342, and.27481, priority_sel.27728, id=27783, pos=[(0,1600,22), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27786: bits[4] = concat(literal.27330, priority_sel.27701, id=27786, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27503: bits[13] = concat(literal.27330, xbs_fraction__1, id=27503, pos=[(2,3243,7), (3,164,51)]) leading_zeroes: bits[4] = priority_sel(and.27490, cases=[concat.27783], default=concat.27786, id=27504, pos=[(0,1600,22), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) cancel_fraction: bits[13] = shll(concat.27503, leading_zeroes, id=27505, pos=[(2,3144,26), (2,3243,7), (3,164,51)]) bit_slice.27506: bits[10] = bit_slice(xbs_fraction__1, start=2, width=10, id=27506, pos=[(2,3053,20), (2,3137,36), (2,3243,7), (3,164,51)]) or.27507: bits[1] = or(bit_slice.27441, bit_slice.27431, id=27507, pos=[(2,3053,40), (2,3137,36), (2,3243,7), (3,164,51)]) cancel_fraction__1: bits[11] = bit_slice(cancel_fraction, start=1, width=11, id=27508, pos=[(2,3243,7), (3,164,51)]) carry_fraction__1: bits[11] = concat(bit_slice.27506, or.27507, id=27509, pos=[(2,3053,20), (2,3137,36), (2,3243,7), (3,164,51)]) shifted_fraction: bits[11] = sel(carry_bit, cases=[cancel_fraction__1, carry_fraction__1], id=27510, pos=[(2,3146,27), (2,3243,7), (3,164,51)]) normal_chunk: bits[3] = bit_slice(shifted_fraction, start=0, width=3, id=27511, pos=[(2,3158,39), (2,3243,7), (3,164,51)]) fraction_shift__3: bits[3] = literal(value=4, id=27613, pos=[(0,1534,24), (0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (2,3243,7), (3,164,51)]) half_way_chunk: bits[2] = bit_slice(shifted_fraction, start=2, width=2, id=27512, pos=[(2,3159,41), (2,3243,7), (3,164,51)]) literal.27513: bits[2] = literal(value=3, id=27513, pos=[(2,3160,68), (2,3243,7), (3,164,51)]) ugt.27514: bits[1] = ugt(normal_chunk, fraction_shift__3, id=27514, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) eq.27515: bits[1] = eq(half_way_chunk, literal.27513, id=27515, pos=[(2,3160,50), (2,3243,7), (3,164,51)]) bit_slice.27828: bits[8] = bit_slice(shifted_fraction, start=3, width=8, id=27828) do_round_up: bits[1] = or(ugt.27514, eq.27515, id=27518, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) concat.27829: bits[9] = concat(literal.27330, bit_slice.27828, id=27829) concat.27908: bits[9] = concat(literal.27341, do_round_up, id=27908) add.27797: bits[9] = add(concat.27829, concat.27908, id=27797) literal.27521: bits[4] = literal(value=0, id=27521, pos=[(2,3243,7), (3,164,51)]) rounding_carry: bits[1] = bit_slice(add.27797, start=8, width=1, id=27820, pos=[(2,3168,41), (2,3243,7), (3,164,51)]) literal.27880: bits[10] = literal(value=0, id=27880, pos=[(2,3121,39), (2,3243,7), (3,164,51)]) bit_slice.27904: bits[1] = bit_slice(shrl.27372, start=1, width=1, id=27904, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) bit_slice.27905: bits[1] = bit_slice(shrl.27372, start=2, width=1, id=27905, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) concat.27523: bits[9] = concat(literal.27330, x_bexp__3, id=27523, pos=[(2,3243,7), (3,164,51)]) literal.27524: bits[9] = literal(value=1, id=27524, pos=[(2,3180,24), (2,3243,7), (3,164,51)]) concat.27840: bits[5] = concat(literal.27521, rounding_carry, id=27840, pos=[(2,3243,7), (3,164,51)]) concat.27526: bits[5] = concat(literal.27330, leading_zeroes, id=27526, pos=[(2,3243,7), (3,164,51)]) eq.27856: bits[1] = eq(add.27789, literal.27880, id=27856, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.27893: bits[1] = nor(bit_slice.27904, bit_slice.27905, id=27893, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.27894: bits[1] = nor(bit_slice.27377, sticky, id=27894, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) add.27527: bits[9] = add(concat.27523, literal.27524, id=27527, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sub.27528: bits[5] = sub(concat.27840, concat.27526, id=27528, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) fraction_is_zero: bits[1] = and(eq.27856, nor.27893, nor.27894, id=27892, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) wide_exponent_associative_element: bits[10] = concat(literal.27330, add.27527, id=27530, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) wide_exponent_associative_element__1: bits[10] = sign_ext(sub.27528, new_bit_count=10, id=27531, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) not.27707: bits[1] = not(fraction_is_zero, id=27707, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) wide_exponent: bits[10] = add(wide_exponent_associative_element, wide_exponent_associative_element__1, id=27533, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sign_ext.27708: bits[10] = sign_ext(not.27707, new_bit_count=10, id=27708, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) wide_exponent__1: bits[10] = and(wide_exponent, sign_ext.27708, id=27709, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) bit_slice.27541: bits[1] = bit_slice(wide_exponent__1, start=9, width=1, id=27541, pos=[(2,3184,27), (2,3243,7), (3,164,51)]) not.27710: bits[1] = not(bit_slice.27541, id=27710, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) bit_slice.27542: bits[9] = bit_slice(wide_exponent__1, start=0, width=9, id=27542, pos=[(2,3243,7), (3,164,51)]) sign_ext.27711: bits[9] = sign_ext(not.27710, new_bit_count=9, id=27711, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) MAX_EXPONENT: bits[8] = literal(value=255, id=27535, pos=[(2,96,29), (2,3209,29), (2,3243,7), (3,164,51)]) wide_exponent__2: bits[9] = and(bit_slice.27542, sign_ext.27711, id=27712, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) eq.27537: bits[1] = eq(x_bexp__3, MAX_EXPONENT, id=27537, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) eq.27538: bits[1] = eq(x_fraction__1, literal.27351, id=27538, pos=[(2,96,44), (2,3209,29), (2,3243,7), (3,164,51)]) eq.27539: bits[1] = eq(y_bexp__3, MAX_EXPONENT, id=27539, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) eq.27540: bits[1] = eq(y_fraction__3, literal.27351, id=27540, pos=[(2,96,44), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.27554: bits[8] = bit_slice(wide_exponent__2, start=1, width=8, id=27554, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) not.27544: bits[1] = not(eq.27537, id=27544, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.27545: bits[1] = not(eq.27538, id=27545, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.27546: bits[1] = not(eq.27539, id=27546, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) not.27547: bits[1] = not(eq.27540, id=27547, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.27561: bits[1] = and(eq.27537, eq.27538, id=27561, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) and.27562: bits[1] = and(eq.27539, eq.27540, id=27562, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.27563: bits[8] = bit_slice(wide_exponent__2, start=0, width=8, id=27563, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) or_reduce.27564: bits[1] = or_reduce(bit_slice.27554, id=27564, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) bit_slice.27565: bits[1] = bit_slice(wide_exponent__2, start=0, width=1, id=27565, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) nor.27549: bits[1] = nor(not.27544, not.27545, x_sign__1, id=27549, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) nor.27550: bits[1] = nor(not.27546, not.27547, y_sign__3, id=27550, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.27551: bits[1] = and(eq.27537, eq.27538, x_sign__1, id=27551, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) and.27552: bits[1] = and(eq.27539, eq.27540, y_sign__3, id=27552, pos=[(2,3216,29), (2,3243,7), (3,164,51)]) fraction_shift__2: bits[3] = literal(value=3, id=27555, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) is_operand_inf: bits[1] = or(and.27561, and.27562, id=27573, pos=[(2,3205,31), (2,3243,7), (3,164,51)]) bit_slice.27574: bits[1] = bit_slice(wide_exponent__2, start=8, width=1, id=27574, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) and_reduce.27575: bits[1] = and_reduce(bit_slice.27563, id=27575, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) nor.27576: bits[1] = nor(or_reduce.27564, bit_slice.27565, id=27576, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) has_pos_inf: bits[1] = or(nor.27549, nor.27550, id=27558, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) has_neg_inf: bits[1] = or(and.27551, and.27552, id=27559, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) rounded_fraction: bits[12] = concat(add.27797, normal_chunk, id=27843) fraction_shift__1: bits[3] = sel(rounding_carry, cases=[fraction_shift__2, fraction_shift__3], id=27566, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) or.27581: bits[1] = or(is_operand_inf, bit_slice.27574, and_reduce.27575, nor.27576, id=27581, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) nor.27608: bits[1] = nor(not.27544, eq.27538, id=27608, pos=[(2,71,6), (2,3217,30), (2,3243,7), (3,164,51)]) nor.27610: bits[1] = nor(not.27546, eq.27540, id=27610, pos=[(2,71,6), (2,3217,64), (2,3243,7), (3,164,51)]) and.27569: bits[1] = and(has_pos_inf, has_neg_inf, id=27569, pos=[(2,3218,25), (2,3243,7), (3,164,51)]) concat.27841: bits[2] = concat(bit_slice.27818, fraction_is_zero, id=27841, pos=[(2,3243,7), (3,164,51)]) and.27571: bits[1] = and(x_sign__1, y_sign__3, id=27571, pos=[(2,3123,22), (2,3243,7), (3,164,51)]) not.27572: bits[1] = not(y_sign__3, id=27572, pos=[(2,3210,59), (2,3243,7), (3,164,51)]) shrl.27577: bits[12] = shrl(rounded_fraction, fraction_shift__1, id=27577, pos=[(2,3175,27), (2,3243,7), (3,164,51)]) not.27713: bits[1] = not(or.27581, id=27713, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) is_result_nan: bits[1] = or(nor.27608, nor.27610, and.27569, id=27578, pos=[(2,3217,30), (2,3243,7), (3,164,51)]) result_sign: bits[1] = priority_sel(concat.27841, cases=[and.27571, not.27572], default=y_sign__3, id=27579, pos=[(2,3243,7), (3,164,51)]) not.27580: bits[1] = not(has_pos_inf, id=27580, pos=[(2,3211,42), (2,3243,7), (3,164,51)]) result_fraction: bits[7] = bit_slice(shrl.27577, start=0, width=7, id=27582, pos=[(2,3243,7), (3,164,51)]) sign_ext.27714: bits[7] = sign_ext(not.27713, new_bit_count=7, id=27714, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) not.27583: bits[1] = not(is_result_nan, id=27583, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_sign__1: bits[1] = sel(is_operand_inf, cases=[result_sign, not.27580], id=27584, pos=[(2,3211,22), (2,3243,7), (3,164,51)]) or.27585: bits[1] = or(is_result_nan, is_operand_inf, bit_slice.27574, and_reduce.27575, id=27585, pos=[(2,3220,26), (2,3243,7), (3,164,51)]) result_fraction__3: bits[7] = and(result_fraction, sign_ext.27714, id=27715, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) FRACTION_HIGH_BIT: bits[7] = literal(value=64, id=27587, pos=[(2,3219,30), (2,3243,7), (3,164,51)]) result_sign__2: bits[1] = and(not.27583, result_sign__1, id=27588, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_exponent__2: bits[8] = sel(or.27585, cases=[bit_slice.27563, MAX_EXPONENT], id=27589, pos=[(2,3220,26), (2,3243,7), (3,164,51)]) result_fraction__4: bits[7] = sel(is_result_nan, cases=[result_fraction__3, FRACTION_HIGH_BIT], id=27590, pos=[(2,3221,26), (2,3243,7), (3,164,51)]) ret tuple.27591: (bits[1], bits[8], bits[7]) = tuple(result_sign__2, result_exponent__2, result_fraction__4, id=27591, pos=[(2,3225,33), (2,3243,7), (3,164,51)]) }