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,4268,31), (1,4704,47), (2,136,46)]) bit_slice.361: bits[4] = bit_slice(f_bexp__1, start=0, width=4, id=361, pos=[(1,4215,5), (1,4701,43), (2,136,46)]) literal.354: bits[5] = literal(value=17, id=354, pos=[(1,266,6), (1,4268,31), (1,4704,47), (2,136,46)]) bit_slice.370: bits[1] = bit_slice(f_bexp__1, start=4, width=1, id=370, pos=[(1,4215,5), (1,4701,43), (2,136,46)]) and_reduce.371: bits[1] = and_reduce(bit_slice.361, id=371, pos=[(1,4215,5), (1,4701,43), (2,136,46)]) literal.353: bits[5] = literal(value=0, id=353, pos=[(1,41,9), (1,4694,13), (2,136,46)]) f_fraction__1: bits[10] = tuple_index(f, index=2, id=351, pos=[(1,40,40), (1,4694,13), (2,136,46)]) literal.352: bits[10] = literal(value=0, id=352, pos=[(1,41,23), (1,4694,13), (2,136,46)]) EXPR_MASK: bits[5] = literal(value=31, id=350, pos=[(1,39,36), (1,4694,13), (2,136,46)]) exp: bits[5] = add(f_bexp__1, literal.354, id=358, pos=[(1,266,6), (1,4268,31), (1,4704,47), (2,136,46)]) or.423: bits[1] = or(bit_slice.370, and_reduce.371, id=423, pos=[(1,4699,12), (2,136,46)]) eq.357: bits[1] = eq(f_bexp__1, literal.353, id=357, pos=[(1,4694,13), (2,136,46)]) eq.356: bits[1] = eq(f_fraction__1, literal.352, id=356, pos=[(1,4694,13), (2,136,46)]) eq.355: bits[1] = eq(f_bexp__1, EXPR_MASK, id=355, pos=[(1,4694,13), (2,136,46)]) literal.362: bits[10] = literal(value=1023, id=362, pos=[(1,4270,40), (1,4704,47), (2,136,46)]) sign_ext.363: bits[32] = sign_ext(exp, new_bit_count=32, id=363, pos=[(1,4704,47), (2,136,46)]) sign_ext.430: bits[10] = sign_ext(or.423, new_bit_count=10, id=430, pos=[(1,4701,19), (2,136,46)]) and.360: bits[1] = and(eq.357, eq.356, id=360, pos=[(1,4694,13), (2,136,46)]) and.359: bits[1] = and(eq.355, eq.356, id=359, pos=[(1,4694,13), (2,136,46)]) not.481: bits[1] = not(eq.355, id=481, pos=[(2,136,46)]) literal.375: bits[5] = literal(value=25, id=375, pos=[(1,4188,17), (1,4699,35), (2,136,46)]) not.461: bits[10] = not(f_fraction__1, id=461, pos=[(1,4701,19), (2,136,46)]) fractional_mask__2: bits[10] = shrl(literal.362, sign_ext.363, id=373, pos=[(1,4270,40), (1,4704,47), (2,136,46)]) not.462: bits[10] = not(sign_ext.430, id=462, pos=[(1,4701,19), (2,136,46)]) or.459: bits[1] = or(and.360, and.359, id=459, pos=[(2,136,46)]) nor.489: bits[1] = nor(not.481, eq.356, id=489, pos=[(2,136,46)]) ult.381: bits[1] = ult(f_bexp__1, literal.375, id=381, pos=[(1,4188,5), (1,4699,35), (2,136,46)]) nor.463: bits[10] = nor(not.461, fractional_mask__2, not.462, id=463, pos=[(1,4701,19), (2,136,46)]) or.476: bits[1] = or(or.459, nor.489, id=476, pos=[(2,136,46)]) sel.389: bits[10] = sel(ult.381, cases=[f_fraction__1, nor.463], id=389, pos=[(1,4699,12), (2,136,46)]) not.487: bits[1] = not(or.476, id=487, pos=[(2,136,46)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=386, pos=[(1,4273,21), (1,4704,47), (2,136,46)]) concat.457: bits[2] = concat(or.459, nor.489, id=457, pos=[(2,136,46)]) literal.421: bits[1] = literal(value=1, id=421, pos=[(2,136,46)]) literal.418: bits[1] = literal(value=0, id=418, pos=[(2,136,46)]) bit_slice.445: bits[1] = bit_slice(sel.389, start=9, width=1, id=445, pos=[(2,136,46)]) bit_slice.441: bits[9] = bit_slice(sel.389, start=0, width=9, id=441, pos=[(2,136,46)]) sign_ext.485: bits[9] = sign_ext(not.487, new_bit_count=9, id=485, pos=[(2,136,46)]) not.408: bits[1] = not(f_sign__1, id=408, pos=[(2,136,46)]) sign_ext.432: bits[5] = sign_ext(or.423, new_bit_count=5, id=432, pos=[(1,4699,12), (2,136,46)]) priority_sel.446: bits[1] = priority_sel(concat.457, cases=[literal.421, literal.418], default=bit_slice.445, id=446, pos=[(2,136,46)]) and.486: bits[9] = and(bit_slice.441, sign_ext.485, id=486, pos=[(2,136,46)]) nor.409: bits[1] = nor(nor.489, not.408, id=409, pos=[(2,136,46)]) and.433: bits[5] = and(f_bexp__1, sign_ext.432, id=433, pos=[(1,4699,12), (2,136,46)]) concat.447: bits[10] = concat(priority_sel.446, and.486, id=447, pos=[(2,136,46)]) ret tuple.393: (bits[1], bits[5], bits[10]) = tuple(nor.409, and.433, concat.447, id=393, pos=[(2,136,46)]) }