package hfloat16 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/hfloat16.x" top fn __hfloat16__add(x: (bits[1], bits[5], bits[10]) id=835, y: (bits[1], bits[5], bits[10]) id=836) -> (bits[1], bits[5], bits[10]) { y_bexp__1: bits[5] = tuple_index(y, index=1, id=27097, pos=[(2,3091,67), (3,116,51)]) literal.27098: bits[1] = literal(value=0, id=27098, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) x_bexp__1: bits[5] = tuple_index(x, index=1, id=27099, pos=[(2,3091,59), (3,116,51)]) y_bexpnot: bits[5] = not(y_bexp__1, id=27100, pos=[(1,90,15), (2,3009,44), (2,3091,57), (3,116,51)]) x_bexp_extended__1: bits[6] = concat(literal.27098, x_bexp__1, id=27101, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) y_bexpnot_extended: bits[6] = concat(literal.27098, y_bexpnot, id=27102, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) full_result: bits[6] = add(x_bexp_extended__1, y_bexpnot_extended, id=27103, pos=[(0,1114,45), (1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) overflow_detected: bits[1] = bit_slice(full_result, start=5, width=1, id=27104, pos=[(0,1116,49), (1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) tuple_index.27106: bits[10] = tuple_index(y, index=2, id=27106, pos=[(2,3092,17), (3,116,51)]) tuple_index.27107: bits[10] = tuple_index(x, index=2, id=27107, pos=[(2,3092,17), (3,116,51)]) x_bexp: bits[5] = sel(overflow_detected, cases=[y_bexp__1, x_bexp__1], id=27380, pos=[(2,3092,17), (3,116,51)]) literal.27109: bits[5] = literal(value=0, id=27109, pos=[(2,3099,34), (3,116,51)]) y_bexp: bits[5] = sel(overflow_detected, cases=[x_bexp__1, y_bexp__1], id=27378, pos=[(2,3092,17), (3,116,51)]) literal.27110: bits[1] = literal(value=1, id=27110, pos=[(2,3095,22), (3,116,51)]) x_fraction: bits[10] = sel(overflow_detected, cases=[tuple_index.27106, tuple_index.27107], id=27381, pos=[(2,3092,17), (3,116,51)]) ne.27624: bits[1] = ne(x_bexp, literal.27109, id=27624, pos=[(2,3099,21), (3,116,51)]) y_fraction: bits[10] = sel(overflow_detected, cases=[tuple_index.27107, tuple_index.27106], id=27379, pos=[(2,3092,17), (3,116,51)]) ne.27623: bits[1] = ne(y_bexp, literal.27109, id=27623, pos=[(2,3100,21), (3,116,51)]) nc: bits[1] = not(overflow_detected, id=27105, pos=[(1,92,19), (2,3009,44), (2,3091,57), (3,116,51)]) fraction_x: bits[11] = concat(literal.27110, x_fraction, id=27131, pos=[(2,3095,22), (3,116,51)]) sign_ext.27492: bits[11] = sign_ext(ne.27624, new_bit_count=11, id=27492, pos=[(2,3099,21), (3,116,51)]) fraction_y: bits[11] = concat(literal.27110, y_fraction, id=27113, pos=[(2,3096,22), (3,116,51)]) sign_ext.27495: bits[11] = sign_ext(ne.27623, new_bit_count=11, id=27495, pos=[(2,3100,21), (3,116,51)]) narrowed_result: bits[5] = bit_slice(full_result, start=0, width=5, id=27118, pos=[(1,91,63), (2,3009,44), (2,3091,57), (3,116,51)]) x_bexpor_mask: bits[5] = sign_ext(nc, new_bit_count=5, id=27119, pos=[(1,94,32), (2,3009,44), (2,3091,57), (3,116,51)]) literal.27120: bits[4] = literal(value=0, id=27120, pos=[(2,3010,68), (2,3091,57), (3,116,51)]) tuple_index.27139: bits[1] = tuple_index(y, index=0, id=27139, pos=[(2,3092,17), (3,116,51)]) tuple_index.27138: bits[1] = tuple_index(x, index=0, id=27138, pos=[(2,3092,17), (3,116,51)]) fraction_x__1: bits[11] = and(fraction_x, sign_ext.27492, id=27493, pos=[(2,3099,21), (3,116,51)]) fraction_y__1: bits[11] = and(fraction_y, sign_ext.27495, id=27496, pos=[(2,3100,21), (3,116,51)]) xddend_x__1_squeezed_const_lsb_bits: bits[3] = literal(value=0, id=27116, pos=[(2,3104,17), (3,116,51)]) result: bits[5] = xor(narrowed_result, x_bexpor_mask, id=27122, pos=[(1,95,18), (2,3009,44), (2,3091,57), (3,116,51)]) concat.27123: bits[5] = concat(literal.27120, overflow_detected, id=27123, pos=[(2,3010,68), (2,3091,57), (3,116,51)]) x_sign: bits[1] = sel(overflow_detected, cases=[tuple_index.27139, tuple_index.27138], id=27382, pos=[(2,3092,17), (3,116,51)]) y_sign: bits[1] = sel(overflow_detected, cases=[tuple_index.27138, tuple_index.27139], id=27383, pos=[(2,3092,17), (3,116,51)]) wide_x_squeezed: bits[12] = concat(literal.27098, fraction_x__1, id=27140, pos=[(2,3103,17), (3,116,51)]) wide_y_shift_bits: bits[14] = concat(fraction_y__1, xddend_x__1_squeezed_const_lsb_bits, id=27135, pos=[(2,3116,31), (3,116,51)]) shift: bits[5] = add(result, concat.27123, id=27129, pos=[(1,54,7), (2,3010,68), (2,3091,57), (3,116,51)]) literal.27128: bits[15] = literal(value=32767, id=27128, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) xor.27148: bits[1] = xor(x_sign, y_sign, id=27148, pos=[(2,3110,23), (3,116,51)]) neg.27145: bits[12] = neg(wide_x_squeezed, id=27145, pos=[(2,3110,41), (3,116,51)]) shrl.27141: bits[14] = shrl(wide_y_shift_bits, shift, id=27141, pos=[(2,3116,31), (3,116,51)]) not.27667: bits[10] = not(y_fraction, id=27667, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) shll.27133: bits[15] = shll(literal.27128, shift, id=27133, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) xddend_x__1_squeezed: bits[12] = sel(xor.27148, cases=[wide_x_squeezed, neg.27145], id=27499, pos=[(2,3110,19), (3,116,51)]) literal.27395: bits[2] = literal(value=0, id=27395, pos=[(3,116,51)]) bit_slice.27659: bits[11] = bit_slice(shrl.27141, start=3, width=11, id=27659, pos=[(2,3120,20), (3,116,51)]) concat.27670: bits[11] = concat(literal.27098, not.27667, id=27670, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) not.27627: bits[11] = not(sign_ext.27495, id=27627, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) bit_slice.27137: bits[11] = bit_slice(shll.27133, start=3, width=11, id=27137, pos=[(0,1406,19), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) sign_ext.27645: bits[13] = sign_ext(xddend_x__1_squeezed, new_bit_count=13, id=27645, pos=[(2,3120,20), (3,116,51)]) concat.27647: bits[13] = concat(literal.27395, bit_slice.27659, id=27647, pos=[(2,3120,20), (3,116,51)]) nor.27628: bits[11] = nor(concat.27670, not.27627, bit_slice.27137, id=27628, pos=[(0,1406,4), (0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) literal.27114: bits[11] = literal(value=0, id=27114, pos=[(2,3099,49), (3,116,51)]) add.27612: bits[13] = add(sign_ext.27645, concat.27647, id=27612, pos=[(2,3120,20), (3,116,51)]) bit_slice.27146: bits[1] = bit_slice(shrl.27141, start=0, width=1, id=27146, pos=[(2,3053,40), (2,3116,30), (3,116,51)]) sticky: bits[1] = ne(nor.27628, literal.27114, id=27147, pos=[(0,1496,17), (0,1523,22), (2,3115,35), (3,116,51)]) bit_slice.27638: bits[12] = bit_slice(add.27612, start=0, width=12, id=27638, pos=[(2,3120,20), (3,116,51)]) bit_slice.27660: bits[2] = bit_slice(shrl.27141, start=1, width=2, id=27660, pos=[(2,3120,20), (3,116,51)]) or.27152: bits[1] = or(bit_slice.27146, sticky, id=27152, pos=[(2,3053,40), (2,3116,30), (3,116,51)]) concat.27665: bits[15] = concat(bit_slice.27638, bit_slice.27660, or.27152, id=27665, pos=[(2,3120,20), (3,116,51)]) bit_slice.27640: bits[1] = bit_slice(add.27612, start=12, width=1, id=27640, pos=[(2,3130,12), (3,116,51)]) neg.27160: bits[15] = neg(concat.27665, id=27160, pos=[(2,3130,46), (3,116,51)]) xbs_fraction: bits[15] = sel(bit_slice.27640, cases=[concat.27665, neg.27160], id=27161, pos=[(2,3130,9), (3,116,51)]) bit_slice.27222: bits[1] = bit_slice(xbs_fraction, start=1, width=1, id=27222, pos=[(0,1585,70), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27200: bits[1] = bit_slice(xbs_fraction, start=3, width=1, id=27200, pos=[(0,1585,70), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27187: bits[1] = bit_slice(xbs_fraction, start=5, width=1, id=27187, pos=[(0,1585,70), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27174: bits[1] = bit_slice(xbs_fraction, start=7, width=1, id=27174, pos=[(0,1585,70), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27166: bits[1] = bit_slice(xbs_fraction, start=9, width=1, id=27166, pos=[(0,1585,70), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27165: bits[1] = bit_slice(xbs_fraction, start=11, width=1, id=27165, pos=[(0,1585,70), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27162: bits[1] = bit_slice(xbs_fraction, start=13, width=1, id=27162, pos=[(0,1585,70), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27246: bits[1] = bit_slice(xbs_fraction, start=0, width=1, id=27246, pos=[(0,1585,40), (0,1590,64), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27232: bits[1] = bit_slice(xbs_fraction, start=2, width=1, id=27232, pos=[(0,1585,40), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) not.27233: bits[1] = not(bit_slice.27222, id=27233, pos=[(0,1578,4), (0,1585,64), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27198: bits[1] = bit_slice(xbs_fraction, start=6, width=1, id=27198, pos=[(0,1585,40), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27210: bits[1] = bit_slice(xbs_fraction, start=4, width=1, id=27210, pos=[(0,1585,40), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) not.27211: bits[1] = not(bit_slice.27200, id=27211, 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), (3,116,51)]) not.27720: bits[1] = not(bit_slice.27187, id=27720, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) carry_bit: bits[1] = bit_slice(xbs_fraction, start=14, width=1, id=27163, pos=[(0,1585,40), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27170: bits[1] = bit_slice(xbs_fraction, start=12, width=1, id=27170, pos=[(0,1585,40), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27172: bits[1] = bit_slice(xbs_fraction, start=10, width=1, id=27172, pos=[(0,1585,40), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) bit_slice.27185: bits[1] = bit_slice(xbs_fraction, start=8, width=1, id=27185, pos=[(0,1585,40), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) not.27186: bits[1] = not(bit_slice.27174, id=27186, 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), (3,116,51)]) not.27173: bits[1] = not(bit_slice.27166, id=27173, 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), (3,116,51)]) not.27171: bits[1] = not(bit_slice.27165, id=27171, 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), (3,116,51)]) not.27164: bits[1] = not(bit_slice.27162, id=27164, 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), (3,116,51)]) not.27389: bits[1] = not(bit_slice.27246, id=27389, pos=[(0,1585,22), (0,1590,64), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27243: bits[1] = nor(bit_slice.27232, not.27233, id=27243, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) or.27452: bits[1] = or(bit_slice.27198, bit_slice.27187, id=27452, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27220: bits[1] = nor(bit_slice.27210, bit_slice.27200, id=27220, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27219: bits[1] = nor(bit_slice.27210, not.27211, id=27219, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27718: bits[1] = nor(bit_slice.27198, bit_slice.27187, id=27718, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27721: bits[1] = nor(bit_slice.27198, not.27720, id=27721, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27168: bits[1] = nor(carry_bit, bit_slice.27162, id=27168, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27180: bits[1] = nor(bit_slice.27170, bit_slice.27165, id=27180, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) or.27453: bits[1] = or(bit_slice.27172, bit_slice.27166, id=27453, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27196: bits[1] = nor(bit_slice.27185, bit_slice.27174, id=27196, pos=[(0,1585,22), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27195: bits[1] = nor(bit_slice.27185, not.27186, id=27195, pos=[(0,1585,22), (0,1590,64), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27182: bits[1] = nor(bit_slice.27172, not.27173, id=27182, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) or.27454: bits[1] = or(carry_bit, bit_slice.27162, id=27454, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27179: bits[1] = nor(bit_slice.27170, not.27171, id=27179, pos=[(0,1585,22), (0,1590,64), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27167: bits[1] = nor(carry_bit, not.27164, id=27167, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27244: bits[1] = nor(bit_slice.27232, bit_slice.27222, id=27244, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27411: bits[2] = concat(literal.27110, not.27389, id=27411, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27731: bits[2] = concat(literal.27098, nor.27243, id=27731, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27260: bits[1] = nor(or.27452, nor.27220, id=27260, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27597: bits[2] = concat(literal.27110, nor.27219, id=27597, pos=[(0,1535,24), (0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27546: bits[2] = concat(nor.27718, nor.27721, id=27546, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) and.27224: bits[1] = and(nor.27168, nor.27180, id=27224, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27183: bits[1] = nor(bit_slice.27172, bit_slice.27166, id=27183, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27238: bits[1] = nor(or.27453, nor.27196, id=27238, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27449: bits[2] = concat(literal.27110, nor.27195, id=27449, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27732: bits[2] = concat(literal.27098, nor.27182, id=27732, pos=[(0,1585,22), (0,1590,34), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27223: bits[1] = nor(or.27454, nor.27180, id=27223, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27600: bits[2] = concat(literal.27110, nor.27179, id=27600, pos=[(0,1535,24), (0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27733: bits[2] = concat(literal.27098, nor.27167, id=27733, pos=[(0,1585,22), (0,1590,34), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27277: bits[2] = priority_sel(nor.27244, cases=[concat.27411], default=concat.27731, id=27277, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27511: bits[2] = priority_sel(nor.27260, cases=[concat.27597], default=concat.27546, id=27511, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) not.27265: bits[1] = not(and.27224, id=27265, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) and.27239: bits[1] = and(nor.27183, nor.27196, id=27239, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27440: bits[2] = priority_sel(nor.27238, cases=[concat.27449], default=concat.27732, id=27440, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27517: bits[2] = priority_sel(nor.27223, cases=[concat.27600], default=concat.27733, id=27517, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) and.27261: bits[1] = and(nor.27718, nor.27220, id=27261, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27283: bits[3] = concat(literal.27110, priority_sel.27277, id=27283, pos=[(0,1595,22), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27607: bits[3] = concat(literal.27098, priority_sel.27511, id=27607, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) nor.27273: bits[1] = nor(not.27265, and.27239, id=27273, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27603: bits[3] = concat(literal.27110, priority_sel.27440, id=27603, pos=[(0,1535,24), (0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27608: bits[3] = concat(literal.27098, priority_sel.27517, id=27608, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27285: bits[3] = priority_sel(and.27261, cases=[concat.27283], default=concat.27607, id=27285, pos=[(0,1595,22), (0,1600,64), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) priority_sel.27523: bits[3] = priority_sel(nor.27273, cases=[concat.27603], default=concat.27608, id=27523, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) and.27274: bits[1] = and(and.27224, and.27239, id=27274, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27287: bits[4] = concat(literal.27110, priority_sel.27285, id=27287, pos=[(0,1600,22), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27609: bits[4] = concat(literal.27098, priority_sel.27523, id=27609, pos=[(0,1595,22), (0,1600,34), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) concat.27288: bits[16] = concat(literal.27098, xbs_fraction, id=27288, pos=[(3,116,51)]) leading_zeroes: bits[4] = priority_sel(and.27274, cases=[concat.27287], default=concat.27609, id=27289, pos=[(0,1600,22), (0,1639,30), (0,1702,13), (2,3141,34), (3,116,51)]) cancel_fraction: bits[16] = shll(concat.27288, leading_zeroes, id=27290, pos=[(2,3144,26), (3,116,51)]) bit_slice.27291: bits[13] = bit_slice(xbs_fraction, start=2, width=13, id=27291, pos=[(2,3053,20), (2,3137,36), (3,116,51)]) or.27292: bits[1] = or(bit_slice.27222, bit_slice.27246, id=27292, pos=[(2,3053,40), (2,3137,36), (3,116,51)]) cancel_fraction__1: bits[14] = bit_slice(cancel_fraction, start=1, width=14, id=27293, pos=[(3,116,51)]) carry_fraction__1: bits[14] = concat(bit_slice.27291, or.27292, id=27294, pos=[(2,3053,20), (2,3137,36), (3,116,51)]) shifted_fraction: bits[14] = sel(carry_bit, cases=[cancel_fraction__1, carry_fraction__1], id=27295, pos=[(2,3146,27), (3,116,51)]) normal_chunk: bits[3] = bit_slice(shifted_fraction, start=0, width=3, id=27296, pos=[(2,3158,39), (3,116,51)]) fraction_shift__3: bits[3] = literal(value=4, id=27297, pos=[(2,3160,38), (3,116,51)]) half_way_chunk: bits[2] = bit_slice(shifted_fraction, start=2, width=2, id=27298, pos=[(2,3159,41), (3,116,51)]) literal.27299: bits[2] = literal(value=3, id=27299, pos=[(2,3160,68), (3,116,51)]) ugt.27300: bits[1] = ugt(normal_chunk, fraction_shift__3, id=27300, pos=[(2,3160,23), (3,116,51)]) eq.27301: bits[1] = eq(half_way_chunk, literal.27299, id=27301, pos=[(2,3160,50), (3,116,51)]) bit_slice.27650: bits[11] = bit_slice(shifted_fraction, start=3, width=11, id=27650) do_round_up: bits[1] = or(ugt.27300, eq.27301, id=27304, pos=[(2,3160,23), (3,116,51)]) concat.27651: bits[12] = concat(literal.27098, bit_slice.27650, id=27651) concat.27734: bits[12] = concat(literal.27114, do_round_up, id=27734) add.27620: bits[12] = add(concat.27651, concat.27734, id=27620) rounding_carry: bits[1] = bit_slice(add.27620, start=11, width=1, id=27642, pos=[(2,3168,41), (3,116,51)]) literal.27705: bits[13] = literal(value=0, id=27705, pos=[(2,3121,39), (3,116,51)]) bit_slice.27729: bits[1] = bit_slice(shrl.27141, start=1, width=1, id=27729, pos=[(2,3121,27), (3,116,51)]) bit_slice.27730: bits[1] = bit_slice(shrl.27141, start=2, width=1, id=27730, pos=[(2,3121,27), (3,116,51)]) concat.27308: bits[6] = concat(literal.27098, x_bexp, id=27308, pos=[(3,116,51)]) literal.27309: bits[6] = literal(value=1, id=27309, pos=[(2,3180,24), (3,116,51)]) concat.27661: bits[5] = concat(literal.27120, rounding_carry, id=27661, pos=[(3,116,51)]) concat.27311: bits[5] = concat(literal.27098, leading_zeroes, id=27311, pos=[(3,116,51)]) eq.27677: bits[1] = eq(add.27612, literal.27705, id=27677, pos=[(2,3121,27), (3,116,51)]) nor.27716: bits[1] = nor(bit_slice.27729, bit_slice.27730, id=27716, pos=[(2,3121,27), (3,116,51)]) nor.27717: bits[1] = nor(bit_slice.27146, sticky, id=27717, pos=[(2,3121,27), (3,116,51)]) add.27312: bits[6] = add(concat.27308, literal.27309, id=27312, pos=[(2,3179,26), (3,116,51)]) sub.27313: bits[5] = sub(concat.27661, concat.27311, id=27313, pos=[(2,3179,26), (3,116,51)]) fraction_is_zero: bits[1] = and(eq.27677, nor.27716, nor.27717, id=27715, pos=[(2,3121,27), (3,116,51)]) wide_exponent_associative_element: bits[7] = concat(literal.27098, add.27312, id=27315, pos=[(2,3179,26), (3,116,51)]) wide_exponent_associative_element__1: bits[7] = sign_ext(sub.27313, new_bit_count=7, id=27316, pos=[(2,3179,26), (3,116,51)]) not.27529: bits[1] = not(fraction_is_zero, id=27529, pos=[(2,3181,24), (3,116,51)]) wide_exponent: bits[7] = add(wide_exponent_associative_element, wide_exponent_associative_element__1, id=27318, pos=[(2,3179,26), (3,116,51)]) sign_ext.27530: bits[7] = sign_ext(not.27529, new_bit_count=7, id=27530, pos=[(2,3181,24), (3,116,51)]) wide_exponent__1: bits[7] = and(wide_exponent, sign_ext.27530, id=27531, pos=[(2,3181,24), (3,116,51)]) bit_slice.27327: bits[1] = bit_slice(wide_exponent__1, start=6, width=1, id=27327, pos=[(2,3184,27), (3,116,51)]) not.27532: bits[1] = not(bit_slice.27327, id=27532, pos=[(2,3184,24), (3,116,51)]) bit_slice.27328: bits[6] = bit_slice(wide_exponent__1, start=0, width=6, id=27328, pos=[(3,116,51)]) sign_ext.27533: bits[6] = sign_ext(not.27532, new_bit_count=6, id=27533, pos=[(2,3184,24), (3,116,51)]) MAX_EXPONENT: bits[5] = literal(value=31, id=27320, pos=[(2,96,29), (2,3209,29), (3,116,51)]) literal.27321: bits[10] = literal(value=0, id=27321, pos=[(2,96,57), (2,3209,29), (3,116,51)]) wide_exponent__2: bits[6] = and(bit_slice.27328, sign_ext.27533, id=27534, pos=[(2,3184,24), (3,116,51)]) eq.27323: bits[1] = eq(x_bexp, MAX_EXPONENT, id=27323, pos=[(2,96,6), (2,3209,29), (3,116,51)]) eq.27324: bits[1] = eq(x_fraction, literal.27321, id=27324, pos=[(2,96,44), (2,3209,29), (3,116,51)]) eq.27325: bits[1] = eq(y_bexp, MAX_EXPONENT, id=27325, pos=[(2,96,6), (2,3210,29), (3,116,51)]) eq.27326: bits[1] = eq(y_fraction, literal.27321, id=27326, pos=[(2,96,44), (2,3210,29), (3,116,51)]) bit_slice.27340: bits[5] = bit_slice(wide_exponent__2, start=1, width=5, id=27340, pos=[(2,3194,11), (3,116,51)]) not.27330: bits[1] = not(eq.27323, id=27330, pos=[(2,3209,29), (3,116,51)]) not.27331: bits[1] = not(eq.27324, id=27331, pos=[(2,3209,29), (3,116,51)]) not.27332: bits[1] = not(eq.27325, id=27332, pos=[(2,3210,29), (3,116,51)]) not.27333: bits[1] = not(eq.27326, id=27333, pos=[(2,3210,29), (3,116,51)]) and.27347: bits[1] = and(eq.27323, eq.27324, id=27347, pos=[(2,96,6), (2,3209,29), (3,116,51)]) and.27348: bits[1] = and(eq.27325, eq.27326, id=27348, pos=[(2,96,6), (2,3210,29), (3,116,51)]) bit_slice.27349: bits[5] = bit_slice(wide_exponent__2, start=0, width=5, id=27349, pos=[(2,3202,11), (3,116,51)]) or_reduce.27350: bits[1] = or_reduce(bit_slice.27340, id=27350, pos=[(2,3194,11), (3,116,51)]) bit_slice.27351: bits[1] = bit_slice(wide_exponent__2, start=0, width=1, id=27351, pos=[(2,3194,11), (3,116,51)]) nor.27335: bits[1] = nor(not.27330, not.27331, x_sign, id=27335, pos=[(2,3209,29), (3,116,51)]) nor.27336: bits[1] = nor(not.27332, not.27333, y_sign, id=27336, pos=[(2,3210,29), (3,116,51)]) and.27337: bits[1] = and(eq.27323, eq.27324, x_sign, id=27337, pos=[(2,3215,29), (3,116,51)]) and.27338: bits[1] = and(eq.27325, eq.27326, y_sign, id=27338, pos=[(2,3216,29), (3,116,51)]) fraction_shift__2: bits[3] = literal(value=3, id=27341, pos=[(2,3174,8), (3,116,51)]) is_operand_inf: bits[1] = or(and.27347, and.27348, id=27359, pos=[(2,3205,31), (3,116,51)]) bit_slice.27360: bits[1] = bit_slice(wide_exponent__2, start=5, width=1, id=27360, pos=[(2,3202,11), (3,116,51)]) and_reduce.27361: bits[1] = and_reduce(bit_slice.27349, id=27361, pos=[(2,3202,11), (3,116,51)]) nor.27362: bits[1] = nor(or_reduce.27350, bit_slice.27351, id=27362, pos=[(2,3194,11), (3,116,51)]) has_pos_inf: bits[1] = or(nor.27335, nor.27336, id=27344, pos=[(2,3209,29), (3,116,51)]) has_neg_inf: bits[1] = or(and.27337, and.27338, id=27345, pos=[(2,3215,29), (3,116,51)]) rounded_fraction: bits[15] = concat(add.27620, normal_chunk, id=27664) fraction_shift__1: bits[3] = sel(rounding_carry, cases=[fraction_shift__2, fraction_shift__3], id=27352, pos=[(2,3174,8), (3,116,51)]) or.27367: bits[1] = or(is_operand_inf, bit_slice.27360, and_reduce.27361, nor.27362, id=27367, pos=[(2,3207,26), (3,116,51)]) nor.27404: bits[1] = nor(not.27330, eq.27324, id=27404, pos=[(2,71,6), (2,3217,30), (3,116,51)]) nor.27406: bits[1] = nor(not.27332, eq.27326, id=27406, pos=[(2,71,6), (2,3217,64), (3,116,51)]) and.27355: bits[1] = and(has_pos_inf, has_neg_inf, id=27355, pos=[(2,3218,25), (3,116,51)]) concat.27662: bits[2] = concat(bit_slice.27640, fraction_is_zero, id=27662, pos=[(3,116,51)]) and.27357: bits[1] = and(x_sign, y_sign, id=27357, pos=[(2,3123,22), (3,116,51)]) not.27358: bits[1] = not(y_sign, id=27358, pos=[(2,3210,59), (3,116,51)]) shrl.27363: bits[15] = shrl(rounded_fraction, fraction_shift__1, id=27363, pos=[(2,3175,27), (3,116,51)]) not.27535: bits[1] = not(or.27367, id=27535, pos=[(2,3207,26), (3,116,51)]) is_result_nan: bits[1] = or(nor.27404, nor.27406, and.27355, id=27364, pos=[(2,3217,30), (3,116,51)]) result_sign: bits[1] = priority_sel(concat.27662, cases=[and.27357, not.27358], default=y_sign, id=27365, pos=[(3,116,51)]) not.27366: bits[1] = not(has_pos_inf, id=27366, pos=[(2,3211,42), (3,116,51)]) result_fraction: bits[10] = bit_slice(shrl.27363, start=0, width=10, id=27368, pos=[(3,116,51)]) sign_ext.27536: bits[10] = sign_ext(not.27535, new_bit_count=10, id=27536, pos=[(2,3207,26), (3,116,51)]) not.27369: bits[1] = not(is_result_nan, id=27369, pos=[(2,3222,22), (3,116,51)]) result_sign__1: bits[1] = sel(is_operand_inf, cases=[result_sign, not.27366], id=27370, pos=[(2,3211,22), (3,116,51)]) or.27371: bits[1] = or(is_result_nan, is_operand_inf, bit_slice.27360, and_reduce.27361, id=27371, pos=[(2,3220,26), (3,116,51)]) result_fraction__3: bits[10] = and(result_fraction, sign_ext.27536, id=27537, pos=[(2,3207,26), (3,116,51)]) FRACTION_HIGH_BIT: bits[10] = literal(value=512, id=27373, pos=[(2,3219,30), (3,116,51)]) result_sign__2: bits[1] = and(not.27369, result_sign__1, id=27374, pos=[(2,3222,22), (3,116,51)]) result_exponent__2: bits[5] = sel(or.27371, cases=[bit_slice.27349, MAX_EXPONENT], id=27375, pos=[(2,3220,26), (3,116,51)]) result_fraction__4: bits[10] = sel(is_result_nan, cases=[result_fraction__3, FRACTION_HIGH_BIT], id=27376, pos=[(2,3221,26), (3,116,51)]) ret tuple.27377: (bits[1], bits[5], bits[10]) = tuple(result_sign__2, result_exponent__2, result_fraction__4, id=27377, pos=[(2,3225,33), (3,116,51)]) }