package fixed_point file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/fixed_point.x" top fn __fixed_point__num_nonzero_integer_bits(NUM_BITS: bits[32] id=7, BINARY_EXPONENT: bits[32] id=8) -> bits[32] { neg.40: bits[32] = neg(BINARY_EXPONENT, id=40, pos=[(0,515,69), (1,129,19)]) literal.30: bits[1] = literal(value=0, id=30) sign_ext.12: bits[33] = sign_ext(neg.40, new_bit_count=33, id=12) concat.31: bits[33] = concat(literal.30, NUM_BITS, id=31) slt.45: bits[1] = slt(sign_ext.12, concat.31, id=45, pos=[(1,129,8)]) add.36: bits[32] = add(NUM_BITS, BINARY_EXPONENT, id=36, pos=[(1,132,13)]) sign_ext.43: bits[32] = sign_ext(slt.45, new_bit_count=32, id=43, pos=[(1,129,8)]) bit_slice.39: bits[1] = bit_slice(BINARY_EXPONENT, start=31, width=1, id=39, pos=[(0,515,52), (1,129,19)]) and.44: bits[32] = and(add.36, sign_ext.43, id=44, pos=[(1,129,8)]) ret sel.21: bits[32] = sel(bit_slice.39, cases=[NUM_BITS, and.44], id=21, pos=[(1,128,4)]) }