package bfloat16 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/bfloat16.x" top fn __bfloat16__ceil_with_denorms(f: (bits[1], bits[8], bits[7]) id=201) -> (bits[1], bits[8], bits[7]) { f_bexp__1: bits[8] = tuple_index(f, index=1, id=468, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,178,70)]) literal.469: bits[8] = literal(value=129, id=469, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,178,70)]) exp__1: bits[8] = add(f_bexp__1, literal.469, id=470, pos=[(1,266,6), (1,4238,31), (1,4303,45), (2,178,70)]) literal.471: bits[7] = literal(value=127, id=471, pos=[(1,4240,40), (1,4303,45), (2,178,70)]) sign_ext.472: bits[32] = sign_ext(exp__1, new_bit_count=32, id=472, pos=[(1,4303,45), (2,178,70)]) literal.473: bits[1] = literal(value=0, id=473, pos=[(1,4303,45), (2,178,70)]) f_fraction__1: bits[7] = tuple_index(f, index=2, id=474, pos=[(1,4259,9), (1,4303,45), (2,178,70)]) fractional_mask__1: bits[7] = shrl(literal.471, sign_ext.472, id=475, pos=[(1,4240,40), (1,4303,45), (2,178,70)]) concat.476: bits[8] = concat(literal.473, f_fraction__1, id=476, pos=[(1,4303,45), (2,178,70)]) concat.477: bits[8] = concat(literal.473, fractional_mask__1, id=477, pos=[(1,4303,45), (2,178,70)]) fraction_up__2: bits[8] = add(concat.476, concat.477, id=481, pos=[(1,4259,9), (1,4303,45), (2,178,70)]) bit_slice.486: bits[7] = bit_slice(fraction_up__2, start=0, width=7, id=486, pos=[(1,4264,39), (1,4303,45), (2,178,70)]) bit_slice.489: bits[7] = bit_slice(f_bexp__1, start=0, width=7, id=489, pos=[(1,4219,5), (1,4293,43), (2,178,70)]) literal.480: bits[8] = literal(value=0, id=480, pos=[(1,41,9), (1,4286,13), (2,178,70)]) literal.479: bits[7] = literal(value=0, id=479, pos=[(1,43,20), (1,4286,13), (2,178,70)]) EXPR_MASK: bits[8] = literal(value=255, id=478, pos=[(1,39,36), (1,4286,13), (2,178,70)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=501, pos=[(1,4265,21), (1,4303,45), (2,178,70)]) not.491: bits[7] = not(bit_slice.486, id=491, pos=[(1,4264,39), (1,4303,45), (2,178,70)]) not.492: bits[7] = not(f_fraction__1, id=492, pos=[(1,4276,29), (1,4306,47), (2,178,70)]) bit_slice.499: bits[1] = bit_slice(f_bexp__1, start=7, width=1, id=499, pos=[(1,4219,5), (1,4293,43), (2,178,70)]) and_reduce.500: bits[1] = and_reduce(bit_slice.489, id=500, pos=[(1,4219,5), (1,4293,43), (2,178,70)]) eq.484: bits[1] = eq(f_bexp__1, literal.480, id=484, pos=[(1,4286,13), (2,178,70)]) eq.483: bits[1] = eq(f_fraction__1, literal.479, id=483, pos=[(1,4286,13), (2,178,70)]) eq.482: bits[1] = eq(f_bexp__1, EXPR_MASK, id=482, pos=[(1,4286,13), (2,178,70)]) bit_slice.485: bits[1] = bit_slice(fraction_up__2, start=7, width=1, id=485, pos=[(1,4262,46), (1,4303,45), (2,178,70)]) not.543: bits[1] = not(f_sign__1, id=543) fraction_integral__4: bits[7] = nor(not.491, fractional_mask__1, id=504, pos=[(1,4264,39), (1,4303,45), (2,178,70)]) fraction_integral__2: bits[7] = nor(not.492, fractional_mask__1, id=505, pos=[(1,4276,29), (1,4306,47), (2,178,70)]) or.620: bits[1] = or(bit_slice.499, and_reduce.500, id=620, pos=[(1,4293,19), (2,178,70)]) and.488: bits[1] = and(eq.484, eq.483, id=488, pos=[(1,4286,13), (2,178,70)]) and.487: bits[1] = and(eq.482, eq.483, id=487, pos=[(1,4286,13), (2,178,70)]) not.728: bits[1] = not(eq.482, id=728, pos=[(2,178,70)]) concat.490: bits[8] = concat(literal.479, bit_slice.485, id=490, pos=[(1,4303,45), (2,178,70)]) sign_ext.544: bits[8] = sign_ext(not.543, new_bit_count=8, id=544) literal.507: bits[8] = literal(value=134, id=507, pos=[(1,4192,17), (1,4291,35), (2,178,70)]) sel.511: bits[7] = sel(f_sign__1, cases=[fraction_integral__4, fraction_integral__2], id=511, pos=[(1,4301,19), (2,178,70)]) sign_ext.550: bits[7] = sign_ext(or.620, new_bit_count=7, id=550, pos=[(1,4293,19), (2,178,70)]) or.609: bits[1] = or(and.488, and.487, id=609, pos=[(2,178,70)]) nor.734: bits[1] = nor(not.728, eq.483, id=734, pos=[(2,178,70)]) and.545: bits[8] = and(concat.490, sign_ext.544, id=545) bit_slice.656: bits[7] = bit_slice(sign_ext.544, start=0, width=7, id=656, pos=[(1,4294,16), (2,178,70)]) ult.515: bits[1] = ult(f_bexp__1, literal.507, id=515, pos=[(1,4192,5), (1,4291,35), (2,178,70)]) and.551: bits[7] = and(sel.511, sign_ext.550, id=551, pos=[(1,4293,19), (2,178,70)]) or.655: bits[1] = or(or.609, nor.734, id=655, pos=[(2,178,70)]) nor.508: bits[1] = nor(bit_slice.499, and_reduce.500, id=508, pos=[(1,4219,5), (1,4293,43), (2,178,70)]) add.542: bits[8] = add(f_bexp__1, and.545, id=542) concat.682: bits[8] = concat(literal.473, bit_slice.656, id=682, pos=[(1,4294,16), (2,178,70)]) sel.521: bits[7] = sel(ult.515, cases=[f_fraction__1, and.551], id=521, pos=[(1,4291,12), (2,178,70)]) not.701: bits[1] = not(or.655, id=701, pos=[(2,178,70)]) sel.516: bits[8] = sel(nor.508, cases=[add.542, concat.682], id=516, pos=[(1,4293,19), (2,178,70)]) concat.603: bits[2] = concat(or.609, nor.734, id=603, pos=[(2,178,70)]) literal.693: bits[1] = literal(value=1, id=693, pos=[(1,4286,13), (2,178,70)]) bit_slice.581: bits[1] = bit_slice(sel.521, start=6, width=1, id=581, pos=[(2,178,70)]) bit_slice.577: bits[6] = bit_slice(sel.521, start=0, width=6, id=577, pos=[(2,178,70)]) sign_ext.676: bits[6] = sign_ext(not.701, new_bit_count=6, id=676, pos=[(2,178,70)]) concat.602: bits[2] = concat(and.488, eq.482, id=602, pos=[(2,178,70)]) sel.519: bits[8] = sel(ult.515, cases=[f_bexp__1, sel.516], id=519, pos=[(1,4291,12), (2,178,70)]) priority_sel.582: bits[1] = priority_sel(concat.603, cases=[literal.693, literal.473], default=bit_slice.581, id=582, pos=[(2,178,70)]) and.677: bits[6] = and(bit_slice.577, sign_ext.676, id=677, pos=[(2,178,70)]) nor.536: bits[1] = nor(nor.734, not.543, id=536, pos=[(2,178,70)]) priority_sel.556: bits[8] = priority_sel(concat.602, cases=[EXPR_MASK, literal.480], default=sel.519, id=556, pos=[(2,178,70)]) concat.583: bits[7] = concat(priority_sel.582, and.677, id=583, pos=[(2,178,70)]) ret tuple.525: (bits[1], bits[8], bits[7]) = tuple(nor.536, priority_sel.556, concat.583, id=525, pos=[(2,178,70)]) }