package float32 file_number 0 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 2 "/inputs/subtree/xls/dslx/stdlib/float32.x" top fn __float32__to_uint32(x: (bits[1], bits[8], bits[23]) id=135) -> bits[32] { x_bexp__2: bits[8] = tuple_index(x, index=1, id=337, pos=[(1,266,6), (1,2642,31), (1,2897,29), (2,109,50)]) literal.338: bits[8] = literal(value=129, id=338, pos=[(1,266,6), (1,2642,31), (1,2897,29), (2,109,50)]) exp: bits[8] = add(x_bexp__2, literal.338, id=339, pos=[(1,266,6), (1,2642,31), (1,2897,29), (2,109,50)]) sign_ext.340: bits[9] = sign_ext(exp, new_bit_count=9, id=340, pos=[(1,2897,29), (2,109,50)]) literal.341: bits[9] = literal(value=489, id=341, pos=[(1,2664,29), (1,2897,29), (2,109,50)]) add.342: bits[9] = add(sign_ext.340, literal.341, id=342, pos=[(1,2664,29), (1,2897,29), (2,109,50)]) literal.347: bits[9] = literal(value=0, id=347, pos=[(1,2667,18), (1,2897,29), (2,109,50)]) sgt.353: bits[1] = sgt(add.342, literal.347, id=353, pos=[(1,2667,18), (1,2897,29), (2,109,50)]) literal.345: bits[1] = literal(value=1, id=345, pos=[(1,2646,21), (1,2897,29), (2,109,50)]) x_fraction__2: bits[23] = tuple_index(x, index=2, id=344, pos=[(1,2646,21), (1,2897,29), (2,109,50)]) neg.384: bits[9] = neg(add.342, id=384, pos=[(1,2664,29), (1,2897,29), (2,109,50)]) literal.351: bits[8] = literal(value=255, id=351, pos=[(1,96,29), (1,2651,37), (1,2897,29), (2,109,50)]) literal.352: bits[23] = literal(value=0, id=352, pos=[(1,96,57), (1,2651,37), (1,2897,29), (2,109,50)]) literal.343: bits[9] = literal(value=1, id=343, pos=[(1,2897,29), (2,109,50)]) effective_exp: bits[32] = sign_ext(add.342, new_bit_count=32, id=346, pos=[(1,2664,29), (1,2897,29), (2,109,50)]) sign_ext.389: bits[32] = sign_ext(sgt.353, new_bit_count=32, id=389) fraction_shift_bits: bits[24] = concat(literal.345, x_fraction__2, id=349, pos=[(1,2646,21), (1,2897,29), (2,109,50)]) sign_ext.385: bits[32] = sign_ext(neg.384, new_bit_count=32, id=385, pos=[(1,2666,26), (1,2897,29), (2,109,50)]) eq.357: bits[1] = eq(x_bexp__2, literal.351, id=357, pos=[(1,96,6), (1,2651,37), (1,2897,29), (2,109,50)]) ne.358: bits[1] = ne(x_fraction__2, literal.352, id=358, pos=[(1,71,44), (1,2654,20), (1,2897,29), (2,109,50)]) fraction: bits[32] = concat(literal.343, x_fraction__2, id=348, pos=[(1,2897,29), (2,109,50)]) and.390: bits[32] = and(effective_exp, sign_ext.389, id=390) literal.355: bits[8] = literal(value=0, id=355, pos=[(1,2666,13), (1,2897,29), (2,109,50)]) shrl.356: bits[24] = shrl(fraction_shift_bits, sign_ext.385, id=356, pos=[(1,2666,13), (1,2897,29), (2,109,50)]) and.365: bits[1] = and(eq.357, ne.358, id=365, pos=[(1,71,6), (1,2654,20), (1,2897,29), (2,109,50)]) bit_slice.366: bits[1] = bit_slice(exp, start=7, width=1, id=366, pos=[(1,2656,14), (1,2897,29), (2,109,50)]) literal.359: bits[8] = literal(value=127, id=359, pos=[(1,2658,14), (1,2897,29), (2,109,50)]) bit_slice.360: bits[1] = bit_slice(effective_exp, start=31, width=1, id=360, pos=[(1,2665,11), (1,2897,29), (2,109,50)]) shll.388: bits[32] = shll(fraction, and.390, id=388) concat.362: bits[32] = concat(literal.355, shrl.356, id=362, pos=[(1,2666,13), (1,2897,29), (2,109,50)]) or.373: bits[1] = or(and.365, bit_slice.366, id=373, pos=[(1,2654,11), (1,2897,29), (2,109,50)]) literal.363: bits[8] = literal(value=32, id=363, pos=[(1,2650,18), (1,2897,29), (2,109,50)]) not.382: bits[1] = not(eq.357, id=382, pos=[(1,96,6), (1,2651,37), (1,2897,29), (2,109,50)]) eq.367: bits[1] = eq(x_bexp__2, literal.359, id=367, pos=[(1,2658,14), (1,2897,29), (2,109,50)]) sel.368: bits[32] = sel(bit_slice.360, cases=[shll.388, concat.362], id=368, pos=[(1,2665,8), (1,2897,29), (2,109,50)]) literal.369: bits[32] = literal(value=1, id=369, pos=[(1,2659,8), (1,2897,29), (2,109,50)]) not.391: bits[1] = not(or.373, id=391, pos=[(1,2654,11), (1,2897,29), (2,109,50)]) x_sign__2: bits[1] = tuple_index(x, index=0, id=370, pos=[(1,2651,64), (1,2897,29), (2,109,50)]) exp_oob: bits[1] = sge(exp, literal.363, id=371, pos=[(1,2650,18), (1,2897,29), (2,109,50)]) nor.383: bits[1] = nor(not.382, ne.358, id=383, pos=[(1,96,6), (1,2651,37), (1,2897,29), (2,109,50)]) sel.374: bits[32] = sel(eq.367, cases=[sel.368, literal.369], id=374, pos=[(1,2658,11), (1,2897,29), (2,109,50)]) sign_ext.392: bits[32] = sign_ext(not.391, new_bit_count=32, id=392, pos=[(1,2654,11), (1,2897,29), (2,109,50)]) not.376: bits[1] = not(x_sign__2, id=376, pos=[(1,2653,8), (1,2897,29), (2,109,50)]) or.377: bits[1] = or(exp_oob, nor.383, x_sign__2, id=377, pos=[(1,2651,20), (1,2897,29), (2,109,50)]) and.393: bits[32] = and(sel.374, sign_ext.392, id=393, pos=[(1,2654,11), (1,2897,29), (2,109,50)]) sign_ext.379: bits[32] = sign_ext(not.376, new_bit_count=32, id=379, pos=[(1,2653,8), (1,2897,29), (2,109,50)]) ret result: bits[32] = sel(or.377, cases=[and.393, sign_ext.379], id=380, pos=[(1,2651,17), (1,2897,29), (2,109,50)]) }