package float64 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/float64.x" top fn __float64__ceil_with_denorms(f: (bits[1], bits[11], bits[52]) id=204) -> (bits[1], bits[11], bits[52]) { f_bexp__1: bits[11] = tuple_index(f, index=1, id=472, pos=[(1,266,6), (1,4234,31), (1,4299,45), (2,178,68)]) literal.473: bits[11] = literal(value=1025, id=473, pos=[(1,266,6), (1,4268,31), (1,4302,47), (2,178,68)]) exp: bits[11] = add(f_bexp__1, literal.473, id=474, pos=[(1,266,6), (1,4268,31), (1,4302,47), (2,178,68)]) literal.475: bits[52] = literal(value=4503599627370495, id=475, pos=[(1,4270,40), (1,4302,47), (2,178,68)]) sign_ext.476: bits[32] = sign_ext(exp, new_bit_count=32, id=476, pos=[(1,4302,47), (2,178,68)]) literal.477: bits[1] = literal(value=0, id=477, pos=[(1,4295,45), (2,178,68)]) f_fraction__1: bits[52] = tuple_index(f, index=2, id=478, pos=[(1,4255,9), (1,4299,45), (2,178,68)]) fractional_mask__2: bits[52] = shrl(literal.475, sign_ext.476, id=479, pos=[(1,4270,40), (1,4302,47), (2,178,68)]) concat.480: bits[53] = concat(literal.477, f_fraction__1, id=480, pos=[(1,4299,45), (2,178,68)]) concat.481: bits[53] = concat(literal.477, fractional_mask__2, id=481, pos=[(1,4299,45), (2,178,68)]) fraction_up__2: bits[53] = add(concat.480, concat.481, id=485, pos=[(1,4255,9), (1,4299,45), (2,178,68)]) bit_slice.491: bits[52] = bit_slice(fraction_up__2, start=0, width=52, id=491, pos=[(1,4260,39), (1,4299,45), (2,178,68)]) bit_slice.494: bits[10] = bit_slice(f_bexp__1, start=0, width=10, id=494, pos=[(1,4215,5), (1,4289,43), (2,178,68)]) literal.484: bits[11] = literal(value=0, id=484, pos=[(1,4290,16), (2,178,68)]) literal.483: bits[52] = literal(value=0, id=483, pos=[(1,4289,19), (2,178,68)]) EXPR_MASK: bits[11] = literal(value=2047, id=482, pos=[(1,39,36), (1,4282,13), (2,178,68)]) bit_slice.490: bits[1] = bit_slice(fraction_up__2, start=52, width=1, id=490, pos=[(1,4258,46), (1,4299,45), (2,178,68)]) not.496: bits[52] = not(bit_slice.491, id=496, pos=[(1,4260,39), (1,4299,45), (2,178,68)]) not.497: bits[52] = not(f_fraction__1, id=497, pos=[(1,4272,29), (1,4302,47), (2,178,68)]) bit_slice.504: bits[1] = bit_slice(f_bexp__1, start=10, width=1, id=504, pos=[(1,4215,5), (1,4289,43), (2,178,68)]) and_reduce.505: bits[1] = and_reduce(bit_slice.494, id=505, pos=[(1,4215,5), (1,4289,43), (2,178,68)]) eq.488: bits[1] = eq(f_bexp__1, literal.484, id=488, pos=[(1,4282,13), (2,178,68)]) eq.487: bits[1] = eq(f_fraction__1, literal.483, id=487, pos=[(1,4282,13), (2,178,68)]) eq.486: bits[1] = eq(f_bexp__1, EXPR_MASK, id=486, pos=[(1,4282,13), (2,178,68)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=506, pos=[(1,4261,21), (1,4299,45), (2,178,68)]) not.637: bits[1] = not(bit_slice.490, id=637) fraction_integral__4: bits[52] = nor(not.496, fractional_mask__2, id=509, pos=[(1,4260,39), (1,4299,45), (2,178,68)]) fraction_integral__2: bits[52] = nor(not.497, fractional_mask__2, id=510, pos=[(1,4272,29), (1,4302,47), (2,178,68)]) or.611: bits[1] = or(bit_slice.504, and_reduce.505, id=611, pos=[(1,4289,19), (2,178,68)]) and.493: bits[1] = and(eq.488, eq.487, id=493, pos=[(1,4282,13), (2,178,68)]) and.492: bits[1] = and(eq.486, eq.487, id=492, pos=[(1,4282,13), (2,178,68)]) not.635: bits[1] = not(eq.486, id=635, pos=[(2,178,68)]) literal.489: bits[10] = literal(value=0, id=489, pos=[(1,4299,45), (2,178,68)]) nor.638: bits[1] = nor(f_sign__1, not.637, id=638) not.540: bits[1] = not(f_sign__1, id=540, pos=[(2,178,68)]) literal.512: bits[11] = literal(value=1075, id=512, pos=[(1,4188,17), (1,4287,35), (2,178,68)]) sel.516: bits[52] = sel(f_sign__1, cases=[fraction_integral__4, fraction_integral__2], id=516, pos=[(1,4297,19), (2,178,68)]) sign_ext.571: bits[52] = sign_ext(or.611, new_bit_count=52, id=571, pos=[(1,4289,19), (2,178,68)]) or.609: bits[1] = or(and.493, and.492, id=609, pos=[(2,178,68)]) nor.648: bits[1] = nor(not.635, eq.487, id=648, pos=[(2,178,68)]) concat.604: bits[11] = concat(literal.489, nor.638, id=604) sign_ext.644: bits[10] = sign_ext(not.540, new_bit_count=10, id=644, pos=[(1,4290,16), (2,178,68)]) ult.520: bits[1] = ult(f_bexp__1, literal.512, id=520, pos=[(1,4188,5), (1,4287,35), (2,178,68)]) and.572: bits[52] = and(sel.516, sign_ext.571, id=572, pos=[(1,4289,19), (2,178,68)]) or.626: bits[1] = or(or.609, nor.648, id=626, pos=[(2,178,68)]) nor.513: bits[1] = nor(bit_slice.504, and_reduce.505, id=513, pos=[(1,4215,5), (1,4289,43), (2,178,68)]) add.558: bits[11] = add(f_bexp__1, concat.604, id=558) concat.645: bits[11] = concat(literal.477, sign_ext.644, id=645, pos=[(1,4290,16), (2,178,68)]) sel.526: bits[52] = sel(ult.520, cases=[f_fraction__1, and.572], id=526, pos=[(1,4287,12), (2,178,68)]) not.646: bits[1] = not(or.626, id=646, pos=[(2,178,68)]) sel.521: bits[11] = sel(nor.513, cases=[add.558, concat.645], id=521, pos=[(1,4289,19), (2,178,68)]) concat.607: bits[2] = concat(or.609, nor.648, id=607, pos=[(2,178,68)]) literal.551: bits[1] = literal(value=1, id=551, pos=[(2,178,68)]) bit_slice.589: bits[1] = bit_slice(sel.526, start=51, width=1, id=589, pos=[(2,178,68)]) bit_slice.585: bits[51] = bit_slice(sel.526, start=0, width=51, id=585, pos=[(2,178,68)]) sign_ext.641: bits[51] = sign_ext(not.646, new_bit_count=51, id=641, pos=[(2,178,68)]) concat.606: bits[2] = concat(and.493, eq.486, id=606, pos=[(2,178,68)]) sel.524: bits[11] = sel(ult.520, cases=[f_bexp__1, sel.521], id=524, pos=[(1,4287,12), (2,178,68)]) priority_sel.590: bits[1] = priority_sel(concat.607, cases=[literal.551, literal.477], default=bit_slice.589, id=590, pos=[(2,178,68)]) and.642: bits[51] = and(bit_slice.585, sign_ext.641, id=642, pos=[(2,178,68)]) nor.541: bits[1] = nor(nor.648, not.540, id=541, pos=[(2,178,68)]) priority_sel.577: bits[11] = priority_sel(concat.606, cases=[EXPR_MASK, literal.484], default=sel.524, id=577, pos=[(2,178,68)]) concat.591: bits[52] = concat(priority_sel.590, and.642, id=591, pos=[(2,178,68)]) ret tuple.530: (bits[1], bits[11], bits[52]) = tuple(nor.541, priority_sel.577, concat.591, id=530, pos=[(2,178,68)]) }