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__add(x: (bits[1], bits[8], bits[7]) id=843, y: (bits[1], bits[8], bits[7]) id=844) -> (bits[1], bits[8], bits[7]) { y_bexp__1: bits[8] = tuple_index(y, index=1, id=29567, pos=[(2,3091,67), (3,162,51)]) literal.29568: bits[1] = literal(value=0, id=29568, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) x_bexp__1: bits[8] = tuple_index(x, index=1, id=29569, pos=[(2,3091,59), (3,162,51)]) y_bexpnot: bits[8] = not(y_bexp__1, id=29570, pos=[(1,90,15), (2,3009,44), (2,3091,57), (3,162,51)]) x_bexp_extended__1: bits[9] = concat(literal.29568, x_bexp__1, id=29571, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) y_bexpnot_extended: bits[9] = concat(literal.29568, y_bexpnot, id=29572, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) full_result: bits[9] = add(x_bexp_extended__1, y_bexpnot_extended, id=29573, pos=[(0,1119,45), (1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) overflow_detected: bits[1] = bit_slice(full_result, start=8, width=1, id=29574, pos=[(0,1121,49), (1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) tuple_index.29576: bits[7] = tuple_index(y, index=2, id=29576, pos=[(2,3092,17), (3,162,51)]) tuple_index.29577: bits[7] = tuple_index(x, index=2, id=29577, pos=[(2,3092,17), (3,162,51)]) x_bexp: bits[8] = sel(overflow_detected, cases=[y_bexp__1, x_bexp__1], id=29832, pos=[(2,3092,17), (3,162,51)]) literal.29579: bits[8] = literal(value=0, id=29579, pos=[(2,3099,34), (3,162,51)]) y_bexp: bits[8] = sel(overflow_detected, cases=[x_bexp__1, y_bexp__1], id=29830, pos=[(2,3092,17), (3,162,51)]) literal.29580: bits[1] = literal(value=1, id=29580, pos=[(2,3095,22), (3,162,51)]) x_fraction: bits[7] = sel(overflow_detected, cases=[tuple_index.29576, tuple_index.29577], id=29833, pos=[(2,3092,17), (3,162,51)]) ne.30041: bits[1] = ne(x_bexp, literal.29579, id=30041, pos=[(2,3099,21), (3,162,51)]) y_fraction: bits[7] = sel(overflow_detected, cases=[tuple_index.29577, tuple_index.29576], id=29831, pos=[(2,3092,17), (3,162,51)]) ne.30040: bits[1] = ne(y_bexp, literal.29579, id=30040, pos=[(2,3100,21), (3,162,51)]) nc: bits[1] = not(overflow_detected, id=29575, pos=[(1,92,19), (2,3009,44), (2,3091,57), (3,162,51)]) fraction_x: bits[8] = concat(literal.29580, x_fraction, id=29600, pos=[(2,3095,22), (3,162,51)]) sign_ext.29918: bits[8] = sign_ext(ne.30041, new_bit_count=8, id=29918, pos=[(2,3099,21), (3,162,51)]) fraction_y: bits[8] = concat(literal.29580, y_fraction, id=29583, pos=[(2,3096,22), (3,162,51)]) sign_ext.29921: bits[8] = sign_ext(ne.30040, new_bit_count=8, id=29921, pos=[(2,3100,21), (3,162,51)]) narrowed_result: bits[8] = bit_slice(full_result, start=0, width=8, id=29587, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,162,51)]) x_bexpor_mask: bits[8] = sign_ext(nc, new_bit_count=8, id=29588, pos=[(1,94,32), (2,3009,44), (2,3091,57), (3,162,51)]) literal.29589: bits[7] = literal(value=0, id=29589, pos=[(2,3010,68), (2,3091,57), (3,162,51)]) tuple_index.29608: bits[1] = tuple_index(y, index=0, id=29608, pos=[(2,3092,17), (3,162,51)]) tuple_index.29607: bits[1] = tuple_index(x, index=0, id=29607, pos=[(2,3092,17), (3,162,51)]) fraction_x__1: bits[8] = and(fraction_x, sign_ext.29918, id=29919, pos=[(2,3099,21), (3,162,51)]) fraction_y__1: bits[8] = and(fraction_y, sign_ext.29921, id=29922, pos=[(2,3100,21), (3,162,51)]) xddend_x__1_squeezed_const_lsb_bits: bits[3] = literal(value=0, id=29585, pos=[(2,3104,17), (3,162,51)]) result: bits[8] = xor(narrowed_result, x_bexpor_mask, id=29591, pos=[(1,95,18), (2,3009,44), (2,3091,57), (3,162,51)]) concat.29592: bits[8] = concat(literal.29589, overflow_detected, id=29592, pos=[(2,3010,68), (2,3091,57), (3,162,51)]) x_sign: bits[1] = sel(overflow_detected, cases=[tuple_index.29608, tuple_index.29607], id=29834, pos=[(2,3092,17), (3,162,51)]) y_sign: bits[1] = sel(overflow_detected, cases=[tuple_index.29607, tuple_index.29608], id=29835, pos=[(2,3092,17), (3,162,51)]) wide_x_squeezed: bits[9] = concat(literal.29568, fraction_x__1, id=29609, pos=[(2,3103,17), (3,162,51)]) wide_y_shift_bits: bits[11] = concat(fraction_y__1, xddend_x__1_squeezed_const_lsb_bits, id=29604, pos=[(2,3116,31), (3,162,51)]) shift: bits[8] = add(result, concat.29592, id=29598, pos=[(1,54,7), (2,3010,68), (2,3091,57), (3,162,51)]) literal.29597: bits[12] = literal(value=4095, id=29597, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) xor.29617: bits[1] = xor(x_sign, y_sign, id=29617, pos=[(2,3110,23), (3,162,51)]) neg.29614: bits[9] = neg(wide_x_squeezed, id=29614, pos=[(2,3110,41), (3,162,51)]) shrl.29610: bits[11] = shrl(wide_y_shift_bits, shift, id=29610, pos=[(2,3116,31), (3,162,51)]) not.30086: bits[7] = not(y_fraction, id=30086, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) shll.29602: bits[12] = shll(literal.29597, shift, id=29602, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) xddend_x__1_squeezed: bits[9] = sel(xor.29617, cases=[wide_x_squeezed, neg.29614], id=29925, pos=[(2,3110,19), (3,162,51)]) literal.29843: bits[2] = literal(value=0, id=29843, pos=[(3,162,51)]) bit_slice.30078: bits[8] = bit_slice(shrl.29610, start=3, width=8, id=30078, pos=[(2,3120,20), (3,162,51)]) concat.30089: bits[8] = concat(literal.29568, not.30086, id=30089, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) not.30044: bits[8] = not(sign_ext.29921, id=30044, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) bit_slice.29606: bits[8] = bit_slice(shll.29602, start=3, width=8, id=29606, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) sign_ext.30063: bits[10] = sign_ext(xddend_x__1_squeezed, new_bit_count=10, id=30063, pos=[(2,3120,20), (3,162,51)]) concat.30065: bits[10] = concat(literal.29843, bit_slice.30078, id=30065, pos=[(2,3120,20), (3,162,51)]) nor.30045: bits[8] = nor(concat.30089, not.30044, bit_slice.29606, id=30045, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) add.30029: bits[10] = add(sign_ext.30063, concat.30065, id=30029, pos=[(2,3120,20), (3,162,51)]) bit_slice.29615: bits[1] = bit_slice(shrl.29610, start=0, width=1, id=29615, pos=[(2,3053,40), (2,3116,30), (3,162,51)]) sticky: bits[1] = ne(nor.30045, literal.29579, id=29616, pos=[(0,1501,17), (0,1528,22), (2,3115,35), (3,162,51)]) bit_slice.30056: bits[9] = bit_slice(add.30029, start=0, width=9, id=30056, pos=[(2,3120,20), (3,162,51)]) bit_slice.30079: bits[2] = bit_slice(shrl.29610, start=1, width=2, id=30079, pos=[(2,3120,20), (3,162,51)]) or.29621: bits[1] = or(bit_slice.29615, sticky, id=29621, pos=[(2,3053,40), (2,3116,30), (3,162,51)]) concat.30084: bits[12] = concat(bit_slice.30056, bit_slice.30079, or.29621, id=30084, pos=[(2,3120,20), (3,162,51)]) bit_slice.30058: bits[1] = bit_slice(add.30029, start=9, width=1, id=30058, pos=[(2,3130,12), (3,162,51)]) neg.29629: bits[12] = neg(concat.30084, id=29629, pos=[(2,3130,46), (3,162,51)]) xbs_fraction: bits[12] = sel(bit_slice.30058, cases=[concat.30084, neg.29629], id=29630, pos=[(2,3130,9), (3,162,51)]) bit_slice.29643: bits[1] = bit_slice(xbs_fraction, start=4, width=1, id=29643, pos=[(0,1590,70), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29635: bits[1] = bit_slice(xbs_fraction, start=6, width=1, id=29635, pos=[(0,1590,70), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29634: bits[1] = bit_slice(xbs_fraction, start=8, width=1, id=29634, pos=[(0,1590,70), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29631: bits[1] = bit_slice(xbs_fraction, start=10, width=1, id=29631, pos=[(0,1590,70), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) carry_bit: bits[1] = bit_slice(xbs_fraction, start=11, width=1, id=29632, pos=[(0,1590,40), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29639: bits[1] = bit_slice(xbs_fraction, start=9, width=1, id=29639, pos=[(0,1590,40), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29641: bits[1] = bit_slice(xbs_fraction, start=7, width=1, id=29641, pos=[(0,1590,40), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29654: bits[1] = bit_slice(xbs_fraction, start=5, width=1, id=29654, pos=[(0,1590,40), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29655: bits[1] = not(bit_slice.29643, id=29655, pos=[(0,1583,4), (0,1590,64), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29642: bits[1] = not(bit_slice.29635, id=29642, pos=[(0,1583,4), (0,1590,64), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29640: bits[1] = not(bit_slice.29634, id=29640, pos=[(0,1583,4), (0,1590,64), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29633: bits[1] = not(bit_slice.29631, id=29633, pos=[(0,1583,4), (0,1590,64), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29667: bits[1] = bit_slice(xbs_fraction, start=3, width=1, id=29667, pos=[(0,1590,40), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29656: bits[1] = bit_slice(xbs_fraction, start=2, width=1, id=29656, pos=[(0,1590,70), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29679: bits[1] = bit_slice(xbs_fraction, start=1, width=1, id=29679, pos=[(0,1590,40), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) bit_slice.29669: bits[1] = bit_slice(xbs_fraction, start=0, width=1, id=29669, pos=[(0,1590,70), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29637: bits[1] = nor(carry_bit, bit_slice.29631, id=29637, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29649: bits[1] = nor(bit_slice.29639, bit_slice.29634, id=29649, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) or.29885: bits[1] = or(bit_slice.29641, bit_slice.29635, id=29885, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29665: bits[1] = nor(bit_slice.29654, bit_slice.29643, id=29665, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29664: bits[1] = nor(bit_slice.29654, not.29655, id=29664, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29651: bits[1] = nor(bit_slice.29641, not.29642, id=29651, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) or.29886: bits[1] = or(carry_bit, bit_slice.29631, id=29886, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29648: bits[1] = nor(bit_slice.29639, not.29640, id=29648, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29636: bits[1] = nor(carry_bit, not.29633, id=29636, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) or.29884: bits[1] = or(bit_slice.29667, bit_slice.29656, id=29884, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29689: bits[1] = nor(bit_slice.29679, bit_slice.29669, id=29689, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29677: bits[1] = nor(bit_slice.29667, bit_slice.29656, id=29677, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29680: bits[1] = not(bit_slice.29669, id=29680, pos=[(0,1583,4), (0,1590,64), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.30136: bits[1] = not(bit_slice.29656, id=30136, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) and.29692: bits[1] = and(nor.29637, nor.29649, id=29692, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29652: bits[1] = nor(bit_slice.29641, bit_slice.29635, id=29652, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29704: bits[1] = nor(or.29885, nor.29665, id=29704, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.29881: bits[2] = concat(literal.29580, nor.29664, id=29881, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30146: bits[2] = concat(literal.29568, nor.29651, id=30146, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29691: bits[1] = nor(or.29886, nor.29649, id=29691, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30015: bits[2] = concat(literal.29580, nor.29648, id=30015, pos=[(0,1540,24), (0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30147: bits[2] = concat(literal.29568, nor.29636, id=30147, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29718: bits[1] = nor(or.29884, nor.29689, id=29718, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) and.29719: bits[1] = and(nor.29677, nor.29689, id=29719, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29688: bits[1] = nor(bit_slice.29679, not.29680, id=29688, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.30137: bits[1] = nor(bit_slice.29667, not.30136, id=30137, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) not.29721: bits[1] = not(and.29692, id=29721, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) and.29705: bits[1] = and(nor.29652, nor.29665, id=29705, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) priority_sel.29874: bits[2] = priority_sel(nor.29704, cases=[concat.29881], default=concat.30146, id=29874, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) priority_sel.29935: bits[2] = priority_sel(nor.29691, cases=[concat.30015], default=concat.30147, id=29935, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.29723: bits[2] = concat(nor.29718, and.29719, id=29723, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30021: bits[2] = concat(literal.29580, nor.29688, id=30021, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.29964: bits[2] = concat(nor.29677, nor.30137, id=29964, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) nor.29727: bits[1] = nor(not.29721, and.29705, id=29727, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30018: bits[3] = concat(literal.29580, priority_sel.29874, id=30018, pos=[(0,1540,24), (0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30025: bits[3] = concat(literal.29568, priority_sel.29935, id=30025, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) priority_sel.29968: bits[2] = priority_sel(concat.29723, cases=[literal.29843, concat.30021], default=concat.29964, id=29968, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) priority_sel.29941: bits[3] = priority_sel(nor.29727, cases=[concat.30018], default=concat.30025, id=29941, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) and.29728: bits[1] = and(and.29692, and.29705, id=29728, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30023: bits[4] = concat(literal.29580, and.29719, priority_sel.29968, id=30023, pos=[(0,1605,22), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.30026: bits[4] = concat(literal.29568, priority_sel.29941, id=30026, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) concat.29741: bits[13] = concat(literal.29568, xbs_fraction, id=29741, pos=[(3,162,51)]) leading_zeroes: bits[4] = priority_sel(and.29728, cases=[concat.30023], default=concat.30026, id=29742, pos=[(0,1605,22), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) cancel_fraction: bits[13] = shll(concat.29741, leading_zeroes, id=29743, pos=[(2,3144,26), (3,162,51)]) bit_slice.29744: bits[10] = bit_slice(xbs_fraction, start=2, width=10, id=29744, pos=[(2,3053,20), (2,3137,36), (3,162,51)]) or.29745: bits[1] = or(bit_slice.29679, bit_slice.29669, id=29745, pos=[(2,3053,40), (2,3137,36), (3,162,51)]) cancel_fraction__1: bits[11] = bit_slice(cancel_fraction, start=1, width=11, id=29746, pos=[(3,162,51)]) carry_fraction__1: bits[11] = concat(bit_slice.29744, or.29745, id=29747, pos=[(2,3053,20), (2,3137,36), (3,162,51)]) shifted_fraction: bits[11] = sel(carry_bit, cases=[cancel_fraction__1, carry_fraction__1], id=29748, pos=[(2,3146,27), (3,162,51)]) normal_chunk: bits[3] = bit_slice(shifted_fraction, start=0, width=3, id=29749, pos=[(2,3158,39), (3,162,51)]) fraction_shift__3: bits[3] = literal(value=4, id=29853, pos=[(0,1539,24), (0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (3,162,51)]) half_way_chunk: bits[2] = bit_slice(shifted_fraction, start=2, width=2, id=29750, pos=[(2,3159,41), (3,162,51)]) literal.29751: bits[2] = literal(value=3, id=29751, pos=[(2,3160,68), (3,162,51)]) ugt.29752: bits[1] = ugt(normal_chunk, fraction_shift__3, id=29752, pos=[(2,3160,23), (3,162,51)]) eq.29753: bits[1] = eq(half_way_chunk, literal.29751, id=29753, pos=[(2,3160,50), (3,162,51)]) bit_slice.30068: bits[8] = bit_slice(shifted_fraction, start=3, width=8, id=30068) do_round_up: bits[1] = or(ugt.29752, eq.29753, id=29756, pos=[(2,3160,23), (3,162,51)]) concat.30069: bits[9] = concat(literal.29568, bit_slice.30068, id=30069) concat.30148: bits[9] = concat(literal.29579, do_round_up, id=30148) add.30037: bits[9] = add(concat.30069, concat.30148, id=30037) literal.29759: bits[4] = literal(value=0, id=29759, pos=[(3,162,51)]) rounding_carry: bits[1] = bit_slice(add.30037, start=8, width=1, id=30060, pos=[(2,3168,41), (3,162,51)]) literal.30120: bits[10] = literal(value=0, id=30120, pos=[(2,3121,39), (3,162,51)]) bit_slice.30144: bits[1] = bit_slice(shrl.29610, start=1, width=1, id=30144, pos=[(2,3121,27), (3,162,51)]) bit_slice.30145: bits[1] = bit_slice(shrl.29610, start=2, width=1, id=30145, pos=[(2,3121,27), (3,162,51)]) concat.29761: bits[9] = concat(literal.29568, x_bexp, id=29761, pos=[(3,162,51)]) literal.29762: bits[9] = literal(value=1, id=29762, pos=[(2,3180,24), (3,162,51)]) concat.30080: bits[5] = concat(literal.29759, rounding_carry, id=30080, pos=[(3,162,51)]) concat.29764: bits[5] = concat(literal.29568, leading_zeroes, id=29764, pos=[(3,162,51)]) eq.30096: bits[1] = eq(add.30029, literal.30120, id=30096, pos=[(2,3121,27), (3,162,51)]) nor.30133: bits[1] = nor(bit_slice.30144, bit_slice.30145, id=30133, pos=[(2,3121,27), (3,162,51)]) nor.30134: bits[1] = nor(bit_slice.29615, sticky, id=30134, pos=[(2,3121,27), (3,162,51)]) add.29765: bits[9] = add(concat.29761, literal.29762, id=29765, pos=[(2,3179,26), (3,162,51)]) sub.29766: bits[5] = sub(concat.30080, concat.29764, id=29766, pos=[(2,3179,26), (3,162,51)]) fraction_is_zero: bits[1] = and(eq.30096, nor.30133, nor.30134, id=30132, pos=[(2,3121,27), (3,162,51)]) wide_exponent_associative_element: bits[10] = concat(literal.29568, add.29765, id=29768, pos=[(2,3179,26), (3,162,51)]) wide_exponent_associative_element__1: bits[10] = sign_ext(sub.29766, new_bit_count=10, id=29769, pos=[(2,3179,26), (3,162,51)]) not.29947: bits[1] = not(fraction_is_zero, id=29947, pos=[(2,3181,24), (3,162,51)]) wide_exponent: bits[10] = add(wide_exponent_associative_element, wide_exponent_associative_element__1, id=29771, pos=[(2,3179,26), (3,162,51)]) sign_ext.29948: bits[10] = sign_ext(not.29947, new_bit_count=10, id=29948, pos=[(2,3181,24), (3,162,51)]) wide_exponent__1: bits[10] = and(wide_exponent, sign_ext.29948, id=29949, pos=[(2,3181,24), (3,162,51)]) bit_slice.29779: bits[1] = bit_slice(wide_exponent__1, start=9, width=1, id=29779, pos=[(2,3184,27), (3,162,51)]) not.29950: bits[1] = not(bit_slice.29779, id=29950, pos=[(2,3184,24), (3,162,51)]) bit_slice.29780: bits[9] = bit_slice(wide_exponent__1, start=0, width=9, id=29780, pos=[(3,162,51)]) sign_ext.29951: bits[9] = sign_ext(not.29950, new_bit_count=9, id=29951, pos=[(2,3184,24), (3,162,51)]) MAX_EXPONENT: bits[8] = literal(value=255, id=29773, pos=[(2,96,29), (2,3209,29), (3,162,51)]) wide_exponent__2: bits[9] = and(bit_slice.29780, sign_ext.29951, id=29952, pos=[(2,3184,24), (3,162,51)]) eq.29775: bits[1] = eq(x_bexp, MAX_EXPONENT, id=29775, pos=[(2,96,6), (2,3209,29), (3,162,51)]) eq.29776: bits[1] = eq(x_fraction, literal.29589, id=29776, pos=[(2,96,44), (2,3209,29), (3,162,51)]) eq.29777: bits[1] = eq(y_bexp, MAX_EXPONENT, id=29777, pos=[(2,96,6), (2,3210,29), (3,162,51)]) eq.29778: bits[1] = eq(y_fraction, literal.29589, id=29778, pos=[(2,96,44), (2,3210,29), (3,162,51)]) bit_slice.29792: bits[8] = bit_slice(wide_exponent__2, start=1, width=8, id=29792, pos=[(2,3194,11), (3,162,51)]) not.29782: bits[1] = not(eq.29775, id=29782, pos=[(2,3209,29), (3,162,51)]) not.29783: bits[1] = not(eq.29776, id=29783, pos=[(2,3209,29), (3,162,51)]) not.29784: bits[1] = not(eq.29777, id=29784, pos=[(2,3210,29), (3,162,51)]) not.29785: bits[1] = not(eq.29778, id=29785, pos=[(2,3210,29), (3,162,51)]) and.29799: bits[1] = and(eq.29775, eq.29776, id=29799, pos=[(2,96,6), (2,3209,29), (3,162,51)]) and.29800: bits[1] = and(eq.29777, eq.29778, id=29800, pos=[(2,96,6), (2,3210,29), (3,162,51)]) bit_slice.29801: bits[8] = bit_slice(wide_exponent__2, start=0, width=8, id=29801, pos=[(2,3202,11), (3,162,51)]) or_reduce.29802: bits[1] = or_reduce(bit_slice.29792, id=29802, pos=[(2,3194,11), (3,162,51)]) bit_slice.29803: bits[1] = bit_slice(wide_exponent__2, start=0, width=1, id=29803, pos=[(2,3194,11), (3,162,51)]) nor.29787: bits[1] = nor(not.29782, not.29783, x_sign, id=29787, pos=[(2,3209,29), (3,162,51)]) nor.29788: bits[1] = nor(not.29784, not.29785, y_sign, id=29788, pos=[(2,3210,29), (3,162,51)]) and.29789: bits[1] = and(eq.29775, eq.29776, x_sign, id=29789, pos=[(2,3215,29), (3,162,51)]) and.29790: bits[1] = and(eq.29777, eq.29778, y_sign, id=29790, pos=[(2,3216,29), (3,162,51)]) fraction_shift__2: bits[3] = literal(value=3, id=29793, pos=[(2,3174,8), (3,162,51)]) is_operand_inf: bits[1] = or(and.29799, and.29800, id=29811, pos=[(2,3205,31), (3,162,51)]) bit_slice.29812: bits[1] = bit_slice(wide_exponent__2, start=8, width=1, id=29812, pos=[(2,3202,11), (3,162,51)]) and_reduce.29813: bits[1] = and_reduce(bit_slice.29801, id=29813, pos=[(2,3202,11), (3,162,51)]) nor.29814: bits[1] = nor(or_reduce.29802, bit_slice.29803, id=29814, pos=[(2,3194,11), (3,162,51)]) has_pos_inf: bits[1] = or(nor.29787, nor.29788, id=29796, pos=[(2,3209,29), (3,162,51)]) has_neg_inf: bits[1] = or(and.29789, and.29790, id=29797, pos=[(2,3215,29), (3,162,51)]) rounded_fraction: bits[12] = concat(add.30037, normal_chunk, id=30083) fraction_shift__1: bits[3] = sel(rounding_carry, cases=[fraction_shift__2, fraction_shift__3], id=29804, pos=[(2,3174,8), (3,162,51)]) or.29819: bits[1] = or(is_operand_inf, bit_slice.29812, and_reduce.29813, nor.29814, id=29819, pos=[(2,3207,26), (3,162,51)]) nor.29846: bits[1] = nor(not.29782, eq.29776, id=29846, pos=[(2,71,6), (2,3217,30), (3,162,51)]) nor.29848: bits[1] = nor(not.29784, eq.29778, id=29848, pos=[(2,71,6), (2,3217,64), (3,162,51)]) and.29807: bits[1] = and(has_pos_inf, has_neg_inf, id=29807, pos=[(2,3218,25), (3,162,51)]) concat.30081: bits[2] = concat(bit_slice.30058, fraction_is_zero, id=30081, pos=[(3,162,51)]) and.29809: bits[1] = and(x_sign, y_sign, id=29809, pos=[(2,3123,22), (3,162,51)]) not.29810: bits[1] = not(y_sign, id=29810, pos=[(2,3210,59), (3,162,51)]) shrl.29815: bits[12] = shrl(rounded_fraction, fraction_shift__1, id=29815, pos=[(2,3175,27), (3,162,51)]) not.29953: bits[1] = not(or.29819, id=29953, pos=[(2,3207,26), (3,162,51)]) is_result_nan: bits[1] = or(nor.29846, nor.29848, and.29807, id=29816, pos=[(2,3217,30), (3,162,51)]) result_sign: bits[1] = priority_sel(concat.30081, cases=[and.29809, not.29810], default=y_sign, id=29817, pos=[(3,162,51)]) not.29818: bits[1] = not(has_pos_inf, id=29818, pos=[(2,3211,42), (3,162,51)]) result_fraction: bits[7] = bit_slice(shrl.29815, start=0, width=7, id=29820, pos=[(3,162,51)]) sign_ext.29954: bits[7] = sign_ext(not.29953, new_bit_count=7, id=29954, pos=[(2,3207,26), (3,162,51)]) not.29821: bits[1] = not(is_result_nan, id=29821, pos=[(2,3222,22), (3,162,51)]) result_sign__1: bits[1] = sel(is_operand_inf, cases=[result_sign, not.29818], id=29822, pos=[(2,3211,22), (3,162,51)]) or.29823: bits[1] = or(is_result_nan, is_operand_inf, bit_slice.29812, and_reduce.29813, id=29823, pos=[(2,3220,26), (3,162,51)]) result_fraction__3: bits[7] = and(result_fraction, sign_ext.29954, id=29955, pos=[(2,3207,26), (3,162,51)]) FRACTION_HIGH_BIT: bits[7] = literal(value=64, id=29825, pos=[(2,3219,30), (3,162,51)]) result_sign__2: bits[1] = and(not.29821, result_sign__1, id=29826, pos=[(2,3222,22), (3,162,51)]) result_exponent__2: bits[8] = sel(or.29823, cases=[bit_slice.29801, MAX_EXPONENT], id=29827, pos=[(2,3220,26), (3,162,51)]) result_fraction__4: bits[7] = sel(is_result_nan, cases=[result_fraction__3, FRACTION_HIGH_BIT], id=29828, pos=[(2,3221,26), (3,162,51)]) ret tuple.29829: (bits[1], bits[8], bits[7]) = tuple(result_sign__2, result_exponent__2, result_fraction__4, id=29829, pos=[(2,3225,33), (3,162,51)]) }