public final class java.lang.StrictMath
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.StrictMath
  super_class: java.lang.Object
{
  public static final double E;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2.718281828459045

  public static final double PI;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.141592653589793

  private static final double DEGREES_TO_RADIANS;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.017453292519943295

  private static final double RADIANS_TO_DEGREES;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 57.29577951308232

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 82
            ldc Ljava/lang/StrictMath;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.lang.StrictMath.$assertionsDisabled:Z
         3: .line 113
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.StrictMath this
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.StrictMath this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/StrictMath;

  public static native double sin(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double cos(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double tan(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double asin(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double acos(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double atan(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static strict double toRadians(double);
    descriptor: (D)D
    flags: (0x0809) ACC_PUBLIC, ACC_STATIC, ACC_STRICT
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double angdeg
         0: .line 197
            dload 0 /* angdeg */
            ldc 0.017453292519943295
            dmul
            dreturn
        end local 0 // double angdeg
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  angdeg  D
    MethodParameters:
        Name  Flags
      angdeg  

  public static strict double toDegrees(double);
    descriptor: (D)D
    flags: (0x0809) ACC_PUBLIC, ACC_STATIC, ACC_STRICT
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double angrad
         0: .line 214
            dload 0 /* angrad */
            ldc 57.29577951308232
            dmul
            dreturn
        end local 0 // double angrad
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  angrad  D
    MethodParameters:
        Name  Flags
      angrad  

  public static double exp(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double a
         0: .line 231
            dload 0 /* a */
            invokestatic java.lang.FdLibm$Exp.compute:(D)D
            dreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  public static native double log(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double log10(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      a     

  public static native double sqrt(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      a     

  public static double cbrt(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double a
         0: .line 313
            dload 0 /* a */
            invokestatic java.lang.FdLibm$Cbrt.compute:(D)D
            dreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  public static native double IEEEremainder(double, double);
    descriptor: (DD)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      f1    
      f2    

  public static double ceil(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // double a
         0: .line 359
            dload 0 /* a */
            ldc -0.0
            dconst_1
            dconst_1
            invokestatic java.lang.StrictMath.floorOrCeil:(DDDD)D
            dreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  public static double floor(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // double a
         0: .line 378
            dload 0 /* a */
            ldc -1.0
            dconst_0
            ldc -1.0
            invokestatic java.lang.StrictMath.floorOrCeil:(DDDD)D
            dreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  private static double floorOrCeil(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // double a
        start local 2 // double negativeBoundary
        start local 4 // double positiveBoundary
        start local 6 // double sign
         0: .line 393
            dload 0 /* a */
            invokestatic java.lang.Math.getExponent:(D)I
            istore 8 /* exponent */
        start local 8 // int exponent
         1: .line 395
            iload 8 /* exponent */
            ifge 6
         2: .line 401
            dload 0 /* a */
            dconst_0
            dcmpl
            ifne 3
            dload 0 /* a */
            goto 5
         3: .line 402
      StackMap locals: int
      StackMap stack:
            dload 0 /* a */
            dconst_0
            dcmpg
            ifge 4
            dload 2 /* negativeBoundary */
            goto 5
      StackMap locals:
      StackMap stack:
         4: dload 4 /* positiveBoundary */
         5: .line 401
      StackMap locals:
      StackMap stack: double
            dreturn
         6: .line 403
      StackMap locals:
      StackMap stack:
            iload 8 /* exponent */
            bipush 52
            if_icmplt 8
         7: .line 407
            dload 0 /* a */
            dreturn
         8: .line 411
      StackMap locals:
      StackMap stack:
            getstatic java.lang.StrictMath.$assertionsDisabled:Z
            ifne 10
            iload 8 /* exponent */
            iflt 9
            iload 8 /* exponent */
            bipush 51
            if_icmple 10
      StackMap locals:
      StackMap stack:
         9: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 413
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 9 /* doppel */
        start local 9 // long doppel
        11: .line 414
            ldc 4503599627370495
            iload 8 /* exponent */
            lshr
            lstore 11 /* mask */
        start local 11 // long mask
        12: .line 416
            lload 11 /* mask */
            lload 9 /* doppel */
            land
            lconst_0
            lcmp
            ifne 14
        13: .line 417
            dload 0 /* a */
            dreturn
        14: .line 419
      StackMap locals: long long
      StackMap stack:
            lload 9 /* doppel */
            lload 11 /* mask */
            ldc -1
            lxor
            land
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dstore 13 /* result */
        start local 13 // double result
        15: .line 420
            dload 6 /* sign */
            dload 0 /* a */
            dmul
            dconst_0
            dcmpl
            ifle 17
        16: .line 421
            dload 13 /* result */
            dload 6 /* sign */
            dadd
            dstore 13 /* result */
        17: .line 422
      StackMap locals: double
      StackMap stack:
            dload 13 /* result */
            dreturn
        end local 13 // double result
        end local 11 // long mask
        end local 9 // long doppel
        end local 8 // int exponent
        end local 6 // double sign
        end local 4 // double positiveBoundary
        end local 2 // double negativeBoundary
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0                 a  D
            0   18     2  negativeBoundary  D
            0   18     4  positiveBoundary  D
            0   18     6              sign  D
            1   18     8          exponent  I
           11   18     9            doppel  J
           12   18    11              mask  J
           15   18    13            result  D
    MethodParameters:
                  Name  Flags
      a                 
      negativeBoundary  
      positiveBoundary  
      sign              

  public static double rint(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // double a
         0: .line 468
            ldc 4.503599627370496E15
            dstore 2 /* twoToThe52 */
        start local 2 // double twoToThe52
         1: .line 469
            dconst_1
            dload 0 /* a */
            invokestatic java.lang.Math.copySign:(DD)D
            dstore 4 /* sign */
        start local 4 // double sign
         2: .line 470
            dload 0 /* a */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* a */
         3: .line 472
            dload 0 /* a */
            dload 2 /* twoToThe52 */
            dcmpg
            ifge 5
         4: .line 473
            dload 2 /* twoToThe52 */
            dload 0 /* a */
            dadd
            dload 2 /* twoToThe52 */
            dsub
            dstore 0 /* a */
         5: .line 476
      StackMap locals: double double
      StackMap stack:
            dload 4 /* sign */
            dload 0 /* a */
            dmul
            dreturn
        end local 4 // double sign
        end local 2 // double twoToThe52
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0           a  D
            1    6     2  twoToThe52  D
            2    6     4        sign  D
    MethodParameters:
      Name  Flags
      a     

  public static native double atan2(double, double);
    descriptor: (DD)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      y     
      x     

  public static double pow(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 651
            dload 0 /* a */
            dload 2 /* b */
            invokestatic java.lang.FdLibm$Pow.compute:(DD)D
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static int round(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float a
         0: .line 674
            fload 0 /* a */
            invokestatic java.lang.Math.round:(F)I
            ireturn
        end local 0 // float a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  F
    MethodParameters:
      Name  Flags
      a     

  public static long round(double);
    descriptor: (D)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double a
         0: .line 698
            dload 0 /* a */
            invokestatic java.lang.Math.round:(D)J
            lreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  public static double random();
    descriptor: ()D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 729
            getstatic java.lang.StrictMath$RandomNumberGeneratorHolder.randomNumberGenerator:Ljava/util/Random;
            invokevirtual java.util.Random.nextDouble:()D
            dreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int addExact(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 744
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.addExact:(II)I
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long addExact(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 759
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.addExact:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int subtractExact(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 774
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.subtractExact:(II)I
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long subtractExact(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 789
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.subtractExact:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int multiplyExact(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 804
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.multiplyExact:(II)I
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long multiplyExact(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // long x
        start local 2 // int y
         0: .line 819
            lload 0 /* x */
            iload 2 /* y */
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lreturn
        end local 2 // int y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long multiplyExact(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 834
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.multiplyExact:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int toIntExact(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long value
         0: .line 848
            lload 0 /* value */
            invokestatic java.lang.Math.toIntExact:(J)I
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static long multiplyFull(int, int);
    descriptor: (II)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 861
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.multiplyFull:(II)J
            lreturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long multiplyHigh(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 875
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.multiplyHigh:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int floorDiv(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 899
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.floorDiv:(II)I
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long floorDiv(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // long x
        start local 2 // int y
         0: .line 923
            lload 0 /* x */
            iload 2 /* y */
            invokestatic java.lang.Math.floorDiv:(JI)J
            lreturn
        end local 2 // int y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long floorDiv(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 947
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.floorDiv:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int floorMod(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 974
            iload 0 /* x */
            iload 1 /* y */
            invokestatic java.lang.Math.floorMod:(II)I
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int floorMod(long, int);
    descriptor: (JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // long x
        start local 2 // int y
         0: .line 1002
            lload 0 /* x */
            iload 2 /* y */
            invokestatic java.lang.Math.floorMod:(JI)I
            ireturn
        end local 2 // int y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static long floorMod(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 1029
            lload 0 /* x */
            lload 2 /* y */
            invokestatic java.lang.Math.floorMod:(JJ)J
            lreturn
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  J
            0    1     2     y  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int abs(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int a
         0: .line 1046
            iload 0 /* a */
            invokestatic java.lang.Math.abs:(I)I
            ireturn
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  I
    MethodParameters:
      Name  Flags
      a     

  public static long abs(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long a
         0: .line 1063
            lload 0 /* a */
            invokestatic java.lang.Math.abs:(J)J
            lreturn
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  J
    MethodParameters:
      Name  Flags
      a     

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

  public static double abs(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double a
         0: .line 1111
            dload 0 /* a */
            invokestatic java.lang.Math.abs:(D)D
            dreturn
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
    MethodParameters:
      Name  Flags
      a     

  public static int max(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int a
        start local 1 // int b
         0: .line 1126
            iload 0 /* a */
            iload 1 /* b */
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  I
            0    1     1     b  I
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long max(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 1140
            lload 0 /* a */
            lload 2 /* b */
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  J
            0    1     2     b  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static float max(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float a
        start local 1 // float b
         0: .line 1158
            fload 0 /* a */
            fload 1 /* b */
            invokestatic java.lang.Math.max:(FF)F
            freturn
        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
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double max(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 1176
            dload 0 /* a */
            dload 2 /* b */
            invokestatic java.lang.Math.max:(DD)D
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static int min(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int a
        start local 1 // int b
         0: .line 1191
            iload 0 /* a */
            iload 1 /* b */
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  I
            0    1     1     b  I
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      a     
      b     

  public static long min(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 1205
            lload 0 /* a */
            lload 2 /* b */
            invokestatic java.lang.Math.min:(JJ)J
            lreturn
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  J
            0    1     2     b  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static float min(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float a
        start local 1 // float b
         0: .line 1223
            fload 0 /* a */
            fload 1 /* b */
            invokestatic java.lang.Math.min:(FF)F
            freturn
        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
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double min(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 1241
            dload 0 /* a */
            dload 2 /* b */
            invokestatic java.lang.Math.min:(DD)D
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double fma(double, double, double);
    descriptor: (DDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // double a
        start local 2 // double b
        start local 4 // double c
         0: .line 1295
            dload 0 /* a */
            dload 2 /* b */
            dload 4 /* c */
            invokestatic java.lang.Math.fma:(DDD)D
            dreturn
        end local 4 // double c
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
            0    1     4     c  D
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  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 1349
            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 static double ulp(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 1376
            dload 0 /* d */
            invokestatic java.lang.Math.ulp:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float ulp(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 1403
            fload 0 /* f */
            invokestatic java.lang.Math.ulp:(F)F
            freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static double signum(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 1424
            dload 0 /* d */
            invokestatic java.lang.Math.signum:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float signum(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 1445
            fload 0 /* f */
            invokestatic java.lang.Math.signum:(F)F
            freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static native double sinh(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      x     

  public static native double cosh(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      x     

  public static native double tanh(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      x     

  public static double hypot(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double x
        start local 2 // double y
         0: .line 1550
            dload 0 /* x */
            dload 2 /* y */
            invokestatic java.lang.FdLibm$Hypot.compute:(DD)D
            dreturn
        end local 2 // double y
        end local 0 // double x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  D
            0    1     2     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  public static native double expm1(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      x     

  public static native double log1p(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      x     

  public static double copySign(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double magnitude
        start local 2 // double sign
         0: .line 1625
            dload 0 /* magnitude */
            dload 2 /* sign */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 1
            dconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: dload 2 /* sign */
      StackMap locals: double double
      StackMap stack: double double
         2: invokestatic java.lang.Math.copySign:(DD)D
            dreturn
        end local 2 // double sign
        end local 0 // double magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  magnitude  D
            0    3     2       sign  D
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static float copySign(float, float);
    descriptor: (FF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float magnitude
        start local 1 // float sign
         0: .line 1641
            fload 0 /* magnitude */
            fload 1 /* sign */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 1
            fconst_1
            goto 2
      StackMap locals:
      StackMap stack: float
         1: fload 1 /* sign */
      StackMap locals: float float
      StackMap stack: float float
         2: invokestatic java.lang.Math.copySign:(FF)F
            freturn
        end local 1 // float sign
        end local 0 // float magnitude
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  magnitude  F
            0    3     1       sign  F
    MethodParameters:
           Name  Flags
      magnitude  
      sign       

  public static int getExponent(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 1658
            fload 0 /* f */
            invokestatic java.lang.Math.getExponent:(F)I
            ireturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static int getExponent(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 1676
            dload 0 /* d */
            invokestatic java.lang.Math.getExponent:(D)I
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static double nextAfter(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double start
        start local 2 // double direction
         0: .line 1719
            dload 0 /* start */
            dload 2 /* direction */
            invokestatic java.lang.Math.nextAfter:(DD)D
            dreturn
        end local 2 // double direction
        end local 0 // double start
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      start  D
            0    1     2  direction  D
    MethodParameters:
           Name  Flags
      start      
      direction  

  public static float nextAfter(float, double);
    descriptor: (FD)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // float start
        start local 1 // double direction
         0: .line 1761
            fload 0 /* start */
            dload 1 /* direction */
            invokestatic java.lang.Math.nextAfter:(FD)F
            freturn
        end local 1 // double direction
        end local 0 // float start
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      start  F
            0    1     1  direction  D
    MethodParameters:
           Name  Flags
      start      
      direction  

  public static double nextUp(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 1790
            dload 0 /* d */
            invokestatic java.lang.Math.nextUp:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float nextUp(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 1819
            fload 0 /* f */
            invokestatic java.lang.Math.nextUp:(F)F
            freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static double nextDown(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 1848
            dload 0 /* d */
            invokestatic java.lang.Math.nextDown:(D)D
            dreturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static float nextDown(float);
    descriptor: (F)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 1877
            fload 0 /* f */
            invokestatic java.lang.Math.nextDown:(F)F
            freturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static double scalb(double, int);
    descriptor: (DI)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // double d
        start local 2 // int scaleFactor
         0: .line 1911
            dload 0 /* d */
            iload 2 /* scaleFactor */
            invokestatic java.lang.Math.scalb:(DI)D
            dreturn
        end local 2 // int scaleFactor
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0            d  D
            0    1     2  scaleFactor  I
    MethodParameters:
             Name  Flags
      d            
      scaleFactor  

  public static float scalb(float, int);
    descriptor: (FI)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float f
        start local 1 // int scaleFactor
         0: .line 1945
            fload 0 /* f */
            iload 1 /* scaleFactor */
            invokestatic java.lang.Math.scalb:(FI)F
            freturn
        end local 1 // int scaleFactor
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0            f  F
            0    1     1  scaleFactor  I
    MethodParameters:
             Name  Flags
      f            
      scaleFactor  
}
SourceFile: "StrictMath.java"
NestMembers:
  java.lang.StrictMath$RandomNumberGeneratorHolder
InnerClasses:
  public Cbrt = java.lang.FdLibm$Cbrt of java.lang.FdLibm
  Exp = java.lang.FdLibm$Exp of java.lang.FdLibm
  public Hypot = java.lang.FdLibm$Hypot of java.lang.FdLibm
  public Pow = java.lang.FdLibm$Pow of java.lang.FdLibm
  private final RandomNumberGeneratorHolder = java.lang.StrictMath$RandomNumberGeneratorHolder of java.lang.StrictMath