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__floor_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=470, pos=[(1,266,6), (1,4234,31), (1,4505,45), (2,455,70)]) literal.471: bits[8] = literal(value=129, id=471, pos=[(1,266,6), (1,4268,31), (1,4508,47), (2,455,70)]) exp: bits[8] = add(f_bexp__1, literal.471, id=472, pos=[(1,266,6), (1,4268,31), (1,4508,47), (2,455,70)]) literal.473: bits[23] = literal(value=8388607, id=473, pos=[(1,4270,40), (1,4508,47), (2,455,70)]) sign_ext.474: bits[32] = sign_ext(exp, new_bit_count=32, id=474, pos=[(1,4508,47), (2,455,70)]) literal.475: bits[1] = literal(value=0, id=475, pos=[(1,4501,46), (2,455,70)]) f_fraction__1: bits[23] = tuple_index(f, index=2, id=476, pos=[(1,4255,9), (1,4505,45), (2,455,70)]) fractional_mask__2: bits[23] = shrl(literal.473, sign_ext.474, id=477, pos=[(1,4270,40), (1,4508,47), (2,455,70)]) concat.478: bits[24] = concat(literal.475, f_fraction__1, id=478, pos=[(1,4505,45), (2,455,70)]) concat.479: bits[24] = concat(literal.475, fractional_mask__2, id=479, pos=[(1,4505,45), (2,455,70)]) fraction_up__2: bits[24] = add(concat.478, concat.479, id=483, pos=[(1,4255,9), (1,4505,45), (2,455,70)]) bit_slice.489: bits[23] = bit_slice(fraction_up__2, start=0, width=23, id=489, pos=[(1,4260,39), (1,4505,45), (2,455,70)]) bit_slice.492: bits[7] = bit_slice(f_bexp__1, start=0, width=7, id=492, pos=[(1,4215,5), (1,4495,43), (2,455,70)]) literal.482: bits[8] = literal(value=0, id=482, pos=[(1,4496,16), (2,455,70)]) literal.481: bits[23] = literal(value=0, id=481, pos=[(1,4495,19), (2,455,70)]) EXPR_MASK: bits[8] = literal(value=255, id=480, pos=[(1,39,36), (1,4488,13), (2,455,70)]) not.494: bits[23] = not(f_fraction__1, id=494, pos=[(1,4272,29), (1,4508,47), (2,455,70)]) not.495: bits[23] = not(bit_slice.489, id=495, pos=[(1,4260,39), (1,4505,45), (2,455,70)]) bit_slice.502: bits[1] = bit_slice(f_bexp__1, start=7, width=1, id=502, pos=[(1,4215,5), (1,4495,43), (2,455,70)]) and_reduce.503: bits[1] = and_reduce(bit_slice.492, id=503, pos=[(1,4215,5), (1,4495,43), (2,455,70)]) eq.486: bits[1] = eq(f_bexp__1, literal.482, id=486, pos=[(1,4488,13), (2,455,70)]) eq.485: bits[1] = eq(f_fraction__1, literal.481, id=485, pos=[(1,4488,13), (2,455,70)]) eq.484: bits[1] = eq(f_bexp__1, EXPR_MASK, id=484, pos=[(1,4488,13), (2,455,70)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=504, pos=[(1,4273,21), (1,4508,47), (2,455,70)]) bit_slice.488: bits[1] = bit_slice(fraction_up__2, start=23, width=1, id=488, pos=[(1,4258,46), (1,4505,45), (2,455,70)]) fraction_integral__2: bits[23] = nor(not.494, fractional_mask__2, id=507, pos=[(1,4272,29), (1,4508,47), (2,455,70)]) fraction_integral__4: bits[23] = nor(not.495, fractional_mask__2, id=508, pos=[(1,4260,39), (1,4505,45), (2,455,70)]) or.607: bits[1] = or(bit_slice.502, and_reduce.503, id=607, pos=[(1,4495,19), (2,455,70)]) and.491: bits[1] = and(eq.486, eq.485, id=491, pos=[(1,4488,13), (2,455,70)]) and.490: bits[1] = and(eq.484, eq.485, id=490, pos=[(1,4488,13), (2,455,70)]) not.631: bits[1] = not(eq.484, id=631, pos=[(2,455,70)]) literal.487: bits[7] = literal(value=0, id=487, pos=[(1,4505,45), (2,455,70)]) and.599: bits[1] = and(f_sign__1, bit_slice.488, id=599) literal.510: bits[8] = literal(value=150, id=510, pos=[(1,4188,17), (1,4493,35), (2,455,70)]) sel.514: bits[23] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=514, pos=[(1,4503,19), (2,455,70)]) sign_ext.567: bits[23] = sign_ext(or.607, new_bit_count=23, id=567, pos=[(1,4495,19), (2,455,70)]) or.605: bits[1] = or(and.491, and.490, id=605, pos=[(2,455,70)]) nor.642: bits[1] = nor(not.631, eq.485, id=642, pos=[(2,455,70)]) concat.600: bits[8] = concat(literal.487, and.599, id=600) sign_ext.638: bits[7] = sign_ext(f_sign__1, new_bit_count=7, id=638, pos=[(1,4496,16), (2,455,70)]) ult.518: bits[1] = ult(f_bexp__1, literal.510, id=518, pos=[(1,4188,5), (1,4493,35), (2,455,70)]) and.568: bits[23] = and(sel.514, sign_ext.567, id=568, pos=[(1,4495,19), (2,455,70)]) or.622: bits[1] = or(or.605, nor.642, id=622, pos=[(2,455,70)]) nor.511: bits[1] = nor(bit_slice.502, and_reduce.503, id=511, pos=[(1,4215,5), (1,4495,43), (2,455,70)]) add.556: bits[8] = add(f_bexp__1, concat.600, id=556) concat.639: bits[8] = concat(literal.475, sign_ext.638, id=639, pos=[(1,4496,16), (2,455,70)]) sel.524: bits[23] = sel(ult.518, cases=[f_fraction__1, and.568], id=524, pos=[(1,4493,12), (2,455,70)]) not.640: bits[1] = not(or.622, id=640, pos=[(2,455,70)]) sel.519: bits[8] = sel(nor.511, cases=[add.556, concat.639], id=519, pos=[(1,4495,19), (2,455,70)]) concat.603: bits[2] = concat(or.605, nor.642, id=603, pos=[(2,455,70)]) literal.549: bits[1] = literal(value=1, id=549, pos=[(2,455,70)]) bit_slice.585: bits[1] = bit_slice(sel.524, start=22, width=1, id=585, pos=[(2,455,70)]) bit_slice.581: bits[22] = bit_slice(sel.524, start=0, width=22, id=581, pos=[(2,455,70)]) sign_ext.635: bits[22] = sign_ext(not.640, new_bit_count=22, id=635, pos=[(2,455,70)]) not.538: bits[1] = not(f_sign__1, id=538, pos=[(2,455,70)]) concat.602: bits[2] = concat(and.491, eq.484, id=602, pos=[(2,455,70)]) sel.522: bits[8] = sel(ult.518, cases=[f_bexp__1, sel.519], id=522, pos=[(1,4493,12), (2,455,70)]) priority_sel.586: bits[1] = priority_sel(concat.603, cases=[literal.549, literal.475], default=bit_slice.585, id=586, pos=[(2,455,70)]) and.636: bits[22] = and(bit_slice.581, sign_ext.635, id=636, pos=[(2,455,70)]) nor.539: bits[1] = nor(nor.642, not.538, id=539, pos=[(2,455,70)]) priority_sel.573: bits[8] = priority_sel(concat.602, cases=[EXPR_MASK, literal.482], default=sel.522, id=573, pos=[(2,455,70)]) concat.587: bits[23] = concat(priority_sel.586, and.636, id=587, pos=[(2,455,70)]) ret tuple.528: (bits[1], bits[8], bits[23]) = tuple(nor.539, priority_sel.573, concat.587, id=528, pos=[(2,455,70)]) }