package bfloat16 file_number 0 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 2 "/inputs/subtree/xls/dslx/stdlib/bfloat16.x" top fn __bfloat16__floor_daz(f: (bits[1], bits[8], bits[7]) id=219) -> (bits[1], bits[8], bits[7]) { f_bexp__2: bits[8] = tuple_index(f, index=1, id=570, pos=[(0,804,5), (0,809,27), (0,4600,41), (2,184,54)]) literal.574: bits[8] = literal(value=129, id=574, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,184,54)]) exp: bits[8] = add(f_bexp__2, literal.574, id=575, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,184,54)]) literal.578: bits[7] = literal(value=127, id=578, pos=[(0,4270,40), (0,4508,47), (0,4600,22), (2,184,54)]) sign_ext.579: bits[32] = sign_ext(exp, new_bit_count=32, id=579, pos=[(0,4508,47), (0,4600,22), (2,184,54)]) literal.580: bits[1] = literal(value=0, id=580, pos=[(0,4501,46), (0,4600,22), (2,184,54)]) tuple_index.576: bits[7] = tuple_index(f, index=2, id=576, pos=[(0,809,4), (0,4600,41), (2,184,54)]) fractional_mask__2: bits[7] = shrl(literal.578, sign_ext.579, id=582, pos=[(0,4270,40), (0,4508,47), (0,4600,22), (2,184,54)]) concat.583: bits[8] = concat(literal.580, tuple_index.576, id=583, pos=[(0,4505,45), (0,4600,22), (2,184,54)]) concat.584: bits[8] = concat(literal.580, fractional_mask__2, id=584, pos=[(0,4505,45), (0,4600,22), (2,184,54)]) fraction_up__2: bits[8] = add(concat.583, concat.584, id=586, pos=[(0,4255,9), (0,4505,45), (0,4600,22), (2,184,54)]) literal.571: bits[8] = literal(value=0, id=571, pos=[(0,804,14), (0,809,27), (0,4600,41), (2,184,54)]) bit_slice.591: bits[7] = bit_slice(fraction_up__2, start=0, width=7, id=591, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,184,54)]) bit_slice.594: bits[7] = bit_slice(f_bexp__2, start=0, width=7, id=594, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,184,54)]) eq.572: bits[1] = eq(f_bexp__2, literal.571, id=572, pos=[(0,804,5), (0,809,27), (0,4600,41), (2,184,54)]) literal.577: bits[7] = literal(value=0, id=577, pos=[(0,131,73), (0,809,37), (0,4600,41), (2,184,54)]) not.596: bits[7] = not(tuple_index.576, id=596, pos=[(0,4272,29), (0,4508,47), (0,4600,22), (2,184,54)]) not.597: bits[7] = not(bit_slice.591, id=597, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,184,54)]) bit_slice.604: bits[1] = bit_slice(f_bexp__2, start=7, width=1, id=604, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,184,54)]) and_reduce.605: bits[1] = and_reduce(bit_slice.594, id=605, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,184,54)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=606, pos=[(0,809,60), (0,4600,41), (2,184,54)]) bit_slice.590: bits[1] = bit_slice(fraction_up__2, start=7, width=1, id=590, pos=[(0,4258,46), (0,4505,45), (0,4600,22), (2,184,54)]) EXPR_MASK: bits[8] = literal(value=255, id=585, pos=[(0,39,36), (0,4488,13), (0,4600,22), (2,184,54)]) not.668: bits[1] = not(eq.572, id=668, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) ne.666: bits[1] = ne(tuple_index.576, literal.577, id=666, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) fraction_integral__2: bits[7] = nor(not.596, fractional_mask__2, id=609, pos=[(0,4272,29), (0,4508,47), (0,4600,22), (2,184,54)]) fraction_integral__4: bits[7] = nor(not.597, fractional_mask__2, id=610, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,184,54)]) or.727: bits[1] = or(bit_slice.604, and_reduce.605, id=727, pos=[(0,4495,19), (0,4600,22), (2,184,54)]) and.718: bits[1] = and(f_sign__1, bit_slice.590, id=718) eq.587: bits[1] = eq(f_bexp__2, EXPR_MASK, id=587, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) nand.669: bits[1] = nand(not.668, ne.666, id=669, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) literal.612: bits[8] = literal(value=134, id=612, pos=[(0,4188,17), (0,4493,35), (0,4600,22), (2,184,54)]) sel.616: bits[7] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=616, pos=[(0,4503,19), (0,4600,22), (2,184,54)]) sign_ext.686: bits[7] = sign_ext(or.727, new_bit_count=7, id=686, pos=[(0,4495,19), (0,4600,22), (2,184,54)]) concat.719: bits[8] = concat(literal.577, and.718, id=719) sign_ext.760: bits[7] = sign_ext(f_sign__1, new_bit_count=7, id=760, pos=[(0,4496,16), (0,4600,22), (2,184,54)]) and.592: bits[1] = and(eq.587, nand.669, id=592, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) ult.620: bits[1] = ult(f_bexp__2, literal.612, id=620, pos=[(0,4188,5), (0,4493,35), (0,4600,22), (2,184,54)]) and.687: bits[7] = and(sel.616, sign_ext.686, id=687, pos=[(0,4495,19), (0,4600,22), (2,184,54)]) nor.613: bits[1] = nor(bit_slice.604, and_reduce.605, id=613, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,184,54)]) add.675: bits[8] = add(f_bexp__2, concat.719, id=675) concat.761: bits[8] = concat(literal.580, sign_ext.760, id=761, pos=[(0,4496,16), (0,4600,22), (2,184,54)]) or.724: bits[1] = or(eq.572, and.592, id=724, pos=[(0,4600,22), (2,184,54)]) and.766: bits[1] = and(eq.587, ne.666, id=766, pos=[(0,4600,22), (2,184,54)]) sel.626: bits[7] = sel(ult.620, cases=[tuple_index.576, and.687], id=626, pos=[(0,4493,12), (0,4600,22), (2,184,54)]) nor.763: bits[1] = nor(eq.572, eq.587, id=763, pos=[(0,4600,22), (2,184,54)]) sel.621: bits[8] = sel(nor.613, cases=[add.675, concat.761], id=621, pos=[(0,4495,19), (0,4600,22), (2,184,54)]) concat.722: bits[2] = concat(or.724, and.766, id=722, pos=[(0,4600,22), (2,184,54)]) literal.650: bits[1] = literal(value=1, id=650, pos=[(0,4488,13), (0,4600,22), (2,184,54)]) bit_slice.704: bits[1] = bit_slice(sel.626, start=6, width=1, id=704, pos=[(0,4600,22), (2,184,54)]) bit_slice.700: bits[6] = bit_slice(sel.626, start=0, width=6, id=700, pos=[(0,4600,22), (2,184,54)]) sign_ext.757: bits[6] = sign_ext(nor.763, new_bit_count=6, id=757, pos=[(0,4600,22), (2,184,54)]) not.637: bits[1] = not(f_sign__1, id=637, pos=[(0,4600,22), (2,184,54)]) concat.721: bits[2] = concat(eq.572, eq.587, id=721, pos=[(0,4600,22), (2,184,54)]) sel.624: bits[8] = sel(ult.620, cases=[f_bexp__2, sel.621], id=624, pos=[(0,4493,12), (0,4600,22), (2,184,54)]) priority_sel.705: bits[1] = priority_sel(concat.722, cases=[literal.650, literal.580], default=bit_slice.704, id=705, pos=[(0,4600,22), (2,184,54)]) and.758: bits[6] = and(bit_slice.700, sign_ext.757, id=758, pos=[(0,4600,22), (2,184,54)]) nor.638: bits[1] = nor(and.766, not.637, id=638, pos=[(0,4600,22), (2,184,54)]) priority_sel.692: bits[8] = priority_sel(concat.721, cases=[EXPR_MASK, literal.571], default=sel.624, id=692, pos=[(0,4600,22), (2,184,54)]) concat.706: bits[7] = concat(priority_sel.705, and.758, id=706, pos=[(0,4600,22), (2,184,54)]) ret tuple.630: (bits[1], bits[8], bits[7]) = tuple(nor.638, priority_sel.692, concat.706, id=630, pos=[(0,4600,22), (2,184,54)]) }