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=850, y: (bits[1], bits[8], bits[7]) id=851) -> (bits[1], bits[8], bits[7]) { y_bexp__2: bits[8] = tuple_index(y, index=1, id=27460, pos=[(2,3242,65), (3,164,51)]) literal.27464: bits[1] = literal(value=0, id=27464, 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=27465, pos=[(2,3091,59), (2,3243,7), (3,164,51)]) y__1_bexpnot__1: bits[8] = not(y_bexp__2, id=27466, pos=[(1,90,15), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) x_bexp_extended__2: bits[9] = concat(literal.27464, x_bexp__2, id=27467, 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.27464, y__1_bexpnot__1, id=27468, 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=27469, pos=[(0,1120,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=27470, pos=[(0,1122,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=27461, pos=[(2,3242,83), (3,164,51)]) tuple_index.27473: bits[7] = tuple_index(x, index=2, id=27473, 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=27728, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.27475: bits[8] = literal(value=0, id=27475, 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=27726, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.27476: bits[1] = literal(value=1, id=27476, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) x_fraction__1: bits[7] = sel(overflow_detected, cases=[y_fraction__2, tuple_index.27473], id=27729, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.27937: bits[1] = ne(x_bexp__3, literal.27475, id=27937, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) y_fraction__3: bits[7] = sel(overflow_detected, cases=[tuple_index.27473, y_fraction__2], id=27727, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.27936: bits[1] = ne(y_bexp__3, literal.27475, id=27936, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) nc: bits[1] = not(overflow_detected, id=27471, 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=27458, pos=[(2,3242,51), (3,164,51)]) fraction_x: bits[8] = concat(literal.27476, x_fraction__1, id=27496, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) sign_ext.27814: bits[8] = sign_ext(ne.27937, new_bit_count=8, id=27814, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y: bits[8] = concat(literal.27476, y_fraction__3, id=27479, pos=[(2,3096,22), (2,3243,7), (3,164,51)]) sign_ext.27817: bits[8] = sign_ext(ne.27936, new_bit_count=8, id=27817, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) narrowed_result: bits[8] = bit_slice(full_result, start=0, width=8, id=27483, 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=27484, pos=[(1,94,32), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) literal.27485: bits[7] = literal(value=0, id=27485, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) not.27459: bits[1] = not(y_sign__2, id=27459, pos=[(2,3242,49), (3,164,51)]) tuple_index.27503: bits[1] = tuple_index(x, index=0, id=27503, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) fraction_x__1: bits[8] = and(fraction_x, sign_ext.27814, id=27815, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y__1: bits[8] = and(fraction_y, sign_ext.27817, id=27818, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed_const_lsb_bits: bits[3] = literal(value=0, id=27481, pos=[(2,3104,17), (2,3243,7), (3,164,51)]) result: bits[8] = xor(narrowed_result, x_bexpor_mask__1, id=27487, pos=[(1,95,18), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) concat.27488: bits[8] = concat(literal.27485, overflow_detected, id=27488, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) x_sign__1: bits[1] = sel(overflow_detected, cases=[not.27459, tuple_index.27503], id=27730, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) y_sign__3: bits[1] = sel(overflow_detected, cases=[tuple_index.27503, not.27459], id=27731, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) wide_x_squeezed: bits[9] = concat(literal.27464, fraction_x__1, id=27505, 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=27500, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) shift: bits[8] = add(result, concat.27488, id=27494, pos=[(1,54,7), (2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) literal.27493: bits[12] = literal(value=4095, id=27493, pos=[(0,1412,19), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) xor.27513: bits[1] = xor(x_sign__1, y_sign__3, id=27513, pos=[(2,3110,23), (2,3243,7), (3,164,51)]) neg.27510: bits[9] = neg(wide_x_squeezed, id=27510, pos=[(2,3110,41), (2,3243,7), (3,164,51)]) shrl.27506: bits[11] = shrl(wide_y_shift_bits, shift, id=27506, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) not.27982: bits[7] = not(y_fraction__3, id=27982, pos=[(0,1412,4), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) shll.27498: bits[12] = shll(literal.27493, shift, id=27498, pos=[(0,1412,19), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed: bits[9] = sel(xor.27513, cases=[wide_x_squeezed, neg.27510], id=27821, pos=[(2,3110,19), (2,3243,7), (3,164,51)]) literal.27739: bits[2] = literal(value=0, id=27739, pos=[(2,3243,7), (3,164,51)]) bit_slice.27974: bits[8] = bit_slice(shrl.27506, start=3, width=8, id=27974, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.27985: bits[8] = concat(literal.27464, not.27982, id=27985, pos=[(0,1412,4), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) not.27940: bits[8] = not(sign_ext.27817, id=27940, pos=[(0,1412,4), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.27502: bits[8] = bit_slice(shll.27498, start=3, width=8, id=27502, pos=[(0,1412,19), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) sign_ext.27959: bits[10] = sign_ext(xddend_x__2_squeezed, new_bit_count=10, id=27959, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.27961: bits[10] = concat(literal.27739, bit_slice.27974, id=27961, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) nor.27941: bits[8] = nor(concat.27985, not.27940, bit_slice.27502, id=27941, pos=[(0,1412,4), (0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) add.27925: bits[10] = add(sign_ext.27959, concat.27961, id=27925, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27511: bits[1] = bit_slice(shrl.27506, start=0, width=1, id=27511, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) sticky: bits[1] = ne(nor.27941, literal.27475, id=27512, pos=[(0,1502,17), (0,1529,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.27952: bits[9] = bit_slice(add.27925, start=0, width=9, id=27952, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27975: bits[2] = bit_slice(shrl.27506, start=1, width=2, id=27975, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) or.27517: bits[1] = or(bit_slice.27511, sticky, id=27517, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) concat.27980: bits[12] = concat(bit_slice.27952, bit_slice.27975, or.27517, id=27980, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.27954: bits[1] = bit_slice(add.27925, start=9, width=1, id=27954, pos=[(2,3130,12), (2,3243,7), (3,164,51)]) neg.27525: bits[12] = neg(concat.27980, id=27525, pos=[(2,3130,46), (2,3243,7), (3,164,51)]) xbs_fraction__1: bits[12] = sel(bit_slice.27954, cases=[concat.27980, neg.27525], id=27526, pos=[(2,3130,9), (2,3243,7), (3,164,51)]) bit_slice.27539: bits[1] = bit_slice(xbs_fraction__1, start=4, width=1, id=27539, pos=[(0,1591,70), (0,1596,64), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27531: bits[1] = bit_slice(xbs_fraction__1, start=6, width=1, id=27531, pos=[(0,1591,70), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27530: bits[1] = bit_slice(xbs_fraction__1, start=8, width=1, id=27530, pos=[(0,1591,70), (0,1596,64), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27527: bits[1] = bit_slice(xbs_fraction__1, start=10, width=1, id=27527, pos=[(0,1591,70), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) carry_bit: bits[1] = bit_slice(xbs_fraction__1, start=11, width=1, id=27528, pos=[(0,1591,40), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27535: bits[1] = bit_slice(xbs_fraction__1, start=9, width=1, id=27535, pos=[(0,1591,40), (0,1596,64), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27537: bits[1] = bit_slice(xbs_fraction__1, start=7, width=1, id=27537, pos=[(0,1591,40), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27550: bits[1] = bit_slice(xbs_fraction__1, start=5, width=1, id=27550, pos=[(0,1591,40), (0,1596,64), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27551: bits[1] = not(bit_slice.27539, id=27551, pos=[(0,1584,4), (0,1591,64), (0,1596,64), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27538: bits[1] = not(bit_slice.27531, id=27538, pos=[(0,1584,4), (0,1591,64), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27536: bits[1] = not(bit_slice.27530, id=27536, pos=[(0,1584,4), (0,1591,64), (0,1596,64), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27529: bits[1] = not(bit_slice.27527, id=27529, pos=[(0,1584,4), (0,1591,64), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27563: bits[1] = bit_slice(xbs_fraction__1, start=3, width=1, id=27563, pos=[(0,1591,40), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27552: bits[1] = bit_slice(xbs_fraction__1, start=2, width=1, id=27552, pos=[(0,1591,70), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27575: bits[1] = bit_slice(xbs_fraction__1, start=1, width=1, id=27575, pos=[(0,1591,40), (0,1596,64), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.27565: bits[1] = bit_slice(xbs_fraction__1, start=0, width=1, id=27565, pos=[(0,1591,70), (0,1596,64), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27533: bits[1] = nor(carry_bit, bit_slice.27527, id=27533, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27545: bits[1] = nor(bit_slice.27535, bit_slice.27530, id=27545, pos=[(0,1591,22), (0,1596,64), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27781: bits[1] = or(bit_slice.27537, bit_slice.27531, id=27781, pos=[(0,1596,22), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27561: bits[1] = nor(bit_slice.27550, bit_slice.27539, id=27561, pos=[(0,1591,22), (0,1596,64), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27560: bits[1] = nor(bit_slice.27550, not.27551, id=27560, pos=[(0,1591,22), (0,1596,64), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27547: bits[1] = nor(bit_slice.27537, not.27538, id=27547, pos=[(0,1591,22), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27782: bits[1] = or(carry_bit, bit_slice.27527, id=27782, pos=[(0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27544: bits[1] = nor(bit_slice.27535, not.27536, id=27544, pos=[(0,1591,22), (0,1596,64), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27532: bits[1] = nor(carry_bit, not.27529, id=27532, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.27780: bits[1] = or(bit_slice.27563, bit_slice.27552, id=27780, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27585: bits[1] = nor(bit_slice.27575, bit_slice.27565, id=27585, pos=[(0,1591,22), (0,1596,64), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27573: bits[1] = nor(bit_slice.27563, bit_slice.27552, id=27573, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27576: bits[1] = not(bit_slice.27565, id=27576, pos=[(0,1584,4), (0,1591,64), (0,1596,64), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.28032: bits[1] = not(bit_slice.27552, id=28032, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27588: bits[1] = and(nor.27533, nor.27545, id=27588, pos=[(0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27548: bits[1] = nor(bit_slice.27537, bit_slice.27531, id=27548, pos=[(0,1591,22), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27600: bits[1] = nor(or.27781, nor.27561, id=27600, pos=[(0,1596,22), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27777: bits[2] = concat(literal.27476, nor.27560, id=27777, pos=[(0,1596,22), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.28042: bits[2] = concat(literal.27464, nor.27547, id=28042, pos=[(0,1591,22), (0,1596,34), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27587: bits[1] = nor(or.27782, nor.27545, id=27587, pos=[(0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27911: bits[2] = concat(literal.27476, nor.27544, id=27911, pos=[(0,1541,24), (0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.28043: bits[2] = concat(literal.27464, nor.27532, id=28043, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27614: bits[1] = nor(or.27780, nor.27585, id=27614, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27615: bits[1] = and(nor.27573, nor.27585, id=27615, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27584: bits[1] = nor(bit_slice.27575, not.27576, id=27584, pos=[(0,1591,22), (0,1596,64), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.28033: bits[1] = nor(bit_slice.27563, not.28032, id=28033, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.27617: bits[1] = not(and.27588, id=27617, pos=[(0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27601: bits[1] = and(nor.27548, nor.27561, id=27601, pos=[(0,1596,22), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27770: bits[2] = priority_sel(nor.27600, cases=[concat.27777], default=concat.28042, id=27770, pos=[(0,1596,22), (0,1601,64), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27831: bits[2] = priority_sel(nor.27587, cases=[concat.27911], default=concat.28043, id=27831, pos=[(0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27619: bits[2] = concat(nor.27614, and.27615, id=27619, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27917: bits[2] = concat(literal.27476, nor.27584, id=27917, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27860: bits[2] = concat(nor.27573, nor.28033, id=27860, pos=[(0,1591,22), (0,1596,34), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.27623: bits[1] = nor(not.27617, and.27601, id=27623, pos=[(0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27914: bits[3] = concat(literal.27476, priority_sel.27770, id=27914, pos=[(0,1541,24), (0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27921: bits[3] = concat(literal.27464, priority_sel.27831, id=27921, pos=[(0,1596,22), (0,1601,34), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27864: bits[2] = priority_sel(concat.27619, cases=[literal.27739, concat.27917], default=concat.27860, id=27864, pos=[(0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.27837: bits[3] = priority_sel(nor.27623, cases=[concat.27914], default=concat.27921, id=27837, pos=[(0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.27624: bits[1] = and(and.27588, and.27601, id=27624, pos=[(0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27919: bits[4] = concat(literal.27476, and.27615, priority_sel.27864, id=27919, pos=[(0,1606,22), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27922: bits[4] = concat(literal.27464, priority_sel.27837, id=27922, pos=[(0,1601,22), (0,1606,34), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.27637: bits[13] = concat(literal.27464, xbs_fraction__1, id=27637, pos=[(2,3243,7), (3,164,51)]) leading_zeroes: bits[4] = priority_sel(and.27624, cases=[concat.27919], default=concat.27922, id=27638, pos=[(0,1606,22), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) cancel_fraction: bits[13] = shll(concat.27637, leading_zeroes, id=27639, pos=[(2,3144,26), (2,3243,7), (3,164,51)]) bit_slice.27640: bits[10] = bit_slice(xbs_fraction__1, start=2, width=10, id=27640, pos=[(2,3053,20), (2,3137,36), (2,3243,7), (3,164,51)]) or.27641: bits[1] = or(bit_slice.27575, bit_slice.27565, id=27641, 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=27642, pos=[(2,3243,7), (3,164,51)]) carry_fraction__1: bits[11] = concat(bit_slice.27640, or.27641, id=27643, 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=27644, pos=[(2,3146,27), (2,3243,7), (3,164,51)]) normal_chunk: bits[3] = bit_slice(shifted_fraction, start=0, width=3, id=27645, pos=[(2,3158,39), (2,3243,7), (3,164,51)]) fraction_shift__3: bits[3] = literal(value=4, id=27749, pos=[(0,1540,24), (0,1596,22), (0,1601,34), (0,1606,64), (0,1645,30), (0,1708,13), (2,3141,34), (2,3243,7), (3,164,51)]) half_way_chunk: bits[2] = bit_slice(shifted_fraction, start=2, width=2, id=27646, pos=[(2,3159,41), (2,3243,7), (3,164,51)]) literal.27647: bits[2] = literal(value=3, id=27647, pos=[(2,3160,68), (2,3243,7), (3,164,51)]) ugt.27648: bits[1] = ugt(normal_chunk, fraction_shift__3, id=27648, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) eq.27649: bits[1] = eq(half_way_chunk, literal.27647, id=27649, pos=[(2,3160,50), (2,3243,7), (3,164,51)]) bit_slice.27964: bits[8] = bit_slice(shifted_fraction, start=3, width=8, id=27964) do_round_up: bits[1] = or(ugt.27648, eq.27649, id=27652, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) concat.27965: bits[9] = concat(literal.27464, bit_slice.27964, id=27965) concat.28044: bits[9] = concat(literal.27475, do_round_up, id=28044) add.27933: bits[9] = add(concat.27965, concat.28044, id=27933) literal.27655: bits[4] = literal(value=0, id=27655, pos=[(2,3243,7), (3,164,51)]) rounding_carry: bits[1] = bit_slice(add.27933, start=8, width=1, id=27956, pos=[(2,3168,41), (2,3243,7), (3,164,51)]) literal.28016: bits[10] = literal(value=0, id=28016, pos=[(2,3121,39), (2,3243,7), (3,164,51)]) bit_slice.28040: bits[1] = bit_slice(shrl.27506, start=1, width=1, id=28040, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) bit_slice.28041: bits[1] = bit_slice(shrl.27506, start=2, width=1, id=28041, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) concat.27657: bits[9] = concat(literal.27464, x_bexp__3, id=27657, pos=[(2,3243,7), (3,164,51)]) literal.27658: bits[9] = literal(value=1, id=27658, pos=[(2,3180,24), (2,3243,7), (3,164,51)]) concat.27976: bits[5] = concat(literal.27655, rounding_carry, id=27976, pos=[(2,3243,7), (3,164,51)]) concat.27660: bits[5] = concat(literal.27464, leading_zeroes, id=27660, pos=[(2,3243,7), (3,164,51)]) eq.27992: bits[1] = eq(add.27925, literal.28016, id=27992, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.28029: bits[1] = nor(bit_slice.28040, bit_slice.28041, id=28029, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.28030: bits[1] = nor(bit_slice.27511, sticky, id=28030, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) add.27661: bits[9] = add(concat.27657, literal.27658, id=27661, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sub.27662: bits[5] = sub(concat.27976, concat.27660, id=27662, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) fraction_is_zero: bits[1] = and(eq.27992, nor.28029, nor.28030, id=28028, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) wide_exponent_associative_element: bits[10] = concat(literal.27464, add.27661, id=27664, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) wide_exponent_associative_element__1: bits[10] = sign_ext(sub.27662, new_bit_count=10, id=27665, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) not.27843: bits[1] = not(fraction_is_zero, id=27843, 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=27667, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sign_ext.27844: bits[10] = sign_ext(not.27843, new_bit_count=10, id=27844, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) wide_exponent__1: bits[10] = and(wide_exponent, sign_ext.27844, id=27845, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) bit_slice.27675: bits[1] = bit_slice(wide_exponent__1, start=9, width=1, id=27675, pos=[(2,3184,27), (2,3243,7), (3,164,51)]) not.27846: bits[1] = not(bit_slice.27675, id=27846, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) bit_slice.27676: bits[9] = bit_slice(wide_exponent__1, start=0, width=9, id=27676, pos=[(2,3243,7), (3,164,51)]) sign_ext.27847: bits[9] = sign_ext(not.27846, new_bit_count=9, id=27847, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) MAX_EXPONENT: bits[8] = literal(value=255, id=27669, pos=[(2,96,29), (2,3209,29), (2,3243,7), (3,164,51)]) wide_exponent__2: bits[9] = and(bit_slice.27676, sign_ext.27847, id=27848, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) eq.27671: bits[1] = eq(x_bexp__3, MAX_EXPONENT, id=27671, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) eq.27672: bits[1] = eq(x_fraction__1, literal.27485, id=27672, pos=[(2,96,44), (2,3209,29), (2,3243,7), (3,164,51)]) eq.27673: bits[1] = eq(y_bexp__3, MAX_EXPONENT, id=27673, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) eq.27674: bits[1] = eq(y_fraction__3, literal.27485, id=27674, pos=[(2,96,44), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.27688: bits[8] = bit_slice(wide_exponent__2, start=1, width=8, id=27688, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) not.27678: bits[1] = not(eq.27671, id=27678, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.27679: bits[1] = not(eq.27672, id=27679, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.27680: bits[1] = not(eq.27673, id=27680, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) not.27681: bits[1] = not(eq.27674, id=27681, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.27695: bits[1] = and(eq.27671, eq.27672, id=27695, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) and.27696: bits[1] = and(eq.27673, eq.27674, id=27696, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.27697: bits[8] = bit_slice(wide_exponent__2, start=0, width=8, id=27697, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) or_reduce.27698: bits[1] = or_reduce(bit_slice.27688, id=27698, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) bit_slice.27699: bits[1] = bit_slice(wide_exponent__2, start=0, width=1, id=27699, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) nor.27683: bits[1] = nor(not.27678, not.27679, x_sign__1, id=27683, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) nor.27684: bits[1] = nor(not.27680, not.27681, y_sign__3, id=27684, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.27685: bits[1] = and(eq.27671, eq.27672, x_sign__1, id=27685, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) and.27686: bits[1] = and(eq.27673, eq.27674, y_sign__3, id=27686, pos=[(2,3216,29), (2,3243,7), (3,164,51)]) fraction_shift__2: bits[3] = literal(value=3, id=27689, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) is_operand_inf: bits[1] = or(and.27695, and.27696, id=27707, pos=[(2,3205,31), (2,3243,7), (3,164,51)]) bit_slice.27708: bits[1] = bit_slice(wide_exponent__2, start=8, width=1, id=27708, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) and_reduce.27709: bits[1] = and_reduce(bit_slice.27697, id=27709, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) nor.27710: bits[1] = nor(or_reduce.27698, bit_slice.27699, id=27710, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) has_pos_inf: bits[1] = or(nor.27683, nor.27684, id=27692, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) has_neg_inf: bits[1] = or(and.27685, and.27686, id=27693, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) rounded_fraction: bits[12] = concat(add.27933, normal_chunk, id=27979) fraction_shift__1: bits[3] = sel(rounding_carry, cases=[fraction_shift__2, fraction_shift__3], id=27700, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) or.27715: bits[1] = or(is_operand_inf, bit_slice.27708, and_reduce.27709, nor.27710, id=27715, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) nor.27742: bits[1] = nor(not.27678, eq.27672, id=27742, pos=[(2,71,6), (2,3217,30), (2,3243,7), (3,164,51)]) nor.27744: bits[1] = nor(not.27680, eq.27674, id=27744, pos=[(2,71,6), (2,3217,64), (2,3243,7), (3,164,51)]) and.27703: bits[1] = and(has_pos_inf, has_neg_inf, id=27703, pos=[(2,3218,25), (2,3243,7), (3,164,51)]) concat.27977: bits[2] = concat(bit_slice.27954, fraction_is_zero, id=27977, pos=[(2,3243,7), (3,164,51)]) and.27705: bits[1] = and(x_sign__1, y_sign__3, id=27705, pos=[(2,3123,22), (2,3243,7), (3,164,51)]) not.27706: bits[1] = not(y_sign__3, id=27706, pos=[(2,3210,59), (2,3243,7), (3,164,51)]) shrl.27711: bits[12] = shrl(rounded_fraction, fraction_shift__1, id=27711, pos=[(2,3175,27), (2,3243,7), (3,164,51)]) not.27849: bits[1] = not(or.27715, id=27849, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) is_result_nan: bits[1] = or(nor.27742, nor.27744, and.27703, id=27712, pos=[(2,3217,30), (2,3243,7), (3,164,51)]) result_sign: bits[1] = priority_sel(concat.27977, cases=[and.27705, not.27706], default=y_sign__3, id=27713, pos=[(2,3243,7), (3,164,51)]) not.27714: bits[1] = not(has_pos_inf, id=27714, pos=[(2,3211,42), (2,3243,7), (3,164,51)]) result_fraction: bits[7] = bit_slice(shrl.27711, start=0, width=7, id=27716, pos=[(2,3243,7), (3,164,51)]) sign_ext.27850: bits[7] = sign_ext(not.27849, new_bit_count=7, id=27850, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) not.27717: bits[1] = not(is_result_nan, id=27717, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_sign__1: bits[1] = sel(is_operand_inf, cases=[result_sign, not.27714], id=27718, pos=[(2,3211,22), (2,3243,7), (3,164,51)]) or.27719: bits[1] = or(is_result_nan, is_operand_inf, bit_slice.27708, and_reduce.27709, id=27719, pos=[(2,3220,26), (2,3243,7), (3,164,51)]) result_fraction__3: bits[7] = and(result_fraction, sign_ext.27850, id=27851, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) FRACTION_HIGH_BIT: bits[7] = literal(value=64, id=27721, pos=[(2,3219,30), (2,3243,7), (3,164,51)]) result_sign__2: bits[1] = and(not.27717, result_sign__1, id=27722, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_exponent__2: bits[8] = sel(or.27719, cases=[bit_slice.27697, MAX_EXPONENT], id=27723, 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=27724, pos=[(2,3221,26), (2,3243,7), (3,164,51)]) ret tuple.27725: (bits[1], bits[8], bits[7]) = tuple(result_sign__2, result_exponent__2, result_fraction__4, id=27725, pos=[(2,3225,33), (2,3243,7), (3,164,51)]) }