package std file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" fn __std__clzt_pow2_1(value: bits[1] id=1) -> bits[1] { ret not.2: bits[1] = not(value, id=2, pos=[(0,1584,4)]) } fn __std__combine_clzt_halfs__1(left: bits[1] id=3, right: bits[1] id=4) -> bits[2] { bit_slice.6: bits[1] = bit_slice(left, start=0, width=1, id=6, pos=[(0,1539,15)]) bit_slice.7: bits[1] = bit_slice(right, start=0, width=1, id=7, pos=[(0,1539,27)]) tuple.8: (bits[1], bits[1]) = tuple(bit_slice.6, bit_slice.7, id=8, pos=[(0,1539,10)]) literal.22: bits[1] = literal(value=1, id=22, pos=[(0,1541,9)]) tuple_index.21: bits[1] = tuple_index(tuple.8, index=0, id=21) literal.11: bits[1] = literal(value=1, id=11, pos=[(0,1540,9)]) tuple_index.10: bits[1] = tuple_index(tuple.8, index=0, id=10) literal.20: bits[1] = literal(value=1, id=20) eq.23: bits[1] = eq(literal.22, tuple_index.21, id=23) literal.26: bits[1] = literal(value=0, id=26, pos=[(0,1541,15)]) tuple_index.25: bits[1] = tuple_index(tuple.8, index=1, id=25) literal.9: bits[1] = literal(value=1, id=9) eq.12: bits[1] = eq(literal.11, tuple_index.10, id=12) literal.15: bits[1] = literal(value=1, id=15, pos=[(0,1540,15)]) tuple_index.14: bits[1] = tuple_index(tuple.8, index=1, id=14) and.24: bits[1] = and(literal.20, eq.23, id=24) eq.27: bits[1] = eq(literal.26, tuple_index.25, id=27) and.13: bits[1] = and(literal.9, eq.12, id=13) eq.16: bits[1] = eq(literal.15, tuple_index.14, id=16) and.28: bits[1] = and(and.24, eq.27, id=28) and.17: bits[1] = and(and.13, eq.16, id=17) literal.18: bits[1] = literal(value=0, id=18, pos=[(0,1540,32)]) literal.29: bits[2] = literal(value=1, id=29, pos=[(0,1541,24)]) bit_slice.30: bits[0] = bit_slice(right, start=0, width=0, id=30, pos=[(0,1541,40)]) literal.33: bits[1] = literal(value=0, id=33, pos=[(0,1542,13)]) concat.35: bits[2] = concat(and.28, and.17, id=35) concat.19: bits[2] = concat(left, literal.18, id=19, pos=[(0,1540,24)]) concat.31: bits[2] = concat(literal.29, bit_slice.30, id=31, pos=[(0,1541,24)]) concat.34: bits[2] = concat(literal.33, left, id=34, pos=[(0,1542,13)]) N: bits[32] = literal(value=1, id=5, pos=[(0,1538,22)]) literal.32: bits[1] = literal(value=1, id=32, pos=[(0,1542,8)]) ret priority_sel.36: bits[2] = priority_sel(concat.35, cases=[concat.19, concat.31], default=concat.34, id=36) } top fn __std__clzt_pow2_2(value: bits[2] id=37) -> bits[2] { literal.38: bits[32] = literal(value=2, id=38, pos=[(0,1590,20)]) literal.39: bits[1] = literal(value=1, id=39, pos=[(0,1590,29)]) bit_slice.42: bits[1] = bit_slice(value, start=1, width=1, id=42, pos=[(0,1591,40)]) bit_slice.44: bits[1] = bit_slice(value, start=0, width=1, id=44, pos=[(0,1591,70)]) shrl.40: bits[32] = shrl(literal.38, literal.39, id=40, pos=[(0,1590,20)]) invoke.43: bits[1] = invoke(bit_slice.42, to_apply=__std__clzt_pow2_1, id=43, pos=[(0,1591,34)]) invoke.45: bits[1] = invoke(bit_slice.44, to_apply=__std__clzt_pow2_1, id=45, pos=[(0,1591,64)]) N_HALF: bits[32] = zero_ext(shrl.40, new_bit_count=32, id=41) ret invoke.46: bits[2] = invoke(invoke.43, invoke.45, to_apply=__std__combine_clzt_halfs__1, id=46, pos=[(0,1591,22)]) }