package bfloat16 file_number 0 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/bfloat16.x" top fn __bfloat16__normalize(sign: bits[1] id=47, exp: bits[8] id=48, fraction_with_hidden: bits[8] id=49) -> (bits[1], bits[8], bits[7]) { reverse.116: bits[8] = reverse(fraction_with_hidden, id=116, pos=[(0,2063,27), (1,97,22)]) one_hot.117: bits[9] = one_hot(reverse.116, lsb_prio=true, id=117, pos=[(0,2063,27), (1,97,22)]) literal.139: bits[4] = literal(value=0, id=139, pos=[(1,97,22)]) encode.120: bits[4] = encode(one_hot.117, id=120, pos=[(0,2063,27), (1,97,22)]) concat.140: bits[8] = concat(literal.139, encode.120, id=140, pos=[(1,97,22)]) literal.122: bits[4] = literal(value=8, id=122, pos=[(1,97,22)]) is_denormal: bits[1] = ule(exp, concat.140, id=125, pos=[(0,2069,22), (1,97,22)]) eq.126: bits[1] = eq(encode.120, literal.122, id=126, pos=[(1,97,22)]) nor.160: bits[1] = nor(is_denormal, eq.126, id=160, pos=[(1,97,22)]) bit_slice.128: bits[7] = bit_slice(fraction_with_hidden, start=0, width=7, id=128, pos=[(0,2067,9), (1,97,22)]) sub.132: bits[8] = sub(exp, concat.140, id=132, pos=[(0,2078,18), (1,97,22)]) sign_ext.153: bits[8] = sign_ext(nor.160, new_bit_count=8, id=153, pos=[(1,97,22)]) normalized_fraction: bits[7] = shll(bit_slice.128, encode.120, id=134, pos=[(1,97,22)]) sign_ext.157: bits[7] = sign_ext(nor.160, new_bit_count=7, id=157, pos=[(1,97,22)]) and.154: bits[8] = and(sub.132, sign_ext.153, id=154, pos=[(1,97,22)]) and.158: bits[7] = and(normalized_fraction, sign_ext.157, id=158, pos=[(1,97,22)]) ret tuple.138: (bits[1], bits[8], bits[7]) = tuple(sign, and.154, and.158, id=138, pos=[(1,97,22)]) }