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=853, y: (bits[1], bits[8], bits[7]) id=854) -> (bits[1], bits[8], bits[7]) { y_bexp__2: bits[8] = tuple_index(y, index=1, id=29842, pos=[(2,3242,65), (3,164,51)]) literal.29846: bits[1] = literal(value=0, id=29846, 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=29847, pos=[(2,3091,59), (2,3243,7), (3,164,51)]) y__1_bexpnot__1: bits[8] = not(y_bexp__2, id=29848, pos=[(1,90,15), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) x_bexp_extended__2: bits[9] = concat(literal.29846, x_bexp__2, id=29849, 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.29846, y__1_bexpnot__1, id=29850, 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=29851, pos=[(0,1119,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=29852, pos=[(0,1121,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=29843, pos=[(2,3242,83), (3,164,51)]) tuple_index.29855: bits[7] = tuple_index(x, index=2, id=29855, 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=30110, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.29857: bits[8] = literal(value=0, id=29857, 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=30108, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) literal.29858: bits[1] = literal(value=1, id=29858, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) x_fraction__1: bits[7] = sel(overflow_detected, cases=[y_fraction__2, tuple_index.29855], id=30111, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.30319: bits[1] = ne(x_bexp__3, literal.29857, id=30319, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) y_fraction__3: bits[7] = sel(overflow_detected, cases=[tuple_index.29855, y_fraction__2], id=30109, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) ne.30318: bits[1] = ne(y_bexp__3, literal.29857, id=30318, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) nc: bits[1] = not(overflow_detected, id=29853, 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=29840, pos=[(2,3242,51), (3,164,51)]) fraction_x: bits[8] = concat(literal.29858, x_fraction__1, id=29878, pos=[(2,3095,22), (2,3243,7), (3,164,51)]) sign_ext.30196: bits[8] = sign_ext(ne.30319, new_bit_count=8, id=30196, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y: bits[8] = concat(literal.29858, y_fraction__3, id=29861, pos=[(2,3096,22), (2,3243,7), (3,164,51)]) sign_ext.30199: bits[8] = sign_ext(ne.30318, new_bit_count=8, id=30199, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) narrowed_result: bits[8] = bit_slice(full_result, start=0, width=8, id=29865, 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=29866, pos=[(1,94,32), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) literal.29867: bits[7] = literal(value=0, id=29867, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) not.29841: bits[1] = not(y_sign__2, id=29841, pos=[(2,3242,49), (3,164,51)]) tuple_index.29885: bits[1] = tuple_index(x, index=0, id=29885, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) fraction_x__1: bits[8] = and(fraction_x, sign_ext.30196, id=30197, pos=[(2,3099,21), (2,3243,7), (3,164,51)]) fraction_y__1: bits[8] = and(fraction_y, sign_ext.30199, id=30200, pos=[(2,3100,21), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed_const_lsb_bits: bits[3] = literal(value=0, id=29863, pos=[(2,3104,17), (2,3243,7), (3,164,51)]) result: bits[8] = xor(narrowed_result, x_bexpor_mask__1, id=29869, pos=[(1,95,18), (2,3009,44), (2,3091,57), (2,3243,7), (3,164,51)]) concat.29870: bits[8] = concat(literal.29867, overflow_detected, id=29870, pos=[(2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) x_sign__1: bits[1] = sel(overflow_detected, cases=[not.29841, tuple_index.29885], id=30112, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) y_sign__3: bits[1] = sel(overflow_detected, cases=[tuple_index.29885, not.29841], id=30113, pos=[(2,3092,17), (2,3243,7), (3,164,51)]) wide_x_squeezed: bits[9] = concat(literal.29846, fraction_x__1, id=29887, 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=29882, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) shift: bits[8] = add(result, concat.29870, id=29876, pos=[(1,54,7), (2,3010,68), (2,3091,57), (2,3243,7), (3,164,51)]) literal.29875: bits[12] = literal(value=4095, id=29875, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) xor.29895: bits[1] = xor(x_sign__1, y_sign__3, id=29895, pos=[(2,3110,23), (2,3243,7), (3,164,51)]) neg.29892: bits[9] = neg(wide_x_squeezed, id=29892, pos=[(2,3110,41), (2,3243,7), (3,164,51)]) shrl.29888: bits[11] = shrl(wide_y_shift_bits, shift, id=29888, pos=[(2,3116,31), (2,3243,7), (3,164,51)]) not.30364: bits[7] = not(y_fraction__3, id=30364, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) shll.29880: bits[12] = shll(literal.29875, shift, id=29880, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) xddend_x__2_squeezed: bits[9] = sel(xor.29895, cases=[wide_x_squeezed, neg.29892], id=30203, pos=[(2,3110,19), (2,3243,7), (3,164,51)]) literal.30121: bits[2] = literal(value=0, id=30121, pos=[(2,3243,7), (3,164,51)]) bit_slice.30356: bits[8] = bit_slice(shrl.29888, start=3, width=8, id=30356, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.30367: bits[8] = concat(literal.29846, not.30364, id=30367, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) not.30322: bits[8] = not(sign_ext.30199, id=30322, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.29884: bits[8] = bit_slice(shll.29880, start=3, width=8, id=29884, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) sign_ext.30341: bits[10] = sign_ext(xddend_x__2_squeezed, new_bit_count=10, id=30341, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) concat.30343: bits[10] = concat(literal.30121, bit_slice.30356, id=30343, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) nor.30323: bits[8] = nor(concat.30367, not.30322, bit_slice.29884, id=30323, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) add.30307: bits[10] = add(sign_ext.30341, concat.30343, id=30307, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.29893: bits[1] = bit_slice(shrl.29888, start=0, width=1, id=29893, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) sticky: bits[1] = ne(nor.30323, literal.29857, id=29894, pos=[(0,1501,17), (0,1528,22), (2,3115,35), (2,3243,7), (3,164,51)]) bit_slice.30334: bits[9] = bit_slice(add.30307, start=0, width=9, id=30334, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.30357: bits[2] = bit_slice(shrl.29888, start=1, width=2, id=30357, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) or.29899: bits[1] = or(bit_slice.29893, sticky, id=29899, pos=[(2,3053,40), (2,3116,30), (2,3243,7), (3,164,51)]) concat.30362: bits[12] = concat(bit_slice.30334, bit_slice.30357, or.29899, id=30362, pos=[(2,3120,20), (2,3243,7), (3,164,51)]) bit_slice.30336: bits[1] = bit_slice(add.30307, start=9, width=1, id=30336, pos=[(2,3130,12), (2,3243,7), (3,164,51)]) neg.29907: bits[12] = neg(concat.30362, id=29907, pos=[(2,3130,46), (2,3243,7), (3,164,51)]) xbs_fraction__1: bits[12] = sel(bit_slice.30336, cases=[concat.30362, neg.29907], id=29908, pos=[(2,3130,9), (2,3243,7), (3,164,51)]) bit_slice.29921: bits[1] = bit_slice(xbs_fraction__1, start=4, width=1, id=29921, pos=[(0,1590,70), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29913: bits[1] = bit_slice(xbs_fraction__1, start=6, width=1, id=29913, pos=[(0,1590,70), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29912: bits[1] = bit_slice(xbs_fraction__1, start=8, width=1, id=29912, pos=[(0,1590,70), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29909: bits[1] = bit_slice(xbs_fraction__1, start=10, width=1, id=29909, pos=[(0,1590,70), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) carry_bit: bits[1] = bit_slice(xbs_fraction__1, start=11, width=1, id=29910, pos=[(0,1590,40), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29917: bits[1] = bit_slice(xbs_fraction__1, start=9, width=1, id=29917, pos=[(0,1590,40), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29919: bits[1] = bit_slice(xbs_fraction__1, start=7, width=1, id=29919, pos=[(0,1590,40), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29932: bits[1] = bit_slice(xbs_fraction__1, start=5, width=1, id=29932, pos=[(0,1590,40), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.29933: bits[1] = not(bit_slice.29921, id=29933, 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), (2,3243,7), (3,164,51)]) not.29920: bits[1] = not(bit_slice.29913, id=29920, 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), (2,3243,7), (3,164,51)]) not.29918: bits[1] = not(bit_slice.29912, id=29918, 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), (2,3243,7), (3,164,51)]) not.29911: bits[1] = not(bit_slice.29909, id=29911, 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), (2,3243,7), (3,164,51)]) bit_slice.29945: bits[1] = bit_slice(xbs_fraction__1, start=3, width=1, id=29945, pos=[(0,1590,40), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29934: bits[1] = bit_slice(xbs_fraction__1, start=2, width=1, id=29934, pos=[(0,1590,70), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29957: bits[1] = bit_slice(xbs_fraction__1, start=1, width=1, id=29957, pos=[(0,1590,40), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) bit_slice.29947: bits[1] = bit_slice(xbs_fraction__1, start=0, width=1, id=29947, pos=[(0,1590,70), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29915: bits[1] = nor(carry_bit, bit_slice.29909, id=29915, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29927: bits[1] = nor(bit_slice.29917, bit_slice.29912, id=29927, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.30163: bits[1] = or(bit_slice.29919, bit_slice.29913, id=30163, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29943: bits[1] = nor(bit_slice.29932, bit_slice.29921, id=29943, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29942: bits[1] = nor(bit_slice.29932, not.29933, id=29942, pos=[(0,1590,22), (0,1595,64), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29929: bits[1] = nor(bit_slice.29919, not.29920, id=29929, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.30164: bits[1] = or(carry_bit, bit_slice.29909, id=30164, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29926: bits[1] = nor(bit_slice.29917, not.29918, id=29926, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29914: bits[1] = nor(carry_bit, not.29911, id=29914, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) or.30162: bits[1] = or(bit_slice.29945, bit_slice.29934, id=30162, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29967: bits[1] = nor(bit_slice.29957, bit_slice.29947, id=29967, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29955: bits[1] = nor(bit_slice.29945, bit_slice.29934, id=29955, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.29958: bits[1] = not(bit_slice.29947, id=29958, 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), (2,3243,7), (3,164,51)]) not.30414: bits[1] = not(bit_slice.29934, id=30414, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.29970: bits[1] = and(nor.29915, nor.29927, id=29970, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29930: bits[1] = nor(bit_slice.29919, bit_slice.29913, id=29930, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29982: bits[1] = nor(or.30163, nor.29943, id=29982, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30159: bits[2] = concat(literal.29858, nor.29942, id=30159, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30424: bits[2] = concat(literal.29846, nor.29929, id=30424, pos=[(0,1590,22), (0,1595,34), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29969: bits[1] = nor(or.30164, nor.29927, id=29969, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30293: bits[2] = concat(literal.29858, nor.29926, id=30293, pos=[(0,1540,24), (0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30425: bits[2] = concat(literal.29846, nor.29914, id=30425, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29996: bits[1] = nor(or.30162, nor.29967, id=29996, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.29997: bits[1] = and(nor.29955, nor.29967, id=29997, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.29966: bits[1] = nor(bit_slice.29957, not.29958, id=29966, pos=[(0,1590,22), (0,1595,64), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.30415: bits[1] = nor(bit_slice.29945, not.30414, id=30415, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) not.29999: bits[1] = not(and.29970, id=29999, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.29983: bits[1] = and(nor.29930, nor.29943, id=29983, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.30152: bits[2] = priority_sel(nor.29982, cases=[concat.30159], default=concat.30424, id=30152, pos=[(0,1595,22), (0,1600,64), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.30213: bits[2] = priority_sel(nor.29969, cases=[concat.30293], default=concat.30425, id=30213, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30001: bits[2] = concat(nor.29996, and.29997, id=30001, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30299: bits[2] = concat(literal.29858, nor.29966, id=30299, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30242: bits[2] = concat(nor.29955, nor.30415, id=30242, pos=[(0,1590,22), (0,1595,34), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) nor.30005: bits[1] = nor(not.29999, and.29983, id=30005, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30296: bits[3] = concat(literal.29858, priority_sel.30152, id=30296, pos=[(0,1540,24), (0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30303: bits[3] = concat(literal.29846, priority_sel.30213, id=30303, pos=[(0,1595,22), (0,1600,34), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.30246: bits[2] = priority_sel(concat.30001, cases=[literal.30121, concat.30299], default=concat.30242, id=30246, pos=[(0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) priority_sel.30219: bits[3] = priority_sel(nor.30005, cases=[concat.30296], default=concat.30303, id=30219, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) and.30006: bits[1] = and(and.29970, and.29983, id=30006, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30301: bits[4] = concat(literal.29858, and.29997, priority_sel.30246, id=30301, pos=[(0,1605,22), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30304: bits[4] = concat(literal.29846, priority_sel.30219, id=30304, pos=[(0,1600,22), (0,1605,34), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) concat.30019: bits[13] = concat(literal.29846, xbs_fraction__1, id=30019, pos=[(2,3243,7), (3,164,51)]) leading_zeroes: bits[4] = priority_sel(and.30006, cases=[concat.30301], default=concat.30304, id=30020, pos=[(0,1605,22), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) cancel_fraction: bits[13] = shll(concat.30019, leading_zeroes, id=30021, pos=[(2,3144,26), (2,3243,7), (3,164,51)]) bit_slice.30022: bits[10] = bit_slice(xbs_fraction__1, start=2, width=10, id=30022, pos=[(2,3053,20), (2,3137,36), (2,3243,7), (3,164,51)]) or.30023: bits[1] = or(bit_slice.29957, bit_slice.29947, id=30023, 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=30024, pos=[(2,3243,7), (3,164,51)]) carry_fraction__1: bits[11] = concat(bit_slice.30022, or.30023, id=30025, 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=30026, pos=[(2,3146,27), (2,3243,7), (3,164,51)]) normal_chunk: bits[3] = bit_slice(shifted_fraction, start=0, width=3, id=30027, pos=[(2,3158,39), (2,3243,7), (3,164,51)]) fraction_shift__3: bits[3] = literal(value=4, id=30131, pos=[(0,1539,24), (0,1595,22), (0,1600,34), (0,1605,64), (0,1644,30), (0,1707,13), (2,3141,34), (2,3243,7), (3,164,51)]) half_way_chunk: bits[2] = bit_slice(shifted_fraction, start=2, width=2, id=30028, pos=[(2,3159,41), (2,3243,7), (3,164,51)]) literal.30029: bits[2] = literal(value=3, id=30029, pos=[(2,3160,68), (2,3243,7), (3,164,51)]) ugt.30030: bits[1] = ugt(normal_chunk, fraction_shift__3, id=30030, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) eq.30031: bits[1] = eq(half_way_chunk, literal.30029, id=30031, pos=[(2,3160,50), (2,3243,7), (3,164,51)]) bit_slice.30346: bits[8] = bit_slice(shifted_fraction, start=3, width=8, id=30346) do_round_up: bits[1] = or(ugt.30030, eq.30031, id=30034, pos=[(2,3160,23), (2,3243,7), (3,164,51)]) concat.30347: bits[9] = concat(literal.29846, bit_slice.30346, id=30347) concat.30426: bits[9] = concat(literal.29857, do_round_up, id=30426) add.30315: bits[9] = add(concat.30347, concat.30426, id=30315) literal.30037: bits[4] = literal(value=0, id=30037, pos=[(2,3243,7), (3,164,51)]) rounding_carry: bits[1] = bit_slice(add.30315, start=8, width=1, id=30338, pos=[(2,3168,41), (2,3243,7), (3,164,51)]) literal.30398: bits[10] = literal(value=0, id=30398, pos=[(2,3121,39), (2,3243,7), (3,164,51)]) bit_slice.30422: bits[1] = bit_slice(shrl.29888, start=1, width=1, id=30422, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) bit_slice.30423: bits[1] = bit_slice(shrl.29888, start=2, width=1, id=30423, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) concat.30039: bits[9] = concat(literal.29846, x_bexp__3, id=30039, pos=[(2,3243,7), (3,164,51)]) literal.30040: bits[9] = literal(value=1, id=30040, pos=[(2,3180,24), (2,3243,7), (3,164,51)]) concat.30358: bits[5] = concat(literal.30037, rounding_carry, id=30358, pos=[(2,3243,7), (3,164,51)]) concat.30042: bits[5] = concat(literal.29846, leading_zeroes, id=30042, pos=[(2,3243,7), (3,164,51)]) eq.30374: bits[1] = eq(add.30307, literal.30398, id=30374, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.30411: bits[1] = nor(bit_slice.30422, bit_slice.30423, id=30411, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) nor.30412: bits[1] = nor(bit_slice.29893, sticky, id=30412, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) add.30043: bits[9] = add(concat.30039, literal.30040, id=30043, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sub.30044: bits[5] = sub(concat.30358, concat.30042, id=30044, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) fraction_is_zero: bits[1] = and(eq.30374, nor.30411, nor.30412, id=30410, pos=[(2,3121,27), (2,3243,7), (3,164,51)]) wide_exponent_associative_element: bits[10] = concat(literal.29846, add.30043, id=30046, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) wide_exponent_associative_element__1: bits[10] = sign_ext(sub.30044, new_bit_count=10, id=30047, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) not.30225: bits[1] = not(fraction_is_zero, id=30225, 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=30049, pos=[(2,3179,26), (2,3243,7), (3,164,51)]) sign_ext.30226: bits[10] = sign_ext(not.30225, new_bit_count=10, id=30226, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) wide_exponent__1: bits[10] = and(wide_exponent, sign_ext.30226, id=30227, pos=[(2,3181,24), (2,3243,7), (3,164,51)]) bit_slice.30057: bits[1] = bit_slice(wide_exponent__1, start=9, width=1, id=30057, pos=[(2,3184,27), (2,3243,7), (3,164,51)]) not.30228: bits[1] = not(bit_slice.30057, id=30228, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) bit_slice.30058: bits[9] = bit_slice(wide_exponent__1, start=0, width=9, id=30058, pos=[(2,3243,7), (3,164,51)]) sign_ext.30229: bits[9] = sign_ext(not.30228, new_bit_count=9, id=30229, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) MAX_EXPONENT: bits[8] = literal(value=255, id=30051, pos=[(2,96,29), (2,3209,29), (2,3243,7), (3,164,51)]) wide_exponent__2: bits[9] = and(bit_slice.30058, sign_ext.30229, id=30230, pos=[(2,3184,24), (2,3243,7), (3,164,51)]) eq.30053: bits[1] = eq(x_bexp__3, MAX_EXPONENT, id=30053, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) eq.30054: bits[1] = eq(x_fraction__1, literal.29867, id=30054, pos=[(2,96,44), (2,3209,29), (2,3243,7), (3,164,51)]) eq.30055: bits[1] = eq(y_bexp__3, MAX_EXPONENT, id=30055, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) eq.30056: bits[1] = eq(y_fraction__3, literal.29867, id=30056, pos=[(2,96,44), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.30070: bits[8] = bit_slice(wide_exponent__2, start=1, width=8, id=30070, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) not.30060: bits[1] = not(eq.30053, id=30060, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.30061: bits[1] = not(eq.30054, id=30061, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) not.30062: bits[1] = not(eq.30055, id=30062, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) not.30063: bits[1] = not(eq.30056, id=30063, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.30077: bits[1] = and(eq.30053, eq.30054, id=30077, pos=[(2,96,6), (2,3209,29), (2,3243,7), (3,164,51)]) and.30078: bits[1] = and(eq.30055, eq.30056, id=30078, pos=[(2,96,6), (2,3210,29), (2,3243,7), (3,164,51)]) bit_slice.30079: bits[8] = bit_slice(wide_exponent__2, start=0, width=8, id=30079, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) or_reduce.30080: bits[1] = or_reduce(bit_slice.30070, id=30080, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) bit_slice.30081: bits[1] = bit_slice(wide_exponent__2, start=0, width=1, id=30081, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) nor.30065: bits[1] = nor(not.30060, not.30061, x_sign__1, id=30065, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) nor.30066: bits[1] = nor(not.30062, not.30063, y_sign__3, id=30066, pos=[(2,3210,29), (2,3243,7), (3,164,51)]) and.30067: bits[1] = and(eq.30053, eq.30054, x_sign__1, id=30067, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) and.30068: bits[1] = and(eq.30055, eq.30056, y_sign__3, id=30068, pos=[(2,3216,29), (2,3243,7), (3,164,51)]) fraction_shift__2: bits[3] = literal(value=3, id=30071, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) is_operand_inf: bits[1] = or(and.30077, and.30078, id=30089, pos=[(2,3205,31), (2,3243,7), (3,164,51)]) bit_slice.30090: bits[1] = bit_slice(wide_exponent__2, start=8, width=1, id=30090, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) and_reduce.30091: bits[1] = and_reduce(bit_slice.30079, id=30091, pos=[(2,3202,11), (2,3243,7), (3,164,51)]) nor.30092: bits[1] = nor(or_reduce.30080, bit_slice.30081, id=30092, pos=[(2,3194,11), (2,3243,7), (3,164,51)]) has_pos_inf: bits[1] = or(nor.30065, nor.30066, id=30074, pos=[(2,3209,29), (2,3243,7), (3,164,51)]) has_neg_inf: bits[1] = or(and.30067, and.30068, id=30075, pos=[(2,3215,29), (2,3243,7), (3,164,51)]) rounded_fraction: bits[12] = concat(add.30315, normal_chunk, id=30361) fraction_shift__1: bits[3] = sel(rounding_carry, cases=[fraction_shift__2, fraction_shift__3], id=30082, pos=[(2,3174,8), (2,3243,7), (3,164,51)]) or.30097: bits[1] = or(is_operand_inf, bit_slice.30090, and_reduce.30091, nor.30092, id=30097, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) nor.30124: bits[1] = nor(not.30060, eq.30054, id=30124, pos=[(2,71,6), (2,3217,30), (2,3243,7), (3,164,51)]) nor.30126: bits[1] = nor(not.30062, eq.30056, id=30126, pos=[(2,71,6), (2,3217,64), (2,3243,7), (3,164,51)]) and.30085: bits[1] = and(has_pos_inf, has_neg_inf, id=30085, pos=[(2,3218,25), (2,3243,7), (3,164,51)]) concat.30359: bits[2] = concat(bit_slice.30336, fraction_is_zero, id=30359, pos=[(2,3243,7), (3,164,51)]) and.30087: bits[1] = and(x_sign__1, y_sign__3, id=30087, pos=[(2,3123,22), (2,3243,7), (3,164,51)]) not.30088: bits[1] = not(y_sign__3, id=30088, pos=[(2,3210,59), (2,3243,7), (3,164,51)]) shrl.30093: bits[12] = shrl(rounded_fraction, fraction_shift__1, id=30093, pos=[(2,3175,27), (2,3243,7), (3,164,51)]) not.30231: bits[1] = not(or.30097, id=30231, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) is_result_nan: bits[1] = or(nor.30124, nor.30126, and.30085, id=30094, pos=[(2,3217,30), (2,3243,7), (3,164,51)]) result_sign: bits[1] = priority_sel(concat.30359, cases=[and.30087, not.30088], default=y_sign__3, id=30095, pos=[(2,3243,7), (3,164,51)]) not.30096: bits[1] = not(has_pos_inf, id=30096, pos=[(2,3211,42), (2,3243,7), (3,164,51)]) result_fraction: bits[7] = bit_slice(shrl.30093, start=0, width=7, id=30098, pos=[(2,3243,7), (3,164,51)]) sign_ext.30232: bits[7] = sign_ext(not.30231, new_bit_count=7, id=30232, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) not.30099: bits[1] = not(is_result_nan, id=30099, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_sign__1: bits[1] = sel(is_operand_inf, cases=[result_sign, not.30096], id=30100, pos=[(2,3211,22), (2,3243,7), (3,164,51)]) or.30101: bits[1] = or(is_result_nan, is_operand_inf, bit_slice.30090, and_reduce.30091, id=30101, pos=[(2,3220,26), (2,3243,7), (3,164,51)]) result_fraction__3: bits[7] = and(result_fraction, sign_ext.30232, id=30233, pos=[(2,3207,26), (2,3243,7), (3,164,51)]) FRACTION_HIGH_BIT: bits[7] = literal(value=64, id=30103, pos=[(2,3219,30), (2,3243,7), (3,164,51)]) result_sign__2: bits[1] = and(not.30099, result_sign__1, id=30104, pos=[(2,3222,22), (2,3243,7), (3,164,51)]) result_exponent__2: bits[8] = sel(or.30101, cases=[bit_slice.30079, MAX_EXPONENT], id=30105, 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=30106, pos=[(2,3221,26), (2,3243,7), (3,164,51)]) ret tuple.30107: (bits[1], bits[8], bits[7]) = tuple(result_sign__2, result_exponent__2, result_fraction__4, id=30107, pos=[(2,3225,33), (2,3243,7), (3,164,51)]) }