class org.apache.commons.math3.util.FastMath$Split
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.math3.util.FastMath$Split
  super_class: java.lang.Object
{
  public static final org.apache.commons.math3.util.FastMath$Split NAN;
    descriptor: Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.commons.math3.util.FastMath$Split POSITIVE_INFINITY;
    descriptor: Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.commons.math3.util.FastMath$Split NEGATIVE_INFINITY;
    descriptor: Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final double full;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double high;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double low;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 1644
            new org.apache.commons.math3.util.FastMath$Split
            dup
            ldc NaN
            dconst_0
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
            putstatic org.apache.commons.math3.util.FastMath$Split.NAN:Lorg/apache/commons/math3/util/FastMath$Split;
         1: .line 1647
            new org.apache.commons.math3.util.FastMath$Split
            dup
            ldc Infinity
            dconst_0
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
            putstatic org.apache.commons.math3.util.FastMath$Split.POSITIVE_INFINITY:Lorg/apache/commons/math3/util/FastMath$Split;
         2: .line 1650
            new org.apache.commons.math3.util.FastMath$Split
            dup
            ldc -Infinity
            dconst_0
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
            putstatic org.apache.commons.math3.util.FastMath$Split.NEGATIVE_INFINITY:Lorg/apache/commons/math3/util/FastMath$Split;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(double);
    descriptor: (D)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
        start local 1 // double x
         0: .line 1664
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1665
            aload 0 /* this */
            dload 1 /* x */
            putfield org.apache.commons.math3.util.FastMath$Split.full:D
         2: .line 1666
            aload 0 /* this */
            dload 1 /* x */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            ldc -134217728
            land
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            putfield org.apache.commons.math3.util.FastMath$Split.high:D
         3: .line 1667
            aload 0 /* this */
            dload 1 /* x */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            dsub
            putfield org.apache.commons.math3.util.FastMath$Split.low:D
         4: .line 1668
            return
        end local 1 // double x
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/util/FastMath$Split;
            0    5     1     x  D
    MethodParameters:
      Name  Flags
      x     final

  void <init>(double, double);
    descriptor: (DD)V
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
        start local 1 // double high
        start local 3 // double low
         0: .line 1675
            aload 0 /* this */
            dload 1 /* high */
            dconst_0
            dcmpl
            ifne 2
            dload 3 /* low */
            dconst_0
            dcmpl
            ifne 1
            dload 1 /* high */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            ldc -9223372036854775808
            lcmp
            ifne 1
            ldc -0.0
            goto 3
      StackMap locals:
      StackMap stack: uninitialized-this
         1: dload 3 /* low */
            goto 3
      StackMap locals:
      StackMap stack: uninitialized-this
         2: dload 1 /* high */
            dload 3 /* low */
            dadd
      StackMap locals: uninitialized-this double double
      StackMap stack: uninitialized-this double
         3: dload 1 /* high */
            dload 3 /* low */
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DDD)V
         4: .line 1676
            return
        end local 3 // double low
        end local 1 // double high
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/util/FastMath$Split;
            0    5     1  high  D
            0    5     3   low  D
    MethodParameters:
      Name  Flags
      high  final
      low   final

  void <init>(double, double, double);
    descriptor: (DDD)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
        start local 1 // double full
        start local 3 // double high
        start local 5 // double low
         0: .line 1683
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1684
            aload 0 /* this */
            dload 1 /* full */
            putfield org.apache.commons.math3.util.FastMath$Split.full:D
         2: .line 1685
            aload 0 /* this */
            dload 3 /* high */
            putfield org.apache.commons.math3.util.FastMath$Split.high:D
         3: .line 1686
            aload 0 /* this */
            dload 5 /* low */
            putfield org.apache.commons.math3.util.FastMath$Split.low:D
         4: .line 1687
            return
        end local 5 // double low
        end local 3 // double high
        end local 1 // double full
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/util/FastMath$Split;
            0    5     1  full  D
            0    5     3  high  D
            0    5     5   low  D
    MethodParameters:
      Name  Flags
      full  final
      high  final
      low   final

  public org.apache.commons.math3.util.FastMath$Split multiply(org.apache.commons.math3.util.FastMath$Split);
    descriptor: (Lorg/apache/commons/math3/util/FastMath$Split;)Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
        start local 1 // org.apache.commons.math3.util.FastMath$Split b
         0: .line 1695
            new org.apache.commons.math3.util.FastMath$Split
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            aload 1 /* b */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            dmul
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(D)V
            astore 2 /* mulBasic */
        start local 2 // org.apache.commons.math3.util.FastMath$Split mulBasic
         1: .line 1696
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            aload 1 /* b */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            dmul
            aload 2 /* mulBasic */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            aload 1 /* b */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            dmul
            dsub
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            aload 1 /* b */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            dmul
            dsub
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            aload 1 /* b */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            dmul
            dsub
            dsub
            dstore 3 /* mulError */
        start local 3 // double mulError
         2: .line 1697
            new org.apache.commons.math3.util.FastMath$Split
            dup
            aload 2 /* mulBasic */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            aload 2 /* mulBasic */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            dload 3 /* mulError */
            dadd
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
            areturn
        end local 3 // double mulError
        end local 2 // org.apache.commons.math3.util.FastMath$Split mulBasic
        end local 1 // org.apache.commons.math3.util.FastMath$Split b
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/commons/math3/util/FastMath$Split;
            0    3     1         b  Lorg/apache/commons/math3/util/FastMath$Split;
            1    3     2  mulBasic  Lorg/apache/commons/math3/util/FastMath$Split;
            2    3     3  mulError  D
    MethodParameters:
      Name  Flags
      b     final

  public org.apache.commons.math3.util.FastMath$Split reciprocal();
    descriptor: ()Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=1
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
         0: .line 1705
            dconst_1
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            ddiv
            dstore 1 /* approximateInv */
        start local 1 // double approximateInv
         1: .line 1706
            new org.apache.commons.math3.util.FastMath$Split
            dup
            dload 1 /* approximateInv */
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(D)V
            astore 3 /* splitInv */
        start local 3 // org.apache.commons.math3.util.FastMath$Split splitInv
         2: .line 1711
            aload 0 /* this */
            aload 3 /* splitInv */
            invokevirtual org.apache.commons.math3.util.FastMath$Split.multiply:(Lorg/apache/commons/math3/util/FastMath$Split;)Lorg/apache/commons/math3/util/FastMath$Split;
            astore 4 /* product */
        start local 4 // org.apache.commons.math3.util.FastMath$Split product
         3: .line 1712
            aload 4 /* product */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            dconst_1
            dsub
            aload 4 /* product */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            dadd
            dstore 5 /* error */
        start local 5 // double error
         4: .line 1715
            dload 5 /* error */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 5
            aload 3 /* splitInv */
            goto 6
      StackMap locals: org.apache.commons.math3.util.FastMath$Split double org.apache.commons.math3.util.FastMath$Split org.apache.commons.math3.util.FastMath$Split double
      StackMap stack:
         5: new org.apache.commons.math3.util.FastMath$Split
            dup
            aload 3 /* splitInv */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            aload 3 /* splitInv */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            dload 5 /* error */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            ddiv
            dsub
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
      StackMap locals:
      StackMap stack: org.apache.commons.math3.util.FastMath$Split
         6: areturn
        end local 5 // double error
        end local 4 // org.apache.commons.math3.util.FastMath$Split product
        end local 3 // org.apache.commons.math3.util.FastMath$Split splitInv
        end local 1 // double approximateInv
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/apache/commons/math3/util/FastMath$Split;
            1    7     1  approximateInv  D
            2    7     3        splitInv  Lorg/apache/commons/math3/util/FastMath$Split;
            3    7     4         product  Lorg/apache/commons/math3/util/FastMath$Split;
            4    7     5           error  D

  private org.apache.commons.math3.util.FastMath$Split pow(long);
    descriptor: (J)Lorg/apache/commons/math3/util/FastMath$Split;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // org.apache.commons.math3.util.FastMath$Split this
        start local 1 // long e
         0: .line 1727
            new org.apache.commons.math3.util.FastMath$Split
            dup
            dconst_1
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(D)V
            astore 3 /* result */
        start local 3 // org.apache.commons.math3.util.FastMath$Split result
         1: .line 1730
            new org.apache.commons.math3.util.FastMath$Split
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.high:D
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.low:D
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DDD)V
            astore 4 /* d2p */
        start local 4 // org.apache.commons.math3.util.FastMath$Split d2p
         2: .line 1732
            lload 1 /* e */
            lstore 5 /* p */
        start local 5 // long p
         3: goto 8
         4: .line 1734
      StackMap locals: org.apache.commons.math3.util.FastMath$Split org.apache.commons.math3.util.FastMath$Split long
      StackMap stack:
            lload 5 /* p */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 1736
            aload 3 /* result */
            aload 4 /* d2p */
            invokevirtual org.apache.commons.math3.util.FastMath$Split.multiply:(Lorg/apache/commons/math3/util/FastMath$Split;)Lorg/apache/commons/math3/util/FastMath$Split;
            astore 3 /* result */
         6: .line 1740
      StackMap locals:
      StackMap stack:
            aload 4 /* d2p */
            aload 4 /* d2p */
            invokevirtual org.apache.commons.math3.util.FastMath$Split.multiply:(Lorg/apache/commons/math3/util/FastMath$Split;)Lorg/apache/commons/math3/util/FastMath$Split;
            astore 4 /* d2p */
         7: .line 1732
            lload 5 /* p */
            iconst_1
            lushr
            lstore 5 /* p */
      StackMap locals:
      StackMap stack:
         8: lload 5 /* p */
            lconst_0
            lcmp
            ifne 4
        end local 5 // long p
         9: .line 1744
            aload 3 /* result */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 17
        10: .line 1745
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 12
        11: .line 1746
            getstatic org.apache.commons.math3.util.FastMath$Split.NAN:Lorg/apache/commons/math3/util/FastMath$Split;
            areturn
        12: .line 1750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
            dconst_1
            dcmpg
            ifge 14
        13: .line 1751
            new org.apache.commons.math3.util.FastMath$Split
            dup
            dconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            invokestatic org.apache.commons.math3.util.FastMath.copySign:(DD)D
            dconst_0
            invokespecial org.apache.commons.math3.util.FastMath$Split.<init>:(DD)V
            areturn
        14: .line 1752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.util.FastMath$Split.full:D
            dconst_0
            dcmpg
            ifge 16
            lload 1 /* e */
            lconst_1
            land
            lconst_1
            lcmp
            ifne 16
        15: .line 1753
            getstatic org.apache.commons.math3.util.FastMath$Split.NEGATIVE_INFINITY:Lorg/apache/commons/math3/util/FastMath$Split;
            areturn
        16: .line 1755
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.math3.util.FastMath$Split.POSITIVE_INFINITY:Lorg/apache/commons/math3/util/FastMath$Split;
            areturn
        17: .line 1759
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // org.apache.commons.math3.util.FastMath$Split d2p
        end local 3 // org.apache.commons.math3.util.FastMath$Split result
        end local 1 // long e
        end local 0 // org.apache.commons.math3.util.FastMath$Split this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/apache/commons/math3/util/FastMath$Split;
            0   18     1       e  J
            1   18     3  result  Lorg/apache/commons/math3/util/FastMath$Split;
            2   18     4     d2p  Lorg/apache/commons/math3/util/FastMath$Split;
            3    9     5       p  J
    MethodParameters:
      Name  Flags
      e     final
}
SourceFile: "FastMath.java"
NestHost: org.apache.commons.math3.util.FastMath
InnerClasses:
  private Split = org.apache.commons.math3.util.FastMath$Split of org.apache.commons.math3.util.FastMath