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,4604,41), (2,184,54)]) literal.574: bits[8] = literal(value=129, id=574, pos=[(0,266,6), (0,4238,31), (0,4509,45), (0,4604,22), (2,184,54)]) exp__1: bits[8] = add(f_bexp__2, literal.574, id=575, pos=[(0,266,6), (0,4238,31), (0,4509,45), (0,4604,22), (2,184,54)]) literal.578: bits[7] = literal(value=127, id=578, pos=[(0,4240,40), (0,4509,45), (0,4604,22), (2,184,54)]) sign_ext.579: bits[32] = sign_ext(exp__1, new_bit_count=32, id=579, pos=[(0,4509,45), (0,4604,22), (2,184,54)]) literal.580: bits[1] = literal(value=0, id=580, pos=[(0,4509,45), (0,4604,22), (2,184,54)]) tuple_index.576: bits[7] = tuple_index(f, index=2, id=576, pos=[(0,809,4), (0,4604,41), (2,184,54)]) fractional_mask__1: bits[7] = shrl(literal.578, sign_ext.579, id=582, pos=[(0,4240,40), (0,4509,45), (0,4604,22), (2,184,54)]) literal.571: bits[8] = literal(value=0, id=571, pos=[(0,804,14), (0,809,27), (0,4604,41), (2,184,54)]) concat.583: bits[8] = concat(literal.580, tuple_index.576, id=583, pos=[(0,4509,45), (0,4604,22), (2,184,54)]) concat.584: bits[8] = concat(literal.580, fractional_mask__1, id=584, pos=[(0,4509,45), (0,4604,22), (2,184,54)]) eq.572: bits[1] = eq(f_bexp__2, literal.571, id=572, pos=[(0,804,5), (0,809,27), (0,4604,41), (2,184,54)]) fraction_up__2: bits[8] = add(concat.583, concat.584, id=586, pos=[(0,4259,9), (0,4509,45), (0,4604,22), (2,184,54)]) not.647: bits[1] = not(eq.572, id=647, pos=[(0,809,4), (0,4604,41), (2,184,54)]) bit_slice.591: bits[7] = bit_slice(fraction_up__2, start=0, width=7, id=591, pos=[(0,4264,39), (0,4509,45), (0,4604,22), (2,184,54)]) bit_slice.594: bits[7] = bit_slice(f_bexp__2, start=0, width=7, id=594, pos=[(0,4219,5), (0,4499,43), (0,4604,22), (2,184,54)]) sign_ext.648: bits[7] = sign_ext(not.647, new_bit_count=7, id=648, pos=[(0,809,4), (0,4604,41), (2,184,54)]) not.596: bits[7] = not(tuple_index.576, id=596, pos=[(0,4276,29), (0,4512,47), (0,4604,22), (2,184,54)]) not.597: bits[7] = not(bit_slice.591, id=597, pos=[(0,4264,39), (0,4509,45), (0,4604,22), (2,184,54)]) bit_slice.604: bits[1] = bit_slice(f_bexp__2, start=7, width=1, id=604, pos=[(0,4219,5), (0,4499,43), (0,4604,22), (2,184,54)]) and_reduce.605: bits[1] = and_reduce(bit_slice.594, id=605, pos=[(0,4219,5), (0,4499,43), (0,4604,22), (2,184,54)]) literal.577: bits[7] = literal(value=0, id=577, pos=[(0,131,73), (0,809,37), (0,4604,41), (2,184,54)]) bit_slice.590: bits[1] = bit_slice(fraction_up__2, start=7, width=1, id=590, pos=[(0,4262,46), (0,4509,45), (0,4604,22), (2,184,54)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=606, pos=[(0,809,60), (0,4604,41), (2,184,54)]) EXPR_MASK: bits[8] = literal(value=255, id=585, pos=[(0,39,36), (0,4492,13), (0,4604,22), (2,184,54)]) f_fraction__1: bits[7] = and(tuple_index.576, sign_ext.648, id=649, pos=[(0,809,4), (0,4604,41), (2,184,54)]) fraction_integral__2: bits[7] = nor(not.596, fractional_mask__1, id=609, pos=[(0,4276,29), (0,4512,47), (0,4604,22), (2,184,54)]) fraction_integral__4: bits[7] = nor(not.597, fractional_mask__1, id=610, pos=[(0,4264,39), (0,4509,45), (0,4604,22), (2,184,54)]) or.725: bits[1] = or(bit_slice.604, and_reduce.605, id=725, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) concat.595: bits[8] = concat(literal.577, bit_slice.590, id=595, pos=[(0,4509,45), (0,4604,22), (2,184,54)]) sign_ext.650: bits[8] = sign_ext(f_sign__1, new_bit_count=8, id=650) eq.587: bits[1] = eq(f_bexp__2, EXPR_MASK, id=587, pos=[(0,4492,13), (0,4604,22), (2,184,54)]) eq.588: bits[1] = eq(f_fraction__1, literal.577, id=588, pos=[(0,4492,13), (0,4604,22), (2,184,54)]) literal.612: bits[8] = literal(value=134, id=612, pos=[(0,4192,17), (0,4497,35), (0,4604,22), (2,184,54)]) sel.616: bits[7] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=616, pos=[(0,4507,19), (0,4604,22), (2,184,54)]) sign_ext.655: bits[7] = sign_ext(or.725, new_bit_count=7, id=655, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) and.651: bits[8] = and(concat.595, sign_ext.650, id=651) bit_slice.761: bits[7] = bit_slice(sign_ext.650, start=0, width=7, id=761, pos=[(0,4500,16), (0,4604,22), (2,184,54)]) and.592: bits[1] = and(eq.587, eq.588, id=592, pos=[(0,4492,13), (0,4604,22), (2,184,54)]) not.834: bits[1] = not(eq.587, id=834, pos=[(0,4604,22), (2,184,54)]) ult.620: bits[1] = ult(f_bexp__2, literal.612, id=620, pos=[(0,4192,5), (0,4497,35), (0,4604,22), (2,184,54)]) and.656: bits[7] = and(sel.616, sign_ext.655, id=656, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) nor.613: bits[1] = nor(bit_slice.604, and_reduce.605, id=613, pos=[(0,4219,5), (0,4499,43), (0,4604,22), (2,184,54)]) add.646: bits[8] = add(f_bexp__2, and.651, id=646) concat.788: bits[8] = concat(literal.580, bit_slice.761, id=788, pos=[(0,4500,16), (0,4604,22), (2,184,54)]) or.714: bits[1] = or(eq.572, and.592, id=714, pos=[(0,4604,22), (2,184,54)]) nor.842: bits[1] = nor(not.834, eq.588, id=842, pos=[(0,4604,22), (2,184,54)]) sel.626: bits[7] = sel(ult.620, cases=[tuple_index.576, and.656], id=626, pos=[(0,4497,12), (0,4604,22), (2,184,54)]) nor.837: bits[1] = nor(eq.572, eq.587, id=837, pos=[(0,4604,22), (2,184,54)]) sel.621: bits[8] = sel(nor.613, cases=[add.646, concat.788], id=621, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) concat.708: bits[2] = concat(or.714, nor.842, id=708, pos=[(0,4604,22), (2,184,54)]) literal.799: bits[1] = literal(value=1, id=799, pos=[(0,4492,13), (0,4604,22), (2,184,54)]) bit_slice.686: bits[1] = bit_slice(sel.626, start=6, width=1, id=686, pos=[(0,4604,22), (2,184,54)]) bit_slice.682: bits[6] = bit_slice(sel.626, start=0, width=6, id=682, pos=[(0,4604,22), (2,184,54)]) sign_ext.782: bits[6] = sign_ext(nor.837, new_bit_count=6, id=782, pos=[(0,4604,22), (2,184,54)]) not.637: bits[1] = not(f_sign__1, id=637, pos=[(0,4604,22), (2,184,54)]) concat.707: bits[2] = concat(eq.572, eq.587, id=707, pos=[(0,4604,22), (2,184,54)]) sel.624: bits[8] = sel(ult.620, cases=[f_bexp__2, sel.621], id=624, pos=[(0,4497,12), (0,4604,22), (2,184,54)]) priority_sel.687: bits[1] = priority_sel(concat.708, cases=[literal.799, literal.580], default=bit_slice.686, id=687, pos=[(0,4604,22), (2,184,54)]) and.783: bits[6] = and(bit_slice.682, sign_ext.782, id=783, pos=[(0,4604,22), (2,184,54)]) nor.638: bits[1] = nor(nor.842, not.637, id=638, pos=[(0,4604,22), (2,184,54)]) priority_sel.661: bits[8] = priority_sel(concat.707, cases=[EXPR_MASK, literal.571], default=sel.624, id=661, pos=[(0,4604,22), (2,184,54)]) concat.688: bits[7] = concat(priority_sel.687, and.783, id=688, pos=[(0,4604,22), (2,184,54)]) ret tuple.630: (bits[1], bits[8], bits[7]) = tuple(nor.638, priority_sel.661, concat.688, id=630, pos=[(0,4604,22), (2,184,54)]) }