package hfloat16 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/hfloat16.x" top fn __hfloat16__floor_with_denorms(f: (bits[1], bits[5], bits[10]) id=204) -> (bits[1], bits[5], bits[10]) { f_bexp__1: bits[5] = tuple_index(f, index=1, id=470, pos=[(1,266,6), (1,4238,31), (1,4509,45), (2,132,72)]) literal.471: bits[5] = literal(value=17, id=471, pos=[(1,266,6), (1,4238,31), (1,4509,45), (2,132,72)]) exp__1: bits[5] = add(f_bexp__1, literal.471, id=472, pos=[(1,266,6), (1,4238,31), (1,4509,45), (2,132,72)]) literal.473: bits[10] = literal(value=1023, id=473, pos=[(1,4240,40), (1,4509,45), (2,132,72)]) sign_ext.474: bits[32] = sign_ext(exp__1, new_bit_count=32, id=474, pos=[(1,4509,45), (2,132,72)]) literal.475: bits[1] = literal(value=0, id=475, pos=[(1,4509,45), (2,132,72)]) f_fraction__1: bits[10] = tuple_index(f, index=2, id=476, pos=[(1,4259,9), (1,4509,45), (2,132,72)]) fractional_mask__1: bits[10] = shrl(literal.473, sign_ext.474, id=477, pos=[(1,4240,40), (1,4509,45), (2,132,72)]) concat.478: bits[11] = concat(literal.475, f_fraction__1, id=478, pos=[(1,4509,45), (2,132,72)]) concat.479: bits[11] = concat(literal.475, fractional_mask__1, id=479, pos=[(1,4509,45), (2,132,72)]) fraction_up__2: bits[11] = add(concat.478, concat.479, id=483, pos=[(1,4259,9), (1,4509,45), (2,132,72)]) bit_slice.489: bits[10] = bit_slice(fraction_up__2, start=0, width=10, id=489, pos=[(1,4264,39), (1,4509,45), (2,132,72)]) bit_slice.492: bits[4] = bit_slice(f_bexp__1, start=0, width=4, id=492, pos=[(1,4219,5), (1,4499,43), (2,132,72)]) literal.482: bits[5] = literal(value=0, id=482, pos=[(1,41,9), (1,4492,13), (2,132,72)]) literal.481: bits[10] = literal(value=0, id=481, pos=[(1,43,20), (1,4492,13), (2,132,72)]) EXPR_MASK: bits[5] = literal(value=31, id=480, pos=[(1,39,36), (1,4492,13), (2,132,72)]) not.494: bits[10] = not(f_fraction__1, id=494, pos=[(1,4276,29), (1,4512,47), (2,132,72)]) not.495: bits[10] = not(bit_slice.489, id=495, pos=[(1,4264,39), (1,4509,45), (2,132,72)]) bit_slice.502: bits[1] = bit_slice(f_bexp__1, start=4, width=1, id=502, pos=[(1,4219,5), (1,4499,43), (2,132,72)]) and_reduce.503: bits[1] = and_reduce(bit_slice.492, id=503, pos=[(1,4219,5), (1,4499,43), (2,132,72)]) eq.486: bits[1] = eq(f_bexp__1, literal.482, id=486, pos=[(1,4492,13), (2,132,72)]) eq.485: bits[1] = eq(f_fraction__1, literal.481, id=485, pos=[(1,4492,13), (2,132,72)]) eq.484: bits[1] = eq(f_bexp__1, EXPR_MASK, id=484, pos=[(1,4492,13), (2,132,72)]) literal.487: bits[4] = literal(value=0, id=487, pos=[(1,4509,45), (2,132,72)]) bit_slice.488: bits[1] = bit_slice(fraction_up__2, start=10, width=1, id=488, pos=[(1,4262,46), (1,4509,45), (2,132,72)]) f_sign__1: bits[1] = tuple_index(f, index=0, id=504, pos=[(1,4277,21), (1,4512,47), (2,132,72)]) fraction_integral__2: bits[10] = nor(not.494, fractional_mask__1, id=507, pos=[(1,4276,29), (1,4512,47), (2,132,72)]) fraction_integral__4: bits[10] = nor(not.495, fractional_mask__1, id=508, pos=[(1,4264,39), (1,4509,45), (2,132,72)]) or.621: bits[1] = or(bit_slice.502, and_reduce.503, id=621, pos=[(1,4499,19), (2,132,72)]) and.491: bits[1] = and(eq.486, eq.485, id=491, pos=[(1,4492,13), (2,132,72)]) and.490: bits[1] = and(eq.484, eq.485, id=490, pos=[(1,4492,13), (2,132,72)]) not.729: bits[1] = not(eq.484, id=729, pos=[(2,132,72)]) concat.493: bits[5] = concat(literal.487, bit_slice.488, id=493, pos=[(1,4509,45), (2,132,72)]) sign_ext.546: bits[5] = sign_ext(f_sign__1, new_bit_count=5, id=546) literal.510: bits[5] = literal(value=25, id=510, pos=[(1,4192,17), (1,4497,35), (2,132,72)]) sel.514: bits[10] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=514, pos=[(1,4507,19), (2,132,72)]) sign_ext.551: bits[10] = sign_ext(or.621, new_bit_count=10, id=551, pos=[(1,4499,19), (2,132,72)]) or.610: bits[1] = or(and.491, and.490, id=610, pos=[(2,132,72)]) nor.735: bits[1] = nor(not.729, eq.485, id=735, pos=[(2,132,72)]) and.547: bits[5] = and(concat.493, sign_ext.546, id=547) bit_slice.657: bits[4] = bit_slice(sign_ext.546, start=0, width=4, id=657, pos=[(1,4500,16), (2,132,72)]) ult.518: bits[1] = ult(f_bexp__1, literal.510, id=518, pos=[(1,4192,5), (1,4497,35), (2,132,72)]) and.552: bits[10] = and(sel.514, sign_ext.551, id=552, pos=[(1,4499,19), (2,132,72)]) or.656: bits[1] = or(or.610, nor.735, id=656, pos=[(2,132,72)]) nor.511: bits[1] = nor(bit_slice.502, and_reduce.503, id=511, pos=[(1,4219,5), (1,4499,43), (2,132,72)]) add.545: bits[5] = add(f_bexp__1, and.547, id=545) concat.683: bits[5] = concat(literal.475, bit_slice.657, id=683, pos=[(1,4500,16), (2,132,72)]) sel.524: bits[10] = sel(ult.518, cases=[f_fraction__1, and.552], id=524, pos=[(1,4497,12), (2,132,72)]) not.702: bits[1] = not(or.656, id=702, pos=[(2,132,72)]) sel.519: bits[5] = sel(nor.511, cases=[add.545, concat.683], id=519, pos=[(1,4499,19), (2,132,72)]) concat.604: bits[2] = concat(or.610, nor.735, id=604, pos=[(2,132,72)]) literal.694: bits[1] = literal(value=1, id=694, pos=[(1,4492,13), (2,132,72)]) bit_slice.582: bits[1] = bit_slice(sel.524, start=9, width=1, id=582, pos=[(2,132,72)]) bit_slice.578: bits[9] = bit_slice(sel.524, start=0, width=9, id=578, pos=[(2,132,72)]) sign_ext.677: bits[9] = sign_ext(not.702, new_bit_count=9, id=677, pos=[(2,132,72)]) not.538: bits[1] = not(f_sign__1, id=538, pos=[(2,132,72)]) concat.603: bits[2] = concat(and.491, eq.484, id=603, pos=[(2,132,72)]) sel.522: bits[5] = sel(ult.518, cases=[f_bexp__1, sel.519], id=522, pos=[(1,4497,12), (2,132,72)]) priority_sel.583: bits[1] = priority_sel(concat.604, cases=[literal.694, literal.475], default=bit_slice.582, id=583, pos=[(2,132,72)]) and.678: bits[9] = and(bit_slice.578, sign_ext.677, id=678, pos=[(2,132,72)]) nor.539: bits[1] = nor(nor.735, not.538, id=539, pos=[(2,132,72)]) priority_sel.557: bits[5] = priority_sel(concat.603, cases=[EXPR_MASK, literal.482], default=sel.522, id=557, pos=[(2,132,72)]) concat.584: bits[10] = concat(priority_sel.583, and.678, id=584, pos=[(2,132,72)]) ret tuple.528: (bits[1], bits[5], bits[10]) = tuple(nor.539, priority_sel.557, concat.584, id=528, pos=[(2,132,72)]) }