package hfloat16 file_number 0 "/inputs/subtree/xls/dslx/stdlib/apfloat.x" file_number 1 "/inputs/subtree/xls/dslx/stdlib/std.x" file_number 2 "/inputs/subtree/xls/dslx/stdlib/hfloat16.x" top fn __hfloat16__ldexp(f: (bits[1], bits[5], bits[10]) id=152, e: bits[32] id=153) -> (bits[1], bits[5], bits[10]) { f_bexp__1: bits[5] = tuple_index(f, index=1, id=341, pos=[(0,804,5), (0,809,27), (0,2103,37), (2,66,54)]) literal.342: bits[5] = literal(value=0, id=342, pos=[(0,804,14), (0,809,27), (0,2103,37), (2,66,54)]) literal.345: bits[5] = literal(value=17, id=345, pos=[(0,266,6), (0,2107,59), (2,66,54)]) eq.343: bits[1] = eq(f_bexp__1, literal.342, id=343, pos=[(0,804,5), (0,809,27), (0,2103,37), (2,66,54)]) add.346: bits[5] = add(f_bexp__1, literal.345, id=346, pos=[(0,266,6), (0,2107,59), (2,66,54)]) not.405: bits[1] = not(eq.343, id=405, pos=[(0,809,4), (0,2103,37), (2,66,54)]) sign_ext.347: bits[33] = sign_ext(e, new_bit_count=33, id=347, pos=[(0,2107,20), (2,66,54)]) sign_ext.348: bits[33] = sign_ext(add.346, new_bit_count=33, id=348, pos=[(0,2107,41), (2,66,54)]) tuple_index.349: bits[10] = tuple_index(f, index=2, id=349, pos=[(0,809,4), (0,2103,37), (2,66,54)]) sign_ext.406: bits[10] = sign_ext(not.405, new_bit_count=10, id=406, pos=[(0,809,4), (0,2103,37), (2,66,54)]) e__1: bits[33] = add(sign_ext.347, sign_ext.348, id=351, pos=[(0,2107,20), (2,66,54)]) literal.352: bits[33] = literal(value=8589934577, id=352, pos=[(0,2118,19), (2,66,54)]) f__1_fraction: bits[10] = and(tuple_index.349, sign_ext.406, id=407, pos=[(0,809,4), (0,2103,37), (2,66,54)]) literal.354: bits[10] = literal(value=1023, id=354, pos=[(0,2118,79), (2,66,54)]) MAX_EXPONENT: bits[33] = literal(value=15, id=355, pos=[(2,66,54)]) bit_slice.356: bits[5] = bit_slice(e__1, start=0, width=5, id=356, pos=[(2,66,54)]) BIAS: bits[5] = literal(value=15, id=357, pos=[(0,343,38), (0,2109,47), (2,66,54)]) eq.358: bits[1] = eq(e__1, literal.352, id=358, pos=[(0,2118,11), (2,66,54)]) eq.359: bits[1] = eq(f__1_fraction, literal.354, id=359, pos=[(0,2118,52), (2,66,54)]) MIN_EXPONENT: bits[33] = literal(value=8589934578, id=360, pos=[(2,66,54)]) sgt.361: bits[1] = sgt(e__1, MAX_EXPONENT, id=361, pos=[(0,2112,20), (2,66,54)]) add.362: bits[5] = add(bit_slice.356, BIAS, id=362, pos=[(0,344,5), (0,2109,47), (2,66,54)]) literal.363: bits[5] = literal(value=31, id=363, pos=[(0,78,28), (0,2112,44), (2,66,54)]) literal.415: bits[4] = literal(value=0, id=415, pos=[(0,2118,8), (2,66,54)]) and.364: bits[1] = and(eq.358, eq.359, id=364, pos=[(0,2118,11), (2,66,54)]) slt.366: bits[1] = slt(e__1, MIN_EXPONENT, id=366, pos=[(0,2124,20), (2,66,54)]) sel.367: bits[5] = sel(sgt.361, cases=[add.362, literal.363], id=367, pos=[(0,2112,17), (2,66,54)]) concat.419: bits[5] = concat(literal.415, and.364, id=419, pos=[(0,2118,8), (2,66,54)]) result__2_bexp__1: bits[5] = sel(slt.366, cases=[sel.367, concat.419], id=371, pos=[(0,2124,17), (2,66,54)]) literal.350: bits[10] = literal(value=0, id=350, pos=[(0,131,73), (0,809,37), (0,2103,37), (2,66,54)]) eq.375: bits[1] = eq(result__2_bexp__1, literal.342, id=375, pos=[(0,804,5), (0,809,27), (0,2126,35), (2,66,54)]) eq.369: bits[1] = eq(f_bexp__1, literal.363, id=369, pos=[(0,96,6), (0,2129,60), (2,66,54)]) eq.370: bits[1] = eq(f__1_fraction, literal.350, id=370, pos=[(0,96,44), (0,2129,60), (2,66,54)]) or.399: bits[1] = or(eq.375, slt.366, sgt.361, eq.343, id=399, pos=[(0,809,4), (0,2126,35), (2,66,54)]) and.374: bits[1] = and(eq.369, eq.370, id=374, pos=[(0,96,6), (0,2129,60), (2,66,54)]) not.410: bits[1] = not(or.399, id=410, pos=[(0,809,4), (0,2126,35), (2,66,54)]) not.400: bits[1] = not(eq.369, id=400, pos=[(0,71,6), (0,2130,26), (2,66,54)]) f_sign: bits[1] = tuple_index(f, index=0, id=378, pos=[(0,809,60), (0,2103,37), (2,66,54)]) or.379: bits[1] = or(eq.343, and.374, id=379, pos=[(0,2129,40), (2,66,54)]) sign_ext.411: bits[10] = sign_ext(not.410, new_bit_count=10, id=411, pos=[(0,809,4), (0,2126,35), (2,66,54)]) nor.401: bits[1] = nor(not.400, eq.370, id=401, pos=[(0,71,6), (0,2130,26), (2,66,54)]) not.383: bits[1] = not(f_sign, id=383, pos=[(0,2130,17), (2,66,54)]) sel.384: bits[5] = sel(or.379, cases=[result__2_bexp__1, f_bexp__1], id=384, pos=[(0,2129,17), (2,66,54)]) and.412: bits[10] = and(tuple_index.349, sign_ext.411, id=412, pos=[(0,809,4), (0,2126,35), (2,66,54)]) literal.386: bits[10] = literal(value=512, id=386, pos=[(0,2130,17), (2,66,54)]) nor.387: bits[1] = nor(nor.401, not.383, id=387, pos=[(0,2130,17), (2,66,54)]) sel.388: bits[5] = sel(nor.401, cases=[sel.384, literal.363], id=388, pos=[(0,2130,17), (2,66,54)]) sel.389: bits[10] = sel(nor.401, cases=[and.412, literal.386], id=389, pos=[(0,2130,17), (2,66,54)]) ret result__5: (bits[1], bits[5], bits[10]) = tuple(nor.387, sel.388, sel.389, id=390, pos=[(0,2130,17), (2,66,54)]) }