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__ceil_with_denorms(f: (bits[1], bits[5], bits[10]) id=204) -> (bits[1], bits[5], bits[10]) { f_bexp__1: bits[5] = tuple_index(f, index=1, id=472, pos=[(1,266,6), (1,4234,31), (1,4299,45), (2,128,70)]) literal.473: bits[5] = literal(value=17, id=473, pos=[(1,266,6), (1,4268,31), (1,4302,47), (2,128,70)]) exp: bits[5] = add(f_bexp__1, literal.473, id=474, pos=[(1,266,6), (1,4268,31), (1,4302,47), (2,128,70)]) literal.475: bits[10] = literal(value=1023, id=475, pos=[(1,4270,40), (1,4302,47), (2,128,70)]) sign_ext.476: bits[32] = sign_ext(exp, new_bit_count=32, id=476, pos=[(1,4302,47), (2,128,70)]) literal.477: bits[1] = literal(value=0, id=477, pos=[(1,4295,45), (2,128,70)]) f_fraction__1: bits[10] = tuple_index(f, index=2, id=478, pos=[(1,4255,9), (1,4299,45), (2,128,70)]) fractional_mask__2: bits[10] = shrl(literal.475, sign_ext.476, id=479, pos=[(1,4270,40), (1,4302,47), (2,128,70)]) concat.480: bits[11] = concat(literal.477, f_fraction__1, id=480, pos=[(1,4299,45), (2,128,70)]) concat.481: bits[11] = concat(literal.477, fractional_mask__2, id=481, pos=[(1,4299,45), (2,128,70)]) fraction_up__2: bits[11] = add(concat.480, concat.481, id=485, pos=[(1,4255,9), (1,4299,45), (2,128,70)]) bit_slice.491: bits[10] = bit_slice(fraction_up__2, start=0, width=10, id=491, pos=[(1,4260,39), (1,4299,45), (2,128,70)]) bit_slice.494: bits[4] = bit_slice(f_bexp__1, start=0, width=4, id=494, pos=[(1,4215,5), (1,4289,43), (2,128,70)]) literal.484: bits[5] = literal(value=0, id=484, pos=[(1,4290,16), (2,128,70)]) literal.483: bits[10] = literal(value=0, id=483, pos=[(1,4289,19), (2,128,70)]) EXPR_MASK: bits[5] = literal(value=31, id=482, pos=[(1,39,36), (1,4282,13), (2,128,70)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=506, pos=[(1,4261,21), (1,4299,45), (2,128,70)]) not.496: bits[10] = not(bit_slice.491, id=496, pos=[(1,4260,39), (1,4299,45), (2,128,70)]) not.497: bits[10] = not(f_fraction__1, id=497, pos=[(1,4272,29), (1,4302,47), (2,128,70)]) bit_slice.504: bits[1] = bit_slice(f_bexp__1, start=4, width=1, id=504, pos=[(1,4215,5), (1,4289,43), (2,128,70)]) and_reduce.505: bits[1] = and_reduce(bit_slice.494, id=505, pos=[(1,4215,5), (1,4289,43), (2,128,70)]) eq.488: bits[1] = eq(f_bexp__1, literal.484, id=488, pos=[(1,4282,13), (2,128,70)]) eq.487: bits[1] = eq(f_fraction__1, literal.483, id=487, pos=[(1,4282,13), (2,128,70)]) eq.486: bits[1] = eq(f_bexp__1, EXPR_MASK, id=486, pos=[(1,4282,13), (2,128,70)]) literal.489: bits[4] = literal(value=0, id=489, pos=[(1,4299,45), (2,128,70)]) bit_slice.490: bits[1] = bit_slice(fraction_up__2, start=10, width=1, id=490, pos=[(1,4258,46), (1,4299,45), (2,128,70)]) not.540: bits[1] = not(f_sign__1, id=540, pos=[(2,128,70)]) fraction_integral__4: bits[10] = nor(not.496, fractional_mask__2, id=509, pos=[(1,4260,39), (1,4299,45), (2,128,70)]) fraction_integral__2: bits[10] = nor(not.497, fractional_mask__2, id=510, pos=[(1,4272,29), (1,4302,47), (2,128,70)]) or.608: bits[1] = or(bit_slice.504, and_reduce.505, id=608, pos=[(1,4289,19), (2,128,70)]) and.493: bits[1] = and(eq.488, eq.487, id=493, pos=[(1,4282,13), (2,128,70)]) and.492: bits[1] = and(eq.486, eq.487, id=492, pos=[(1,4282,13), (2,128,70)]) not.631: bits[1] = not(eq.486, id=631, pos=[(2,128,70)]) concat.495: bits[5] = concat(literal.489, bit_slice.490, id=495, pos=[(1,4299,45), (2,128,70)]) sign_ext.560: bits[5] = sign_ext(not.540, new_bit_count=5, id=560) literal.512: bits[5] = literal(value=25, id=512, pos=[(1,4188,17), (1,4287,35), (2,128,70)]) sel.516: bits[10] = sel(f_sign__1, cases=[fraction_integral__4, fraction_integral__2], id=516, pos=[(1,4297,19), (2,128,70)]) sign_ext.571: bits[10] = sign_ext(or.608, new_bit_count=10, id=571, pos=[(1,4289,19), (2,128,70)]) or.606: bits[1] = or(and.493, and.492, id=606, pos=[(2,128,70)]) nor.643: bits[1] = nor(not.631, eq.487, id=643, pos=[(2,128,70)]) and.561: bits[5] = and(concat.495, sign_ext.560, id=561) bit_slice.625: bits[4] = bit_slice(sign_ext.560, start=0, width=4, id=625, pos=[(1,4290,16), (2,128,70)]) ult.520: bits[1] = ult(f_bexp__1, literal.512, id=520, pos=[(1,4188,5), (1,4287,35), (2,128,70)]) and.572: bits[10] = and(sel.516, sign_ext.571, id=572, pos=[(1,4289,19), (2,128,70)]) or.622: bits[1] = or(or.606, nor.643, id=622, pos=[(2,128,70)]) nor.513: bits[1] = nor(bit_slice.504, and_reduce.505, id=513, pos=[(1,4215,5), (1,4289,43), (2,128,70)]) add.558: bits[5] = add(f_bexp__1, and.561, id=558) concat.637: bits[5] = concat(literal.477, bit_slice.625, id=637, pos=[(1,4290,16), (2,128,70)]) sel.526: bits[10] = sel(ult.520, cases=[f_fraction__1, and.572], id=526, pos=[(1,4287,12), (2,128,70)]) not.638: bits[1] = not(or.622, id=638, pos=[(2,128,70)]) sel.521: bits[5] = sel(nor.513, cases=[add.558, concat.637], id=521, pos=[(1,4289,19), (2,128,70)]) concat.604: bits[2] = concat(or.606, nor.643, id=604, pos=[(2,128,70)]) literal.551: bits[1] = literal(value=1, id=551, pos=[(2,128,70)]) bit_slice.589: bits[1] = bit_slice(sel.526, start=9, width=1, id=589, pos=[(2,128,70)]) bit_slice.585: bits[9] = bit_slice(sel.526, start=0, width=9, id=585, pos=[(2,128,70)]) sign_ext.635: bits[9] = sign_ext(not.638, new_bit_count=9, id=635, pos=[(2,128,70)]) concat.603: bits[2] = concat(and.493, eq.486, id=603, pos=[(2,128,70)]) sel.524: bits[5] = sel(ult.520, cases=[f_bexp__1, sel.521], id=524, pos=[(1,4287,12), (2,128,70)]) priority_sel.590: bits[1] = priority_sel(concat.604, cases=[literal.551, literal.477], default=bit_slice.589, id=590, pos=[(2,128,70)]) and.636: bits[9] = and(bit_slice.585, sign_ext.635, id=636, pos=[(2,128,70)]) nor.541: bits[1] = nor(nor.643, not.540, id=541, pos=[(2,128,70)]) priority_sel.577: bits[5] = priority_sel(concat.603, cases=[EXPR_MASK, literal.484], default=sel.524, id=577, pos=[(2,128,70)]) concat.591: bits[10] = concat(priority_sel.590, and.636, id=591, pos=[(2,128,70)]) ret tuple.530: (bits[1], bits[5], bits[10]) = tuple(nor.541, priority_sel.577, concat.591, id=530, pos=[(2,128,70)]) }