package float32 file_number 0 "/inputs/subtree/xls/dslx/stdlib/float32.x" top fn __float32__from_uint32(x: bits[32] id=61) -> (bits[1], bits[8], bits[23]) { reverse.64: bits[32] = reverse(x, id=64, pos=[(0,271,17)]) one_hot.65: bits[33] = one_hot(reverse.64, lsb_prio=true, id=65, pos=[(0,271,17)]) encode.66: bits[6] = encode(one_hot.65, id=66, pos=[(0,271,17)]) sign: bits[1] = literal(value=0, id=62, pos=[(0,269,15)]) bit_slice.316: bits[5] = bit_slice(encode.66, start=1, width=5, id=316, pos=[(0,221,40), (0,272,23)]) concat.317: bits[6] = concat(sign, bit_slice.316, id=317, pos=[(0,221,40), (0,272,23)]) literal.309: bits[6] = literal(value=1, id=309, pos=[(0,221,40), (0,272,23)]) add.301: bits[6] = add(concat.317, literal.309, id=301, pos=[(0,221,40), (0,272,23)]) bit_slice.318: bits[1] = bit_slice(encode.66, start=0, width=1, id=318, pos=[(0,221,40), (0,272,23)]) concat.187: bits[33] = concat(sign, x, id=187, pos=[(0,221,20), (0,272,23)]) concat.329: bits[7] = concat(add.301, bit_slice.318, id=329, pos=[(0,221,40), (0,272,23)]) x__1_narrowed: bits[33] = shll(concat.187, concat.329, id=252, pos=[(0,272,23)]) bit_slice.279: bits[5] = bit_slice(x__1_narrowed, start=2, width=5, id=279, pos=[(0,227,18), (0,272,23)]) literal.278: bits[5] = literal(value=0, id=278, pos=[(0,227,18), (0,272,23)]) bit_slice.271: bits[1] = bit_slice(x__1_narrowed, start=7, width=1, id=271, pos=[(0,228,20), (0,272,23)]) ne.277: bits[1] = ne(bit_slice.279, literal.278, id=277, pos=[(0,227,18), (0,272,23)]) bit_slice.273: bits[2] = bit_slice(x__1_narrowed, start=8, width=2, id=273, pos=[(0,230,31), (0,272,23)]) x__5: bits[1] = or(bit_slice.271, ne.277, id=260, pos=[(0,228,20), (0,272,23)]) normal_chunk: bits[3] = concat(bit_slice.273, x__5, id=267, pos=[(0,230,31), (0,272,23)]) literal.201: bits[3] = literal(value=4, id=201, pos=[(0,233,27), (0,272,23)]) half_way_chunk: bits[2] = bit_slice(x__1_narrowed, start=9, width=2, id=274, pos=[(0,231,33), (0,272,23)]) literal.203: bits[2] = literal(value=3, id=203, pos=[(0,233,56), (0,272,23)]) ugt.204: bits[1] = ugt(normal_chunk, literal.201, id=204, pos=[(0,233,12), (0,272,23)]) eq.205: bits[1] = eq(half_way_chunk, literal.203, id=205, pos=[(0,233,38), (0,272,23)]) bit_slice.327: bits[23] = bit_slice(x__1_narrowed, start=10, width=23, id=327) literal.222: bits[23] = literal(value=0, id=222, pos=[(0,244,50), (0,272,23)]) or.206: bits[1] = or(ugt.204, eq.205, id=206, pos=[(0,233,12), (0,272,23)]) concat.321: bits[24] = concat(sign, bit_slice.327, id=321) concat.338: bits[24] = concat(literal.222, or.206, id=338) add.306: bits[24] = add(concat.321, concat.338, id=306) bit_slice.312: bits[1] = bit_slice(add.306, start=23, width=1, id=312, pos=[(0,234,19), (0,272,23)]) bexp_associative_element_squeezed: bits[2] = literal(value=1, id=296, pos=[(0,224,15), (0,272,23)]) literal.297: bits[2] = literal(value=2, id=297, pos=[(0,238,29), (0,272,23)]) concat.159: bits[7] = concat(sign, encode.66, id=159) literal.181: bits[7] = literal(value=127, id=181, pos=[(0,271,17)]) literal.290: bits[6] = literal(value=39, id=290) sel.289: bits[2] = sel(bit_slice.312, cases=[bexp_associative_element_squeezed, literal.297], id=289) add.138: bits[7] = add(concat.159, literal.181, id=138, pos=[(0,271,17)]) concat.298: bits[8] = concat(literal.290, sel.289, id=298) lz: bits[8] = sign_ext(add.138, new_bit_count=8, id=139, pos=[(0,271,17)]) bexp__1: bits[8] = sub(concat.298, lz, id=284) bit_slice.223: bits[7] = bit_slice(bexp__1, start=0, width=7, id=223, pos=[(0,244,20), (0,272,23)]) x__4: bits[23] = bit_slice(add.306, start=0, width=23, id=314, pos=[(0,272,23)]) bit_slice.225: bits[1] = bit_slice(bexp__1, start=7, width=1, id=225, pos=[(0,244,20), (0,272,23)]) and_reduce.226: bits[1] = and_reduce(bit_slice.223, id=226, pos=[(0,244,20), (0,272,23)]) ne.234: bits[1] = ne(x__4, literal.222, id=234, pos=[(0,244,20), (0,272,23)]) or.310: bits[1] = or(bit_slice.225, and_reduce.226, ne.234, id=310, pos=[(0,244,17), (0,272,23)]) sign_ext.294: bits[8] = sign_ext(or.310, new_bit_count=8, id=294, pos=[(0,244,17), (0,272,23)]) and.295: bits[8] = and(bexp__1, sign_ext.294, id=295, pos=[(0,244,17), (0,272,23)]) ret result__1: (bits[1], bits[8], bits[23]) = tuple(sign, and.295, x__4, id=233, pos=[(0,244,17), (0,272,23)]) }