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)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=606, pos=[(0,809,60), (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)]) 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)]) literal.577: bits[7] = literal(value=0, id=577, pos=[(0,131,73), (0,809,37), (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.728: bits[1] = or(bit_slice.604, and_reduce.605, id=728, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) and.708: bits[1] = and(f_sign__1, bit_slice.590, id=708) 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.728, new_bit_count=7, id=655, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) concat.709: bits[8] = concat(literal.577, and.708, id=709) sign_ext.790: bits[7] = sign_ext(f_sign__1, new_bit_count=7, id=790, 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.840: bits[1] = not(eq.587, id=840, 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, concat.709, id=646) concat.794: bits[8] = concat(literal.580, sign_ext.790, id=794, pos=[(0,4500,16), (0,4604,22), (2,184,54)]) or.717: bits[1] = or(eq.572, and.592, id=717, pos=[(0,4604,22), (2,184,54)]) nor.845: bits[1] = nor(not.840, eq.588, id=845, 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.843: bits[1] = nor(eq.572, eq.587, id=843, pos=[(0,4604,22), (2,184,54)]) sel.621: bits[8] = sel(nor.613, cases=[add.646, concat.794], id=621, pos=[(0,4499,19), (0,4604,22), (2,184,54)]) concat.711: bits[2] = concat(or.717, nor.845, id=711, pos=[(0,4604,22), (2,184,54)]) literal.805: bits[1] = literal(value=1, id=805, 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.786: bits[6] = sign_ext(nor.843, new_bit_count=6, id=786, 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.710: bits[2] = concat(eq.572, eq.587, id=710, 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.711, cases=[literal.805, literal.580], default=bit_slice.686, id=687, pos=[(0,4604,22), (2,184,54)]) and.787: bits[6] = and(bit_slice.682, sign_ext.786, id=787, pos=[(0,4604,22), (2,184,54)]) nor.638: bits[1] = nor(nor.845, not.637, id=638, pos=[(0,4604,22), (2,184,54)]) priority_sel.661: bits[8] = priority_sel(concat.710, 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.787, 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)]) }