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

  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 80
            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 98
            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 85
            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 182
            dload 0 /* angdeg */
            ldc 180.0
            ddiv
            ldc 3.141592653589793
            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 199
            dload 0 /* angrad */
            ldc 180.0
            dmul
            ldc 3.141592653589793
            ddiv
            dreturn
        end local 0 // double angrad
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  angrad  D
    MethodParameters:
        Name  Flags
      angrad  

  public static native double exp(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    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
    MethodParameters:
      Name  Flags
      a     

  public static native double cbrt(double);
    descriptor: (D)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    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 340
            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 359
            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 374
            dload 0 /* a */
            invokestatic java.lang.Math.getExponent:(D)I
            istore 8 /* exponent */
        start local 8 // int exponent
         1: .line 376
            iload 8 /* exponent */
            ifge 6
         2: .line 382
            dload 0 /* a */
            dconst_0
            dcmpl
            ifne 3
            dload 0 /* a */
            goto 5
         3: .line 383
      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 382
      StackMap locals:
      StackMap stack: double
            dreturn
         6: .line 384
      StackMap locals:
      StackMap stack:
            iload 8 /* exponent */
            bipush 52
            if_icmplt 8
         7: .line 388
            dload 0 /* a */
            dreturn
         8: .line 392
      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 394
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 9 /* doppel */
        start local 9 // long doppel
        11: .line 395
            ldc 4503599627370495
            iload 8 /* exponent */
            lshr
            lstore 11 /* mask */
        start local 11 // long mask
        12: .line 397
            lload 11 /* mask */
            lload 9 /* doppel */
            land
            lconst_0
            lcmp
            ifne 14
        13: .line 398
            dload 0 /* a */
            dreturn
        14: .line 400
      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 401
            dload 6 /* sign */
            dload 0 /* a */
            dmul
            dconst_0
            dcmpl
            ifle 17
        16: .line 402
            dload 13 /* result */
            dload 6 /* sign */
            dadd
            dstore 13 /* result */
        17: .line 403
      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 449
            ldc 4.503599627370496E15
            dstore 2 /* twoToThe52 */
        start local 2 // double twoToThe52
         1: .line 450
            dconst_1
            dload 0 /* a */
            invokestatic java.lang.Math.copySign:(DD)D
            dstore 4 /* sign */
        start local 4 // double sign
         2: .line 451
            dload 0 /* a */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* a */
         3: .line 453
            dload 0 /* a */
            dload 2 /* twoToThe52 */
            dcmpg
            ifge 5
         4: .line 454
            dload 2 /* twoToThe52 */
            dload 0 /* a */
            dadd
            dload 2 /* twoToThe52 */
            dsub
            dstore 0 /* a */
         5: .line 457
      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 native double pow(double, double);
    descriptor: (DD)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    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 654
            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 678
            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 709
            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 724
            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 739
            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 754
            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 769
            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 784
            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, 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 799
            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 813
            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 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 837
            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, 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 861
            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 888
            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 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 914
            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 931
            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 948
            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 967
            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 986
            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 1000
            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
    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 1014
            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 1032
            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 1050
            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 1064
            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
    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 1078
            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 1096
            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 1114
            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 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 1141
            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 1168
            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 1189
            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 1210
            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 native double hypot(double, double);
    descriptor: (DD)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    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 1388
            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 1404
            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 1421
            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 1439
            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 1482
            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 1524
            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 1553
            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 1582
            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 1611
            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 1640
            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 1674
            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 1708
            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:
  private final RandomNumberGeneratorHolder = java.lang.StrictMath$RandomNumberGeneratorHolder of java.lang.StrictMath