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" fn __std__mask_bits__8() -> bits[8] { literal.2: bits[8] = literal(value=0, id=2, pos=[(0,835,41)]) X: bits[32] = literal(value=8, id=1, pos=[(0,835,17)]) ret not.3: bits[8] = not(literal.2, id=3, pos=[(0,835,40)]) } fn __apfloat__is_nan__8_23(x: (bits[1], bits[8], bits[23]) id=4) -> bits[1] { x_bexp: bits[8] = tuple_index(x, index=1, id=7, pos=[(1,71,6)]) invoke.8: bits[8] = invoke(to_apply=__std__mask_bits__8, id=8, pos=[(1,71,29)]) x_fraction: bits[23] = tuple_index(x, index=2, id=10, pos=[(1,71,44)]) literal.11: bits[23] = literal(value=0, id=11, pos=[(1,71,57)]) eq.9: bits[1] = eq(x_bexp, invoke.8, id=9, pos=[(1,71,6)]) ne.12: bits[1] = ne(x_fraction, literal.11, id=12, pos=[(1,71,44)]) EXP_SZ: bits[32] = literal(value=8, id=5, pos=[(1,70,14)]) FRACTION_SZ: bits[32] = literal(value=23, id=6, pos=[(1,70,27)]) ret and.13: bits[1] = and(eq.9, ne.12, id=13, pos=[(1,71,6)]) } top fn __float32__is_nan(f: (bits[1], bits[8], bits[23]) id=14) -> bits[1] { F32_EXP_SZ: bits[32] = literal(value=8, id=15, pos=[(2,18,23)]) F32_FRACTION_SZ: bits[32] = literal(value=23, id=16, pos=[(2,19,28)]) ret invoke.17: bits[1] = invoke(f, to_apply=__apfloat__is_nan__8_23, id=17, pos=[(2,29,47)]) }