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_fractional_bits(NUM_BITS: bits[32] id=22, BINARY_EXPONENT: bits[32] id=23) -> bits[32] { neg.47: bits[32] = neg(BINARY_EXPONENT, id=47, pos=[(0,515,69), (1,129,19), (1,150,39)]) literal.49: bits[1] = literal(value=0, id=49, pos=[(1,150,39)]) sign_ext.50: bits[33] = sign_ext(neg.47, new_bit_count=33, id=50, pos=[(1,150,39)]) concat.51: bits[33] = concat(literal.49, NUM_BITS, id=51, pos=[(1,150,39)]) slt.61: bits[1] = slt(sign_ext.50, concat.51, id=61, pos=[(1,129,8), (1,150,39)]) add.53: bits[32] = add(NUM_BITS, BINARY_EXPONENT, id=53, pos=[(1,132,13), (1,150,39)]) sign_ext.59: bits[32] = sign_ext(slt.61, new_bit_count=32, id=59, pos=[(1,129,8), (1,150,39)]) bit_slice.46: bits[1] = bit_slice(BINARY_EXPONENT, start=31, width=1, id=46, pos=[(0,515,52), (1,129,19), (1,150,39)]) and.60: bits[32] = and(add.53, sign_ext.59, id=60, pos=[(1,129,8), (1,150,39)]) sel.57: bits[32] = sel(bit_slice.46, cases=[NUM_BITS, and.60], id=57, pos=[(1,128,4), (1,150,39)]) ret sub.25: bits[32] = sub(NUM_BITS, sel.57, id=25, pos=[(1,150,4)]) }