package float32 file_number 0 "/inputs/subtree/xls/dslx/stdlib/float32.x" top fn __float32__from_int32(x: bits[32] id=61) -> (bits[1], bits[8], bits[23]) { bit_slice.73: bits[31] = bit_slice(x, start=0, width=31, id=73) sign: bits[1] = bit_slice(x, start=31, width=1, id=117, pos=[(0,258,20)]) neg.182: bits[31] = neg(bit_slice.73, id=182, pos=[(0,259,33)]) fraction: bits[31] = sel(sign, cases=[bit_slice.73, neg.182], id=74, pos=[(0,259,23)]) reverse.75: bits[31] = reverse(fraction, id=75, pos=[(0,260,20)]) one_hot.76: bits[32] = one_hot(reverse.75, lsb_prio=true, id=76, pos=[(0,260,20)]) literal.208: bits[1] = literal(value=0, id=208, pos=[(0,261,27)]) encode.77: bits[5] = encode(one_hot.76, id=77, pos=[(0,260,20)]) literal.284: bits[2] = literal(value=0, id=284, pos=[(0,221,20), (0,261,27)]) concat.276: bits[6] = concat(literal.208, encode.77, id=276) literal.287: bits[6] = literal(value=3, id=287, pos=[(0,221,45), (0,261,27)]) concat.285: bits[33] = concat(literal.284, fraction, id=285, pos=[(0,221,20), (0,261,27)]) add.270: bits[6] = add(concat.276, literal.287, id=270, pos=[(0,221,40), (0,261,27)]) fraction__1_narrowed: bits[33] = shll(concat.285, add.270, id=273, pos=[(0,261,27)]) bit_slice.313: bits[4] = bit_slice(fraction__1_narrowed, start=3, width=4, id=313, pos=[(0,227,18), (0,261,27)]) literal.312: bits[4] = literal(value=0, id=312, pos=[(0,227,18), (0,261,27)]) bit_slice.304: bits[1] = bit_slice(fraction__1_narrowed, start=7, width=1, id=304, pos=[(0,228,20), (0,261,27)]) ne.311: bits[1] = ne(bit_slice.313, literal.312, id=311, pos=[(0,227,18), (0,261,27)]) bit_slice.306: bits[2] = bit_slice(fraction__1_narrowed, start=8, width=2, id=306, pos=[(0,230,31), (0,261,27)]) fraction__5: bits[1] = or(bit_slice.304, ne.311, id=281, pos=[(0,228,20), (0,261,27)]) normal_chunk: bits[3] = concat(bit_slice.306, fraction__5, id=300, pos=[(0,230,31), (0,261,27)]) literal.224: bits[3] = literal(value=4, id=224, pos=[(0,233,27), (0,261,27)]) half_way_chunk: bits[2] = bit_slice(fraction__1_narrowed, start=9, width=2, id=307, pos=[(0,231,33), (0,261,27)]) literal.226: bits[2] = literal(value=3, id=226, pos=[(0,233,56), (0,261,27)]) ugt.227: bits[1] = ugt(normal_chunk, literal.224, id=227, pos=[(0,233,12), (0,261,27)]) eq.228: bits[1] = eq(half_way_chunk, literal.226, id=228, pos=[(0,233,38), (0,261,27)]) bit_slice.354: bits[23] = bit_slice(fraction__1_narrowed, start=10, width=23, id=354) literal.157: bits[23] = literal(value=0, id=157, pos=[(0,255,4)]) or.229: bits[1] = or(ugt.227, eq.228, id=229, pos=[(0,233,12), (0,261,27)]) concat.348: bits[24] = concat(literal.208, bit_slice.354, id=348) concat.364: bits[24] = concat(literal.157, or.229, id=364) add.338: bits[24] = add(concat.348, concat.364, id=338) bit_slice.343: bits[1] = bit_slice(add.338, start=23, width=1, id=343, pos=[(0,234,19), (0,261,27)]) bexp_associative_element_squeezed: bits[2] = literal(value=1, id=333, pos=[(0,224,15), (0,261,27)]) literal.334: bits[2] = literal(value=2, id=334, pos=[(0,255,4)]) literal.324: bits[6] = literal(value=39, id=324) sel.323: bits[2] = sel(bit_slice.343, cases=[bexp_associative_element_squeezed, literal.334], id=323) literal.204: bits[3] = literal(value=0, id=204) concat.335: bits[8] = concat(literal.324, sel.323, id=335) lz: bits[8] = concat(literal.204, encode.77, id=184) bexp__1: bits[8] = sub(concat.335, lz, id=318) bit_slice.246: bits[7] = bit_slice(bexp__1, start=0, width=7, id=246, pos=[(0,244,20), (0,261,27)]) fraction__4: bits[23] = bit_slice(add.338, start=0, width=23, id=345, pos=[(0,261,27)]) literal.62: bits[32] = literal(value=2147483648, id=62, pos=[(0,253,30)]) bit_slice.248: bits[1] = bit_slice(bexp__1, start=7, width=1, id=248, pos=[(0,244,20), (0,261,27)]) and_reduce.249: bits[1] = and_reduce(bit_slice.246, id=249, pos=[(0,244,20), (0,261,27)]) ne.257: bits[1] = ne(fraction__4, literal.157, id=257, pos=[(0,244,20), (0,261,27)]) is_neg_int_max: bits[1] = eq(x, literal.62, id=63, pos=[(0,253,25)]) nor.251: bits[1] = nor(bit_slice.248, and_reduce.249, ne.257, id=251, pos=[(0,244,20), (0,261,27)]) or.293: bits[1] = or(bit_slice.248, and_reduce.249, ne.257, id=293, pos=[(0,244,17), (0,261,27)]) or.297: bits[1] = or(is_neg_int_max, nor.251, id=297, pos=[(0,255,4)]) not.265: bits[1] = not(is_neg_int_max, id=265, pos=[(0,255,4)]) sign_ext.328: bits[8] = sign_ext(or.293, new_bit_count=8, id=328, pos=[(0,244,17), (0,261,27)]) not.330: bits[1] = not(or.297, id=330, pos=[(0,255,4)]) and.296: bits[1] = and(not.265, or.293, sign, id=296, pos=[(0,255,4)]) and.329: bits[8] = and(bexp__1, sign_ext.328, id=329, pos=[(0,244,17), (0,261,27)]) literal.156: bits[8] = literal(value=158, id=156, pos=[(0,255,4)]) sign_ext.331: bits[23] = sign_ext(not.330, new_bit_count=23, id=331, pos=[(0,255,4)]) or.267: bits[1] = or(is_neg_int_max, and.296, id=267, pos=[(0,255,4)]) sel.139: bits[8] = sel(is_neg_int_max, cases=[and.329, literal.156], id=139, pos=[(0,255,4)]) and.332: bits[23] = and(fraction__4, sign_ext.331, id=332, pos=[(0,255,4)]) ret tuple.143: (bits[1], bits[8], bits[23]) = tuple(or.267, sel.139, and.332, id=143, pos=[(0,255,4)]) }