package float32 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/float32.x" top fn __float32__ceil_with_denorms(f: (bits[1], bits[8], bits[23]) id=204) -> (bits[1], bits[8], bits[23]) { f_bexp__1: bits[8] = tuple_index(f, index=1, id=472, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,451,68)]) literal.473: bits[8] = literal(value=129, id=473, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,451,68)]) exp__1: bits[8] = add(f_bexp__1, literal.473, id=474, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,451,68)]) literal.475: bits[23] = literal(value=8388607, id=475, pos=[(1,4240,40), (1,4303,45), (2,451,68)]) sign_ext.476: bits[32] = sign_ext(exp__1, new_bit_count=32, id=476, pos=[(1,4303,45), (2,451,68)]) literal.477: bits[1] = literal(value=0, id=477, pos=[(1,4303,45), (2,451,68)]) f_fraction__1: bits[23] = tuple_index(f, index=2, id=478, pos=[(1,4259,9), (1,4303,45), (2,451,68)]) fractional_mask__1: bits[23] = shrl(literal.475, sign_ext.476, id=479, pos=[(1,4240,40), (1,4303,45), (2,451,68)]) concat.480: bits[24] = concat(literal.477, f_fraction__1, id=480, pos=[(1,4303,45), (2,451,68)]) concat.481: bits[24] = concat(literal.477, fractional_mask__1, id=481, pos=[(1,4303,45), (2,451,68)]) fraction_up__2: bits[24] = add(concat.480, concat.481, id=485, pos=[(1,4259,9), (1,4303,45), (2,451,68)]) bit_slice.491: bits[23] = bit_slice(fraction_up__2, start=0, width=23, id=491, pos=[(1,4264,39), (1,4303,45), (2,451,68)]) bit_slice.494: bits[7] = bit_slice(f_bexp__1, start=0, width=7, id=494, pos=[(1,4219,5), (1,4293,43), (2,451,68)]) literal.484: bits[8] = literal(value=0, id=484, pos=[(1,41,9), (1,4286,13), (2,451,68)]) literal.483: bits[23] = literal(value=0, id=483, pos=[(1,43,20), (1,4286,13), (2,451,68)]) EXPR_MASK: bits[8] = literal(value=255, id=482, pos=[(1,39,36), (1,4286,13), (2,451,68)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=506, pos=[(1,4265,21), (1,4303,45), (2,451,68)]) not.496: bits[23] = not(bit_slice.491, id=496, pos=[(1,4264,39), (1,4303,45), (2,451,68)]) not.497: bits[23] = not(f_fraction__1, id=497, pos=[(1,4276,29), (1,4306,47), (2,451,68)]) bit_slice.504: bits[1] = bit_slice(f_bexp__1, start=7, width=1, id=504, pos=[(1,4219,5), (1,4293,43), (2,451,68)]) and_reduce.505: bits[1] = and_reduce(bit_slice.494, id=505, pos=[(1,4219,5), (1,4293,43), (2,451,68)]) eq.488: bits[1] = eq(f_bexp__1, literal.484, id=488, pos=[(1,4286,13), (2,451,68)]) eq.487: bits[1] = eq(f_fraction__1, literal.483, id=487, pos=[(1,4286,13), (2,451,68)]) eq.486: bits[1] = eq(f_bexp__1, EXPR_MASK, id=486, pos=[(1,4286,13), (2,451,68)]) literal.489: bits[7] = literal(value=0, id=489, pos=[(1,4303,45), (2,451,68)]) bit_slice.490: bits[1] = bit_slice(fraction_up__2, start=23, width=1, id=490, pos=[(1,4262,46), (1,4303,45), (2,451,68)]) not.548: bits[1] = not(f_sign__1, id=548) fraction_integral__4: bits[23] = nor(not.496, fractional_mask__1, id=509, pos=[(1,4264,39), (1,4303,45), (2,451,68)]) fraction_integral__2: bits[23] = nor(not.497, fractional_mask__1, id=510, pos=[(1,4276,29), (1,4306,47), (2,451,68)]) or.625: bits[1] = or(bit_slice.504, and_reduce.505, id=625, pos=[(1,4293,19), (2,451,68)]) and.493: bits[1] = and(eq.488, eq.487, id=493, pos=[(1,4286,13), (2,451,68)]) and.492: bits[1] = and(eq.486, eq.487, id=492, pos=[(1,4286,13), (2,451,68)]) not.733: bits[1] = not(eq.486, id=733, pos=[(2,451,68)]) concat.495: bits[8] = concat(literal.489, bit_slice.490, id=495, pos=[(1,4303,45), (2,451,68)]) sign_ext.549: bits[8] = sign_ext(not.548, new_bit_count=8, id=549) literal.512: bits[8] = literal(value=150, id=512, pos=[(1,4192,17), (1,4291,35), (2,451,68)]) sel.516: bits[23] = sel(f_sign__1, cases=[fraction_integral__4, fraction_integral__2], id=516, pos=[(1,4301,19), (2,451,68)]) sign_ext.555: bits[23] = sign_ext(or.625, new_bit_count=23, id=555, pos=[(1,4293,19), (2,451,68)]) or.614: bits[1] = or(and.493, and.492, id=614, pos=[(2,451,68)]) nor.739: bits[1] = nor(not.733, eq.487, id=739, pos=[(2,451,68)]) and.550: bits[8] = and(concat.495, sign_ext.549, id=550) bit_slice.661: bits[7] = bit_slice(sign_ext.549, start=0, width=7, id=661, pos=[(1,4294,16), (2,451,68)]) ult.520: bits[1] = ult(f_bexp__1, literal.512, id=520, pos=[(1,4192,5), (1,4291,35), (2,451,68)]) and.556: bits[23] = and(sel.516, sign_ext.555, id=556, pos=[(1,4293,19), (2,451,68)]) or.660: bits[1] = or(or.614, nor.739, id=660, pos=[(2,451,68)]) nor.513: bits[1] = nor(bit_slice.504, and_reduce.505, id=513, pos=[(1,4219,5), (1,4293,43), (2,451,68)]) add.547: bits[8] = add(f_bexp__1, and.550, id=547) concat.687: bits[8] = concat(literal.477, bit_slice.661, id=687, pos=[(1,4294,16), (2,451,68)]) sel.526: bits[23] = sel(ult.520, cases=[f_fraction__1, and.556], id=526, pos=[(1,4291,12), (2,451,68)]) not.706: bits[1] = not(or.660, id=706, pos=[(2,451,68)]) sel.521: bits[8] = sel(nor.513, cases=[add.547, concat.687], id=521, pos=[(1,4293,19), (2,451,68)]) concat.608: bits[2] = concat(or.614, nor.739, id=608, pos=[(2,451,68)]) literal.698: bits[1] = literal(value=1, id=698, pos=[(1,4286,13), (2,451,68)]) bit_slice.586: bits[1] = bit_slice(sel.526, start=22, width=1, id=586, pos=[(2,451,68)]) bit_slice.582: bits[22] = bit_slice(sel.526, start=0, width=22, id=582, pos=[(2,451,68)]) sign_ext.681: bits[22] = sign_ext(not.706, new_bit_count=22, id=681, pos=[(2,451,68)]) concat.607: bits[2] = concat(and.493, eq.486, id=607, pos=[(2,451,68)]) sel.524: bits[8] = sel(ult.520, cases=[f_bexp__1, sel.521], id=524, pos=[(1,4291,12), (2,451,68)]) priority_sel.587: bits[1] = priority_sel(concat.608, cases=[literal.698, literal.477], default=bit_slice.586, id=587, pos=[(2,451,68)]) and.682: bits[22] = and(bit_slice.582, sign_ext.681, id=682, pos=[(2,451,68)]) nor.541: bits[1] = nor(nor.739, not.548, id=541, pos=[(2,451,68)]) priority_sel.561: bits[8] = priority_sel(concat.607, cases=[EXPR_MASK, literal.484], default=sel.524, id=561, pos=[(2,451,68)]) concat.588: bits[23] = concat(priority_sel.587, and.682, id=588, pos=[(2,451,68)]) ret tuple.530: (bits[1], bits[8], bits[23]) = tuple(nor.541, priority_sel.561, concat.588, id=530, pos=[(2,451,68)]) }