package float32 file_number 0 "/inputs/subtree/xls/dslx/stdlib/float32.x" top fn __float32__from_int32_internal(sign: bits[1] id=1, fraction: bits[32] id=2, lz: bits[8] id=3) -> (bits[1], bits[8], bits[23]) { literal.5: bits[8] = literal(value=3, id=5, pos=[(0,221,45)]) zero_ext.4: bits[34] = zero_ext(fraction, new_bit_count=34, id=4) add.6: bits[8] = add(lz, literal.5, id=6, pos=[(0,221,40)]) shll.7: bits[34] = shll(zero_ext.4, add.6, id=7, pos=[(0,221,20)]) fraction__1: bits[33] = bit_slice(shll.7, start=0, width=33, id=8) literal.13: bits[33] = literal(value=127, id=13, pos=[(0,227,29)]) and.14: bits[33] = and(fraction__1, literal.13, id=14, pos=[(0,227,18)]) literal.15: bits[33] = literal(value=0, id=15, pos=[(0,227,41)]) literal.18: bits[3] = literal(value=7, id=18, pos=[(0,228,32)]) ne.16: bits[1] = ne(and.14, literal.15, id=16, pos=[(0,227,18)]) shrl.19: bits[33] = shrl(fraction__1, literal.18, id=19, pos=[(0,228,20)]) sticky: bits[31] = zero_ext(ne.16, new_bit_count=31, id=17) bit_slice.20: bits[26] = bit_slice(shrl.19, start=0, width=26, id=20) bit_slice.21: bits[26] = bit_slice(sticky, start=0, width=26, id=21) fraction__2: bits[26] = or(bit_slice.20, bit_slice.21, id=22, pos=[(0,228,20)]) normal_chunk: bits[3] = bit_slice(fraction__2, start=0, width=3, id=23, pos=[(0,230,31)]) literal.25: bits[3] = literal(value=4, id=25, pos=[(0,233,27)]) half_way_chunk: bits[2] = bit_slice(fraction__2, start=2, width=2, id=24, pos=[(0,231,33)]) literal.27: bits[2] = literal(value=3, id=27, pos=[(0,233,56)]) ugt.26: bits[1] = ugt(normal_chunk, literal.25, id=26, pos=[(0,233,12)]) eq.28: bits[1] = eq(half_way_chunk, literal.27, id=28, pos=[(0,233,38)]) or.29: bits[1] = or(ugt.26, eq.28, id=29, pos=[(0,233,12)]) literal.31: bits[1] = literal(value=0, id=31, pos=[(0,233,80)]) literal.30: bits[1] = literal(value=1, id=30, pos=[(0,233,66)]) zero_ext.33: bits[27] = zero_ext(fraction__2, new_bit_count=27, id=33) literal.34: bits[27] = literal(value=8, id=34, pos=[(0,234,54)]) do_round_up: bits[1] = sel(or.29, cases=[literal.31, literal.30], id=32, pos=[(0,233,8)]) zero_ext.36: bits[27] = zero_ext(fraction__2, new_bit_count=27, id=36) add.35: bits[27] = add(zero_ext.33, literal.34, id=35, pos=[(0,234,36)]) literal.38: bits[27] = literal(value=1, id=38, pos=[(0,237,31)]) literal.39: bits[5] = literal(value=26, id=39, pos=[(0,237,40)]) literal.9: bits[8] = literal(value=30, id=9, pos=[(0,223,14)]) fraction__3: bits[27] = sel(do_round_up, cases=[zero_ext.36, add.35], id=37, pos=[(0,234,19)]) shll.40: bits[27] = shll(literal.38, literal.39, id=40, pos=[(0,237,31)]) exp: bits[8] = sub(literal.9, lz, id=10, pos=[(0,223,14)]) literal.11: bits[8] = literal(value=127, id=11, pos=[(0,224,21)]) and.41: bits[27] = and(fraction__3, shll.40, id=41, pos=[(0,237,19)]) literal.42: bits[27] = literal(value=0, id=42, pos=[(0,237,47)]) bexp: bits[8] = add(exp, literal.11, id=12, pos=[(0,224,15)]) literal.44: bits[8] = literal(value=1, id=44, pos=[(0,238,36)]) literal.47: bits[2] = literal(value=3, id=47, pos=[(0,239,32)]) overflow: bits[1] = ne(and.41, literal.42, id=43, pos=[(0,237,19)]) add.45: bits[8] = add(bexp, literal.44, id=45, pos=[(0,238,29)]) shrl.48: bits[27] = shrl(fraction__3, literal.47, id=48, pos=[(0,239,20)]) bexp__1: bits[8] = sel(overflow, cases=[bexp, add.45], id=46, pos=[(0,238,15)]) literal.55: bits[8] = literal(value=126, id=55, pos=[(0,244,28)]) fraction__4: bits[23] = bit_slice(shrl.48, start=0, width=23, id=49) literal.57: bits[23] = literal(value=0, id=57, pos=[(0,244,50)]) ule.56: bits[1] = ule(bexp__1, literal.55, id=56, pos=[(0,244,20)]) eq.58: bits[1] = eq(fraction__4, literal.57, id=58, pos=[(0,244,38)]) literal.51: bits[1] = literal(value=0, id=51, pos=[(0,243,27)]) literal.52: bits[8] = literal(value=0, id=52, pos=[(0,243,39)]) literal.53: bits[23] = literal(value=0, id=53, pos=[(0,243,55)]) and.59: bits[1] = and(ule.56, eq.58, id=59, pos=[(0,244,20)]) result: (bits[1], bits[8], bits[23]) = tuple(sign, bexp__1, fraction__4, id=50, pos=[(0,241,21)]) zero: (bits[1], bits[8], bits[23]) = tuple(literal.51, literal.52, literal.53, id=54, pos=[(0,243,19)]) ret result__1: (bits[1], bits[8], bits[23]) = sel(and.59, cases=[result, zero], id=60, pos=[(0,244,17)]) }