public final class org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  public float input0;
    descriptor: F
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameter(value = 0)

  public float input1;
    descriptor: F
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameter(value = 1)

  public float input2;
    descriptor: F
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameter(value = 2)

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
         0: .line 46
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest;

  public void checkNotSPARC();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
         0: .line 50
            ldc "skipping test on SPARC"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokestatic org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.isSPARC:(Ljdk/vm/ci/code/Architecture;)Z
            invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
         1: .line 51
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
            astore 1 /* rt */
        start local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider rt
         2: .line 52
            ldc "skipping FMA specific tests"
            aload 1 /* rt */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useFMAIntrinsics:Z
            invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         3: .line 53
            return
        end local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider rt
        end local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest;
            2    4     1    rt  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public static java.util.Collection<java.lang.Object[]> data();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=0
         0: .line 57
            bipush 12
            newarray 6
            dup
            iconst_0
            fconst_0
            fastore
            dup
            iconst_1
            fconst_1
            fastore
            dup
            iconst_2
            ldc 4.0
            fastore
            dup
            iconst_3
            ldc -0.0
            fastore
            dup
            iconst_4
            ldc -1.0
            fastore
            dup
            iconst_5
            ldc 4.0
            fastore
            dup
            bipush 6
            ldc 1.4E-45
            fastore
            dup
            bipush 7
            ldc 3.4028235E38
            fastore
            dup
            bipush 8
            ldc -Infinity
            fastore
            dup
            bipush 9
            ldc Infinity
            fastore
            dup
            bipush 10
         1: .line 58
            ldc NaN
            fastore
            dup
            bipush 11
            ldc -8388607
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            fastore
         2: .line 57
            astore 0 /* inputs */
        start local 0 // float[] inputs
         3: .line 60
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* tests */
        start local 1 // java.util.List tests
         4: .line 61
            aload 0 /* inputs */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 16
      StackMap locals: float[] java.util.List top int int float[]
      StackMap stack:
         5: aload 5
            iload 3
            faload
            fstore 2 /* a */
        start local 2 // float a
         6: .line 62
            aload 0 /* inputs */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 14
      StackMap locals: float[] java.util.List float int int float[] top int int float[]
      StackMap stack:
         7: aload 9
            iload 7
            faload
            fstore 6 /* b */
        start local 6 // float b
         8: .line 63
            aload 0 /* inputs */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 12
      StackMap locals: float[] java.util.List float int int float[] float int int float[] top int int float[]
      StackMap stack:
         9: aload 13
            iload 11
            faload
            fstore 10 /* c */
        start local 10 // float c
        10: .line 64
            aload 1 /* tests */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            fload 2 /* a */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_1
            fload 6 /* b */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_2
            fload 10 /* c */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // float c
        11: .line 63
            iinc 11 1
      StackMap locals:
      StackMap stack:
        12: iload 11
            iload 12
            if_icmplt 9
        end local 6 // float b
        13: .line 62
            iinc 7 1
      StackMap locals: float[] java.util.List float int int float[] top int int float[]
      StackMap stack:
        14: iload 7
            iload 8
            if_icmplt 7
        end local 2 // float a
        15: .line 61
            iinc 3 1
      StackMap locals: float[] java.util.List top int int float[]
      StackMap stack:
        16: iload 3
            iload 4
            if_icmplt 5
        17: .line 68
            aload 1 /* tests */
            areturn
        end local 1 // java.util.List tests
        end local 0 // float[] inputs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            3   18     0  inputs  [F
            4   18     1   tests  Ljava/util/List<[Ljava/lang/Object;>;
            6   15     2       a  F
            8   13     6       b  F
           10   11    10       c  F
    Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters(name = "{0}, {1}, {2}")

  public static float fma(float, float, float);
    descriptor: (FFF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // float a
        start local 1 // float b
        start local 2 // float c
         0: .line 76
            fload 0 /* a */
            fload 1 /* b */
            fload 2 /* c */
            invokestatic java.lang.Math.fma:(FFF)F
            freturn
        end local 2 // float c
        end local 1 // float b
        end local 0 // float a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  F
            0    1     1     b  F
            0    1     2     c  F
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public void testFMA();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
         0: .line 81
            aload 0 /* this */
            ldc "fma"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input0:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input1:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.input2:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 82
            return
        end local 0 // org.graalvm.compiler.hotspot.jdk9.test.MathFloatFMATest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "MathFloatFMATest.java"
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)