package std file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" top fn __std__next_pow2(n: bits[32] id=56) -> bits[32] { literal.4017: bits[32] = literal(value=4294967295, id=4017, pos=[(0,716,45), (0,1685,51)]) add.4018: bits[32] = add(n, literal.4017, id=4018, pos=[(0,716,45), (0,1685,51)]) reverse.4019: bits[32] = reverse(add.4018, id=4019, pos=[(0,716,44), (0,1685,51)]) one_hot.4020: bits[33] = one_hot(reverse.4019, lsb_prio=true, id=4020, pos=[(0,716,44), (0,1685,51)]) umul_4074_TrailingBits_: bits[1] = literal(value=0, id=4021, pos=[(0,716,44), (0,1685,51)]) encode.4022: bits[6] = encode(one_hot.4020, id=4022, pos=[(0,716,44), (0,1685,51)]) literal.4025: bits[32] = literal(value=0, id=4025, pos=[(0,1685,51)]) literal.4023: bits[7] = literal(value=32, id=4023, pos=[(0,1685,51)]) concat.4024: bits[7] = concat(umul_4074_TrailingBits_, encode.4022, id=4024, pos=[(0,716,44), (0,1685,51)]) ne.4027: bits[1] = ne(n, literal.4025, id=4027, pos=[(0,716,7), (0,1685,51)]) sub.4026: bits[7] = sub(literal.4023, concat.4024, id=4026, pos=[(0,716,25), (0,1685,51)]) sign_ext.5727: bits[7] = sign_ext(ne.4027, new_bit_count=7, id=5727, pos=[(0,716,4), (0,1685,51)]) and.5728: bits[7] = and(sub.4026, sign_ext.5727, id=5728, pos=[(0,716,4), (0,1685,51)]) bit_slice.5544: bits[1] = bit_slice(and.5728, start=0, width=1, id=5544, pos=[(0,966,54), (0,1685,38)]) result_squeezed: bits[2] = literal(value=1, id=5768, pos=[(0,956,17), (0,966,54), (0,1685,38)]) literal.5769: bits[2] = literal(value=2, id=5769, pos=[(0,1685,39)]) literal.5598: bits[7] = literal(value=0, id=5598, pos=[(0,716,4), (0,1685,51)]) literal.5793: bits[2] = literal(value=0, id=5793, pos=[(0,960,21), (0,966,54), (0,1685,38)]) result__1_squeezed: bits[2] = sel(bit_slice.5544, cases=[result_squeezed, literal.5769], id=5731, pos=[(0,960,21), (0,966,54), (0,1685,38)]) eq.4287: bits[1] = eq(and.5728, literal.5598, id=4287, pos=[(0,961,20), (0,966,54), (0,1685,38)]) bit_slice.5545: bits[1] = bit_slice(and.5728, start=1, width=1, id=5545, pos=[(0,966,54), (0,1685,38)]) result__1_squeezed__1: bits[4] = concat(literal.5793, result__1_squeezed, id=5778, pos=[(0,960,21), (0,966,54), (0,1685,38)]) concat.5779: bits[4] = concat(result__1_squeezed, literal.5793, id=5779, pos=[(0,960,51), (0,966,54), (0,1685,38)]) bit_slice.5549: bits[6] = bit_slice(and.5728, start=1, width=6, id=5549, pos=[(0,961,20), (0,966,54), (0,1685,38)]) literal.4674: bits[6] = literal(value=0, id=4674, pos=[(0,961,20), (0,966,54), (0,1685,38)]) sel.5749: bits[2] = sel(eq.4287, cases=[literal.5769, result_squeezed], id=5749, pos=[(0,961,17), (0,966,54), (0,1685,38)]) literal.5795: bits[4] = literal(value=0, id=5795, pos=[(0,960,21), (0,966,54), (0,1685,38)]) result__2_squeezed: bits[4] = sel(bit_slice.5545, cases=[result__1_squeezed__1, concat.5779], id=5737, pos=[(0,960,21), (0,966,54), (0,1685,38)]) eq.4293: bits[1] = eq(bit_slice.5549, literal.4674, id=4293, pos=[(0,961,20), (0,966,54), (0,1685,38)]) literal.5772: bits[4] = literal(value=8, id=5772, pos=[(0,961,17), (0,966,54), (0,1685,38)]) concat.5785: bits[4] = concat(literal.5793, sel.5749, id=5785, pos=[(0,961,17), (0,966,54), (0,1685,38)]) bit_slice.5546: bits[1] = bit_slice(and.5728, start=2, width=1, id=5546, pos=[(0,966,54), (0,1685,38)]) result__2_squeezed__1: bits[8] = concat(literal.5795, result__2_squeezed, id=5781, pos=[(0,960,21), (0,966,54), (0,1685,38)]) concat.5792: bits[8] = concat(result__2_squeezed, literal.5795, id=5792, pos=[(0,960,51), (0,966,54), (0,1685,38)]) bit_slice.5550: bits[5] = bit_slice(and.5728, start=2, width=5, id=5550, pos=[(0,961,20), (0,966,54), (0,1685,38)]) literal.4681: bits[5] = literal(value=0, id=4681, pos=[(0,961,20), (0,966,54), (0,1685,38)]) sel.5755: bits[4] = sel(eq.4293, cases=[literal.5772, concat.5785], id=5755, pos=[(0,961,17), (0,966,54), (0,1685,38)]) literal.5796: bits[8] = literal(value=0, id=5796, pos=[(0,960,21), (0,966,54), (0,1685,38)]) result__3_squeezed: bits[8] = sel(bit_slice.5546, cases=[result__2_squeezed__1, concat.5792], id=5743, pos=[(0,960,21), (0,966,54), (0,1685,38)]) eq.4302: bits[1] = eq(bit_slice.5550, literal.4681, id=4302, pos=[(0,961,20), (0,966,54), (0,1685,38)]) literal.5682: bits[8] = literal(value=128, id=5682, pos=[(0,961,17), (0,966,54), (0,1685,38)]) concat.5790: bits[8] = concat(literal.5795, sel.5755, id=5790, pos=[(0,961,17), (0,966,54), (0,1685,38)]) bit_slice.5547: bits[1] = bit_slice(and.5728, start=3, width=1, id=5547, pos=[(0,966,54), (0,1685,38)]) result__3_squeezed__1: bits[16] = concat(literal.5796, result__3_squeezed, id=5787, pos=[(0,960,21), (0,966,54), (0,1685,38)]) concat.5788: bits[16] = concat(result__3_squeezed, literal.5796, id=5788, pos=[(0,960,51), (0,966,54), (0,1685,38)]) sel.5667: bits[8] = sel(eq.4302, cases=[literal.5682, concat.5790], id=5667, pos=[(0,961,17), (0,966,54), (0,1685,38)]) result__4_squeezed: bits[16] = sel(bit_slice.5547, cases=[result__3_squeezed__1, concat.5788], id=5761, pos=[(0,960,21), (0,966,54), (0,1685,38)]) umul.5599: bits[15] = umul(sel.5667, sel.5667, id=5599, pos=[(0,961,46), (0,966,54), (0,1685,38)]) result__4_squeezed_const_msb_bits: bits[16] = literal(value=0, id=5762, pos=[(0,960,21), (0,966,54), (0,1685,38)]) umul_4317_NarrowedMult__NarrowedMult_: bits[30] = umul(result__4_squeezed, umul.5599, id=5653, pos=[(0,960,51), (0,966,54), (0,1685,38)]) bit_slice.5548: bits[1] = bit_slice(and.5728, start=4, width=1, id=5548, pos=[(0,966,54), (0,1685,38)]) result__4: bits[32] = concat(result__4_squeezed_const_msb_bits, result__4_squeezed, id=5791, pos=[(0,960,21), (0,966,54), (0,1685,38)]) concat.5677: bits[32] = concat(umul_4317_NarrowedMult__NarrowedMult_, literal.5793, id=5677, pos=[(0,960,51), (0,966,54), (0,1685,38)]) result__5: bits[32] = sel(bit_slice.5548, cases=[result__4, concat.5677], id=4069, pos=[(0,960,21), (0,966,54), (0,1685,38)]) bit_slice.5692: bits[28] = bit_slice(result__5, start=0, width=28, id=5692, pos=[(0,960,21), (0,966,54), (0,1685,38)]) umul_5644_NarrowedMult_: bits[27] = umul(umul.5599, umul.5599, id=5658, pos=[(0,961,46), (0,966,54), (0,1685,38)]) umul_4074_NarrowedMult__NarrowedMult__NarrowedMult_: bits[28] = umul(bit_slice.5692, umul_5644_NarrowedMult_, id=5684, pos=[(0,960,51), (0,966,54), (0,1685,38)]) bit_slice.5553: bits[1] = bit_slice(and.5728, start=6, width=1, id=5553, pos=[(0,961,20), (0,966,54), (0,1685,38)]) bit_slice.5552: bits[1] = bit_slice(and.5728, start=5, width=1, id=5552, pos=[(0,961,20), (0,966,54), (0,1685,38)]) concat.5679: bits[32] = concat(umul_4074_NarrowedMult__NarrowedMult__NarrowedMult_, literal.5795, id=5679, pos=[(0,960,51), (0,966,54), (0,1685,38)]) not.5765: bits[1] = not(bit_slice.5553, id=5765, pos=[(0,960,21), (0,966,54), (0,1685,38)]) result__6: bits[32] = sel(bit_slice.5552, cases=[result__5, concat.5679], id=4077, pos=[(0,960,21), (0,966,54), (0,1685,38)]) sign_ext.5766: bits[32] = sign_ext(not.5765, new_bit_count=32, id=5766, pos=[(0,960,21), (0,966,54), (0,1685,38)]) ret result__32: bits[32] = and(result__6, sign_ext.5766, id=5767, pos=[(0,960,21), (0,966,54), (0,1685,38)]) }