package hfloat16 file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 2 "/inputs/subtree/xls/dslx/stdlib/hfloat16.x" top fn __hfloat16__trunc(f: (bits[1], bits[5], bits[10]) id=160) -> (bits[1], bits[5], bits[10]) { f_bexp__1: bits[5] = tuple_index(f, index=1, id=349, pos=[(1,266,6), (1,4272,31), (1,4708,47), (2,136,46)]) bit_slice.361: bits[4] = bit_slice(f_bexp__1, start=0, width=4, id=361, pos=[(1,4219,5), (1,4705,43), (2,136,46)]) literal.354: bits[5] = literal(value=17, id=354, pos=[(1,266,6), (1,4272,31), (1,4708,47), (2,136,46)]) bit_slice.370: bits[1] = bit_slice(f_bexp__1, start=4, width=1, id=370, pos=[(1,4219,5), (1,4705,43), (2,136,46)]) and_reduce.371: bits[1] = and_reduce(bit_slice.361, id=371, pos=[(1,4219,5), (1,4705,43), (2,136,46)]) literal.353: bits[5] = literal(value=0, id=353, pos=[(1,41,9), (1,4698,13), (2,136,46)]) f_fraction__1: bits[10] = tuple_index(f, index=2, id=351, pos=[(1,40,40), (1,4698,13), (2,136,46)]) literal.352: bits[10] = literal(value=0, id=352, pos=[(1,43,20), (1,4698,13), (2,136,46)]) EXPR_MASK: bits[5] = literal(value=31, id=350, pos=[(1,39,36), (1,4698,13), (2,136,46)]) exp: bits[5] = add(f_bexp__1, literal.354, id=358, pos=[(1,266,6), (1,4272,31), (1,4708,47), (2,136,46)]) or.477: bits[1] = or(bit_slice.370, and_reduce.371, id=477, pos=[(1,4705,19), (2,136,46)]) eq.357: bits[1] = eq(f_bexp__1, literal.353, id=357, pos=[(1,4698,13), (2,136,46)]) eq.356: bits[1] = eq(f_fraction__1, literal.352, id=356, pos=[(1,4698,13), (2,136,46)]) eq.355: bits[1] = eq(f_bexp__1, EXPR_MASK, id=355, pos=[(1,4698,13), (2,136,46)]) literal.362: bits[10] = literal(value=1023, id=362, pos=[(1,4274,40), (1,4708,47), (2,136,46)]) sign_ext.363: bits[32] = sign_ext(exp, new_bit_count=32, id=363, pos=[(1,4708,47), (2,136,46)]) sign_ext.414: bits[10] = sign_ext(or.477, new_bit_count=10, id=414, pos=[(1,4705,19), (2,136,46)]) and.360: bits[1] = and(eq.357, eq.356, id=360, pos=[(1,4698,13), (2,136,46)]) and.359: bits[1] = and(eq.355, eq.356, id=359, pos=[(1,4698,13), (2,136,46)]) not.582: bits[1] = not(eq.355, id=582, pos=[(2,136,46)]) literal.375: bits[5] = literal(value=25, id=375, pos=[(1,4192,17), (1,4703,35), (2,136,46)]) not.478: bits[10] = not(f_fraction__1, id=478, pos=[(1,4705,19), (2,136,46)]) fractional_mask__2: bits[10] = shrl(literal.362, sign_ext.363, id=373, pos=[(1,4274,40), (1,4708,47), (2,136,46)]) not.479: bits[10] = not(sign_ext.414, id=479, pos=[(1,4705,19), (2,136,46)]) or.462: bits[1] = or(and.360, and.359, id=462, pos=[(2,136,46)]) nor.585: bits[1] = nor(not.582, eq.356, id=585, pos=[(2,136,46)]) ult.381: bits[1] = ult(f_bexp__1, literal.375, id=381, pos=[(1,4192,5), (1,4703,35), (2,136,46)]) nor.480: bits[10] = nor(not.478, fractional_mask__2, not.479, id=480, pos=[(1,4705,19), (2,136,46)]) or.514: bits[1] = or(or.462, nor.585, id=514, pos=[(2,136,46)]) sel.389: bits[10] = sel(ult.381, cases=[f_fraction__1, nor.480], id=389, pos=[(1,4703,12), (2,136,46)]) not.555: bits[1] = not(or.514, id=555, pos=[(2,136,46)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=386, pos=[(1,4277,21), (1,4708,47), (2,136,46)]) concat.461: bits[2] = concat(or.462, nor.585, id=461, pos=[(2,136,46)]) literal.547: bits[1] = literal(value=1, id=547, pos=[(1,4698,13), (2,136,46)]) literal.570: bits[1] = literal(value=0, id=570, pos=[(1,4698,13), (2,136,46)]) bit_slice.442: bits[1] = bit_slice(sel.389, start=9, width=1, id=442, pos=[(2,136,46)]) bit_slice.438: bits[9] = bit_slice(sel.389, start=0, width=9, id=438, pos=[(2,136,46)]) sign_ext.531: bits[9] = sign_ext(not.555, new_bit_count=9, id=531, pos=[(2,136,46)]) not.408: bits[1] = not(f_sign__1, id=408, pos=[(2,136,46)]) sign_ext.416: bits[5] = sign_ext(or.477, new_bit_count=5, id=416, pos=[(1,4703,12), (2,136,46)]) priority_sel.443: bits[1] = priority_sel(concat.461, cases=[literal.547, literal.570], default=bit_slice.442, id=443, pos=[(2,136,46)]) and.532: bits[9] = and(bit_slice.438, sign_ext.531, id=532, pos=[(2,136,46)]) nor.409: bits[1] = nor(nor.585, not.408, id=409, pos=[(2,136,46)]) and.417: bits[5] = and(f_bexp__1, sign_ext.416, id=417, pos=[(1,4703,12), (2,136,46)]) concat.444: bits[10] = concat(priority_sel.443, and.532, id=444, pos=[(2,136,46)]) ret tuple.393: (bits[1], bits[5], bits[10]) = tuple(nor.409, and.417, concat.444, id=393, pos=[(2,136,46)]) }