package bfloat16 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/bfloat16.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_7(x: (bits[1], bits[8], bits[7]) 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[7] = tuple_index(x, index=2, id=10, pos=[(1,71,44)]) literal.11: bits[7] = 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=7, id=6, pos=[(1,70,27)]) ret and.13: bits[1] = and(eq.9, ne.12, id=13, pos=[(1,71,6)]) } top fn __bfloat16__is_nan(f: (bits[1], bits[8], bits[7]) id=14) -> bits[1] { ret invoke.15: bits[1] = invoke(f, to_apply=__apfloat__is_nan__8_7, id=15, pos=[(2,24,48)]) }