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__ceil_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=572, pos=[(0,804,5), (0,809,27), (0,4397,40), (2,180,52)]) literal.576: bits[8] = literal(value=129, id=576, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,180,52)]) exp__1: bits[8] = add(f_bexp__2, literal.576, id=577, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,180,52)]) literal.580: bits[7] = literal(value=127, id=580, pos=[(0,4240,40), (0,4303,45), (0,4397,21), (2,180,52)]) sign_ext.581: bits[32] = sign_ext(exp__1, new_bit_count=32, id=581, pos=[(0,4303,45), (0,4397,21), (2,180,52)]) literal.582: bits[1] = literal(value=0, id=582, pos=[(0,4303,45), (0,4397,21), (2,180,52)]) tuple_index.578: bits[7] = tuple_index(f, index=2, id=578, pos=[(0,809,4), (0,4397,40), (2,180,52)]) fractional_mask__1: bits[7] = shrl(literal.580, sign_ext.581, id=584, pos=[(0,4240,40), (0,4303,45), (0,4397,21), (2,180,52)]) literal.573: bits[8] = literal(value=0, id=573, pos=[(0,804,14), (0,809,27), (0,4397,40), (2,180,52)]) concat.585: bits[8] = concat(literal.582, tuple_index.578, id=585, pos=[(0,4303,45), (0,4397,21), (2,180,52)]) concat.586: bits[8] = concat(literal.582, fractional_mask__1, id=586, pos=[(0,4303,45), (0,4397,21), (2,180,52)]) eq.574: bits[1] = eq(f_bexp__2, literal.573, id=574, pos=[(0,804,5), (0,809,27), (0,4397,40), (2,180,52)]) fraction_up__2: bits[8] = add(concat.585, concat.586, id=588, pos=[(0,4259,9), (0,4303,45), (0,4397,21), (2,180,52)]) not.649: bits[1] = not(eq.574, id=649, pos=[(0,809,4), (0,4397,40), (2,180,52)]) bit_slice.593: bits[7] = bit_slice(fraction_up__2, start=0, width=7, id=593, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,180,52)]) bit_slice.596: bits[7] = bit_slice(f_bexp__2, start=0, width=7, id=596, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,180,52)]) bit_slice.592: bits[1] = bit_slice(fraction_up__2, start=7, width=1, id=592, pos=[(0,4262,46), (0,4303,45), (0,4397,21), (2,180,52)]) sign_ext.650: bits[7] = sign_ext(not.649, new_bit_count=7, id=650, pos=[(0,809,4), (0,4397,40), (2,180,52)]) not.598: bits[7] = not(bit_slice.593, id=598, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,180,52)]) not.599: bits[7] = not(tuple_index.578, id=599, pos=[(0,4276,29), (0,4306,47), (0,4397,21), (2,180,52)]) bit_slice.606: bits[1] = bit_slice(f_bexp__2, start=7, width=1, id=606, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,180,52)]) and_reduce.607: bits[1] = and_reduce(bit_slice.596, id=607, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,180,52)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=608, pos=[(0,809,60), (0,4397,40), (2,180,52)]) not.774: bits[1] = not(bit_slice.592, id=774) EXPR_MASK: bits[8] = literal(value=255, id=587, pos=[(0,39,36), (0,4286,13), (0,4397,21), (2,180,52)]) f_fraction__1: bits[7] = and(tuple_index.578, sign_ext.650, id=651, pos=[(0,809,4), (0,4397,40), (2,180,52)]) literal.579: bits[7] = literal(value=0, id=579, pos=[(0,131,73), (0,809,37), (0,4397,40), (2,180,52)]) fraction_integral__2: bits[7] = nor(not.598, fractional_mask__1, id=611, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,180,52)]) fraction_integral__4: bits[7] = nor(not.599, fractional_mask__1, id=612, pos=[(0,4276,29), (0,4306,47), (0,4397,21), (2,180,52)]) or.732: bits[1] = or(bit_slice.606, and_reduce.607, id=732, pos=[(0,4293,19), (0,4397,21), (2,180,52)]) nor.775: bits[1] = nor(f_sign__1, not.774, id=775) not.652: bits[1] = not(f_sign__1, id=652) eq.589: bits[1] = eq(f_bexp__2, EXPR_MASK, id=589, pos=[(0,4286,13), (0,4397,21), (2,180,52)]) eq.590: bits[1] = eq(f_fraction__1, literal.579, id=590, pos=[(0,4286,13), (0,4397,21), (2,180,52)]) literal.614: bits[8] = literal(value=134, id=614, pos=[(0,4192,17), (0,4291,35), (0,4397,21), (2,180,52)]) sel.618: bits[7] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=618, pos=[(0,4301,19), (0,4397,21), (2,180,52)]) sign_ext.659: bits[7] = sign_ext(or.732, new_bit_count=7, id=659, pos=[(0,4293,19), (0,4397,21), (2,180,52)]) concat.713: bits[8] = concat(literal.579, nor.775, id=713) sign_ext.796: bits[7] = sign_ext(not.652, new_bit_count=7, id=796, pos=[(0,4294,16), (0,4397,21), (2,180,52)]) and.594: bits[1] = and(eq.589, eq.590, id=594, pos=[(0,4286,13), (0,4397,21), (2,180,52)]) not.846: bits[1] = not(eq.589, id=846, pos=[(0,4397,21), (2,180,52)]) ult.622: bits[1] = ult(f_bexp__2, literal.614, id=622, pos=[(0,4192,5), (0,4291,35), (0,4397,21), (2,180,52)]) and.660: bits[7] = and(sel.618, sign_ext.659, id=660, pos=[(0,4293,19), (0,4397,21), (2,180,52)]) nor.615: bits[1] = nor(bit_slice.606, and_reduce.607, id=615, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,180,52)]) add.648: bits[8] = add(f_bexp__2, concat.713, id=648) concat.800: bits[8] = concat(literal.582, sign_ext.796, id=800, pos=[(0,4294,16), (0,4397,21), (2,180,52)]) or.721: bits[1] = or(eq.574, and.594, id=721, pos=[(0,4397,21), (2,180,52)]) nor.851: bits[1] = nor(not.846, eq.590, id=851, pos=[(0,4397,21), (2,180,52)]) sel.628: bits[7] = sel(ult.622, cases=[tuple_index.578, and.660], id=628, pos=[(0,4291,12), (0,4397,21), (2,180,52)]) nor.849: bits[1] = nor(eq.574, eq.589, id=849, pos=[(0,4397,21), (2,180,52)]) sel.623: bits[8] = sel(nor.615, cases=[add.648, concat.800], id=623, pos=[(0,4293,19), (0,4397,21), (2,180,52)]) concat.715: bits[2] = concat(or.721, nor.851, id=715, pos=[(0,4397,21), (2,180,52)]) literal.811: bits[1] = literal(value=1, id=811, pos=[(0,4286,13), (0,4397,21), (2,180,52)]) bit_slice.690: bits[1] = bit_slice(sel.628, start=6, width=1, id=690, pos=[(0,4397,21), (2,180,52)]) bit_slice.686: bits[6] = bit_slice(sel.628, start=0, width=6, id=686, pos=[(0,4397,21), (2,180,52)]) sign_ext.792: bits[6] = sign_ext(nor.849, new_bit_count=6, id=792, pos=[(0,4397,21), (2,180,52)]) concat.714: bits[2] = concat(eq.574, eq.589, id=714, pos=[(0,4397,21), (2,180,52)]) sel.626: bits[8] = sel(ult.622, cases=[f_bexp__2, sel.623], id=626, pos=[(0,4291,12), (0,4397,21), (2,180,52)]) priority_sel.691: bits[1] = priority_sel(concat.715, cases=[literal.811, literal.582], default=bit_slice.690, id=691, pos=[(0,4397,21), (2,180,52)]) and.793: bits[6] = and(bit_slice.686, sign_ext.792, id=793, pos=[(0,4397,21), (2,180,52)]) nor.640: bits[1] = nor(nor.851, not.652, id=640, pos=[(0,4397,21), (2,180,52)]) priority_sel.665: bits[8] = priority_sel(concat.714, cases=[EXPR_MASK, literal.573], default=sel.626, id=665, pos=[(0,4397,21), (2,180,52)]) concat.692: bits[7] = concat(priority_sel.691, and.793, id=692, pos=[(0,4397,21), (2,180,52)]) ret tuple.632: (bits[1], bits[8], bits[7]) = tuple(nor.640, priority_sel.665, concat.692, id=632, pos=[(0,4397,21), (2,180,52)]) }