public final class org.apache.lucene.util.MathUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.util.MathUtil
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.MathUtil this
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            return
        end local 0 // org.apache.lucene.util.MathUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/util/MathUtil;

  public static int log(long, int);
    descriptor: (JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long x
        start local 2 // int base
         0: .line 36
            iload 2 /* base */
            iconst_1
            if_icmpgt 2
         1: .line 37
            new java.lang.IllegalArgumentException
            dup
            ldc "base must be > 1"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 39
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* ret */
        start local 3 // int ret
         3: .line 40
            goto 6
         4: .line 41
      StackMap locals: int
      StackMap stack:
            lload 0 /* x */
            iload 2 /* base */
            i2l
            ldiv
            lstore 0 /* x */
         5: .line 42
            iinc 3 /* ret */ 1
         6: .line 40
      StackMap locals:
      StackMap stack:
            lload 0 /* x */
            iload 2 /* base */
            i2l
            lcmp
            ifge 4
         7: .line 44
            iload 3 /* ret */
            ireturn
        end local 3 // int ret
        end local 2 // int base
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     x  J
            0    8     2  base  I
            3    8     3   ret  I
    MethodParameters:
      Name  Flags
      x     
      base  

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

  public static long gcd(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // long a
        start local 2 // long b
         0: .line 63
            lload 0 /* a */
            invokestatic java.lang.Math.abs:(J)J
            lstore 0 /* a */
         1: .line 64
            lload 2 /* b */
            invokestatic java.lang.Math.abs:(J)J
            lstore 2 /* b */
         2: .line 65
            lload 0 /* a */
            lconst_0
            lcmp
            ifne 4
         3: .line 66
            lload 2 /* b */
            lreturn
         4: .line 67
      StackMap locals:
      StackMap stack:
            lload 2 /* b */
            lconst_0
            lcmp
            ifne 6
         5: .line 68
            lload 0 /* a */
            lreturn
         6: .line 70
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lload 2 /* b */
            lor
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 4 /* commonTrailingZeros */
        start local 4 // int commonTrailingZeros
         7: .line 71
            lload 0 /* a */
            lload 0 /* a */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            lushr
            lstore 0 /* a */
         8: .line 73
      StackMap locals: int
      StackMap stack:
            lload 2 /* b */
            lload 2 /* b */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            lushr
            lstore 2 /* b */
         9: .line 74
            lload 0 /* a */
            lload 2 /* b */
            lcmp
            ifne 11
        10: .line 75
            goto 19
        11: .line 76
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lload 2 /* b */
            lcmp
            ifgt 12
            lload 0 /* a */
            ldc -9223372036854775808
            lcmp
            ifne 15
        12: .line 77
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lstore 5 /* tmp */
        start local 5 // long tmp
        13: .line 78
            lload 2 /* b */
            lstore 0 /* a */
        14: .line 79
            lload 5 /* tmp */
            lstore 2 /* b */
        end local 5 // long tmp
        15: .line 81
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lconst_1
            lcmp
            ifne 17
        16: .line 82
            goto 19
        17: .line 84
      StackMap locals:
      StackMap stack:
            lload 2 /* b */
            lload 0 /* a */
            lsub
            lstore 2 /* b */
        18: .line 72
            goto 8
        19: .line 86
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            iload 4 /* commonTrailingZeros */
            lshl
            lreturn
        end local 4 // int commonTrailingZeros
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                    a  J
            0   20     2                    b  J
            7   20     4  commonTrailingZeros  I
           13   15     5                  tmp  J
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double asinh(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // double a
         0: .line 103
            dload 0 /* a */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifge 4
         1: .line 104
            dload 0 /* a */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* a */
         2: .line 105
            ldc -1.0
            dstore 2 /* sign */
        start local 2 // double sign
         3: .line 106
            goto 5
        end local 2 // double sign
         4: .line 107
      StackMap locals:
      StackMap stack:
            dconst_1
            dstore 2 /* sign */
        start local 2 // double sign
         5: .line 110
      StackMap locals: double
      StackMap stack:
            dload 2 /* sign */
            dload 0 /* a */
            dload 0 /* a */
            dmul
            dconst_1
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dload 0 /* a */
            dadd
            invokestatic java.lang.Math.log:(D)D
            dmul
            dreturn
        end local 2 // double sign
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     a  D
            3    4     2  sign  D
            5    6     2  sign  D
    MethodParameters:
      Name  Flags
      a     

  public static double acosh(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double a
         0: .line 125
            dload 0 /* a */
            dload 0 /* a */
            dmul
            dconst_1
            dsub
            invokestatic java.lang.Math.sqrt:(D)D
            dload 0 /* a */
            dadd
            invokestatic java.lang.Math.log:(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 double atanh(double);
    descriptor: (D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // double a
         0: .line 143
            dload 0 /* a */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifge 4
         1: .line 144
            dload 0 /* a */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* a */
         2: .line 145
            ldc -0.5
            dstore 2 /* mult */
        start local 2 // double mult
         3: .line 146
            goto 5
        end local 2 // double mult
         4: .line 147
      StackMap locals:
      StackMap stack:
            ldc 0.5
            dstore 2 /* mult */
        start local 2 // double mult
         5: .line 149
      StackMap locals: double
      StackMap stack:
            dload 2 /* mult */
            dconst_1
            dload 0 /* a */
            dadd
            dconst_1
            dload 0 /* a */
            dsub
            ddiv
            invokestatic java.lang.Math.log:(D)D
            dmul
            dreturn
        end local 2 // double mult
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     a  D
            3    4     2  mult  D
            5    6     2  mult  D
    MethodParameters:
      Name  Flags
      a     

  public static double sumRelativeErrorBound(int);
    descriptor: (I)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int numValues
         0: .line 160
            iload 0 /* numValues */
            iconst_1
            if_icmpgt 2
         1: .line 161
            dconst_0
            dreturn
         2: .line 164
      StackMap locals:
      StackMap stack:
            dconst_1
            bipush -52
            invokestatic java.lang.Math.scalb:(DI)D
            dstore 1 /* u */
        start local 1 // double u
         3: .line 165
            iload 0 /* numValues */
            iconst_1
            isub
            i2d
            dload 1 /* u */
            dmul
            dreturn
        end local 1 // double u
        end local 0 // int numValues
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  numValues  I
            3    4     1          u  D
    MethodParameters:
           Name  Flags
      numValues  
}
SourceFile: "MathUtil.java"