class java.math.MutableBigInteger
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.math.MutableBigInteger
  super_class: java.lang.Object
{
  int[] value;
    descriptor: [I
    flags: (0x0000) 

  int intLen;
    descriptor: I
    flags: (0x0000) 

  int offset;
    descriptor: I
    flags: (0x0000) 

  static final java.math.MutableBigInteger ONE;
    descriptor: Ljava/math/MutableBigInteger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int KNUTH_POW2_THRESH_LEN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int KNUTH_POW2_THRESH_ZEROS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  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=3, locals=0, args_size=0
         0: .line 49
            ldc Ljava/math/MutableBigInteger;
            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.math.MutableBigInteger.$assertionsDisabled:Z
         3: .line 76
            new java.math.MutableBigInteger
            dup
            iconst_1
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            putstatic java.math.MutableBigInteger.ONE:Ljava/math/MutableBigInteger;
         4: .line 94
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 103
            aload 0 /* this */
            iconst_1
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         3: .line 104
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 105
            return
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int val
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 112
            aload 0 /* this */
            iconst_1
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         3: .line 113
            aload 0 /* this */
            iconst_1
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 114
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iload 1 /* val */
            iastore
         5: .line 115
            return
        end local 1 // int val
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/math/MutableBigInteger;
            0    6     1   val  I
    MethodParameters:
      Name  Flags
      val   

  void <init>(int[]);
    descriptor: ([I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] val
         0: .line 121
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 122
            aload 0 /* this */
            aload 1 /* val */
            putfield java.math.MutableBigInteger.value:[I
         3: .line 123
            aload 0 /* this */
            aload 1 /* val */
            arraylength
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 124
            return
        end local 1 // int[] val
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;
            0    5     1   val  [I
    MethodParameters:
      Name  Flags
      val   

  void <init>(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.BigInteger b
         0: .line 130
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 131
            aload 0 /* this */
            aload 1 /* b */
            getfield java.math.BigInteger.mag:[I
            arraylength
            putfield java.math.MutableBigInteger.intLen:I
         3: .line 132
            aload 0 /* this */
            aload 1 /* b */
            getfield java.math.BigInteger.mag:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            invokestatic java.util.Arrays.copyOf:([II)[I
            putfield java.math.MutableBigInteger.value:[I
         4: .line 133
            return
        end local 1 // java.math.BigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;
            0    5     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  void <init>(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger val
         0: .line 139
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 140
            aload 0 /* this */
            aload 1 /* val */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
         3: .line 141
            aload 0 /* this */
            aload 1 /* val */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* val */
            getfield java.math.MutableBigInteger.offset:I
            aload 1 /* val */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            putfield java.math.MutableBigInteger.value:[I
         4: .line 142
            return
        end local 1 // java.math.MutableBigInteger val
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;
            0    5     1   val  Ljava/math/MutableBigInteger;
    MethodParameters:
      Name  Flags
      val   

  private void ones(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 151
            iload 1 /* n */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            if_icmple 2
         1: .line 152
            aload 0 /* this */
            iload 1 /* n */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_m1
            invokestatic java.util.Arrays.fill:([II)V
         3: .line 154
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         4: .line 155
            aload 0 /* this */
            iload 1 /* n */
            putfield java.math.MutableBigInteger.intLen:I
         5: .line 156
            return
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/math/MutableBigInteger;
            0    6     1     n  I
    MethodParameters:
      Name  Flags
      n     

  private int[] getMagnitudeArray();
    descriptor: ()[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 163
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            ifgt 1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmpeq 2
         1: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            areturn
         2: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            areturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/math/MutableBigInteger;

  private long toLong();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 173
            getstatic java.math.MutableBigInteger.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            if_icmple 1
            new java.lang.AssertionError
            dup
            ldc "this MutableBigInteger exceeds the range of long"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 3
         2: .line 175
            lconst_0
            lreturn
         3: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            i2l
            ldc 4294967295
            land
            lstore 1 /* d */
        start local 1 // long d
         4: .line 177
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            if_icmpne 5
            lload 1 /* d */
            bipush 32
            lshl
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iconst_1
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lor
            goto 6
      StackMap locals: long
      StackMap stack:
         5: lload 1 /* d */
      StackMap locals:
      StackMap stack: long
         6: lreturn
        end local 1 // long d
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/math/MutableBigInteger;
            4    7     1     d  J

  java.math.BigInteger toBigInteger(int);
    descriptor: (I)Ljava/math/BigInteger;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int sign
         0: .line 184
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifeq 1
            iload 1 /* sign */
            ifne 2
         1: .line 185
      StackMap locals:
      StackMap stack:
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            areturn
         2: .line 186
      StackMap locals:
      StackMap stack:
            new java.math.BigInteger
            dup
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.getMagnitudeArray:()[I
            iload 1 /* sign */
            invokespecial java.math.BigInteger.<init>:([II)V
            areturn
        end local 1 // int sign
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/math/MutableBigInteger;
            0    3     1  sign  I
    MethodParameters:
      Name  Flags
      sign  

  java.math.BigInteger toBigInteger();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 193
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.normalize:()V
         1: .line 194
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
         2: iconst_1
      StackMap locals: java.math.MutableBigInteger
      StackMap stack: java.math.MutableBigInteger int
         3: invokevirtual java.math.MutableBigInteger.toBigInteger:(I)Ljava/math/BigInteger;
            areturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/math/MutableBigInteger;

  java.math.BigDecimal toBigDecimal(int, int);
    descriptor: (II)Ljava/math/BigDecimal;
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int sign
        start local 2 // int scale
         0: .line 202
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifeq 1
            iload 1 /* sign */
            ifne 2
         1: .line 203
      StackMap locals:
      StackMap stack:
            iload 2 /* scale */
            invokestatic java.math.BigDecimal.zeroValueOf:(I)Ljava/math/BigDecimal;
            areturn
         2: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.getMagnitudeArray:()[I
            astore 3 /* mag */
        start local 3 // int[] mag
         3: .line 205
            aload 3 /* mag */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 206
            aload 3 /* mag */
            iconst_0
            iaload
            istore 5 /* d */
        start local 5 // int d
         5: .line 209
            iload 4 /* len */
            iconst_2
            if_icmpgt 6
            iload 5 /* d */
            ifge 7
            iload 4 /* len */
            iconst_2
            if_icmpne 7
         6: .line 210
      StackMap locals: int[] int int
      StackMap stack:
            new java.math.BigDecimal
            dup
            new java.math.BigInteger
            dup
            aload 3 /* mag */
            iload 1 /* sign */
            invokespecial java.math.BigInteger.<init>:([II)V
            ldc -9223372036854775808
            iload 2 /* scale */
            iconst_0
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
         7: .line 211
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            iconst_2
            if_icmpne 9
         8: .line 212
            aload 3 /* mag */
            iconst_1
            iaload
            i2l
            ldc 4294967295
            land
            iload 5 /* d */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lor
            goto 10
         9: .line 213
      StackMap locals:
      StackMap stack:
            iload 5 /* d */
            i2l
            ldc 4294967295
            land
        10: .line 211
      StackMap locals:
      StackMap stack: long
            lstore 6 /* v */
        start local 6 // long v
        11: .line 214
            iload 1 /* sign */
            iconst_m1
            if_icmpne 12
            lload 6 /* v */
            lneg
            goto 13
      StackMap locals: long
      StackMap stack:
        12: lload 6 /* v */
      StackMap locals:
      StackMap stack: long
        13: iload 2 /* scale */
            invokestatic java.math.BigDecimal.valueOf:(JI)Ljava/math/BigDecimal;
            areturn
        end local 6 // long v
        end local 5 // int d
        end local 4 // int len
        end local 3 // int[] mag
        end local 2 // int scale
        end local 1 // int sign
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljava/math/MutableBigInteger;
            0   14     1   sign  I
            0   14     2  scale  I
            3   14     3    mag  [I
            4   14     4    len  I
            5   14     5      d  I
           11   14     6      v  J
    MethodParameters:
       Name  Flags
      sign   
      scale  

  long toCompactValue(int);
    descriptor: (I)J
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int sign
         0: .line 223
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifeq 1
            iload 1 /* sign */
            ifne 2
         1: .line 224
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.getMagnitudeArray:()[I
            astore 2 /* mag */
        start local 2 // int[] mag
         3: .line 226
            aload 2 /* mag */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         4: .line 227
            aload 2 /* mag */
            iconst_0
            iaload
            istore 4 /* d */
        start local 4 // int d
         5: .line 230
            iload 3 /* len */
            iconst_2
            if_icmpgt 6
            iload 4 /* d */
            ifge 7
            iload 3 /* len */
            iconst_2
            if_icmpne 7
         6: .line 231
      StackMap locals: int[] int int
      StackMap stack:
            ldc -9223372036854775808
            lreturn
         7: .line 232
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iconst_2
            if_icmpne 9
         8: .line 233
            aload 2 /* mag */
            iconst_1
            iaload
            i2l
            ldc 4294967295
            land
            iload 4 /* d */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lor
            goto 10
         9: .line 234
      StackMap locals:
      StackMap stack:
            iload 4 /* d */
            i2l
            ldc 4294967295
            land
        10: .line 232
      StackMap locals:
      StackMap stack: long
            lstore 5 /* v */
        start local 5 // long v
        11: .line 235
            iload 1 /* sign */
            iconst_m1
            if_icmpne 12
            lload 5 /* v */
            lneg
            goto 13
      StackMap locals: long
      StackMap stack:
        12: lload 5 /* v */
      StackMap locals:
      StackMap stack: long
        13: lreturn
        end local 5 // long v
        end local 4 // int d
        end local 3 // int len
        end local 2 // int[] mag
        end local 1 // int sign
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/math/MutableBigInteger;
            0   14     1  sign  I
            3   14     2   mag  [I
            4   14     3   len  I
            5   14     4     d  I
           11   14     5     v  J
    MethodParameters:
      Name  Flags
      sign  

  void clear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 242
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.offset:I
         1: .line 243
            iconst_0
            istore 1 /* index */
        start local 1 // int index
         2: aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            istore 2 /* n */
        start local 2 // int n
         3: goto 6
         4: .line 244
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 1 /* index */
            iconst_0
            iastore
         5: .line 243
            iinc 1 /* index */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* index */
            iload 2 /* n */
            if_icmplt 4
        end local 2 // int n
        end local 1 // int index
         7: .line 245
            return
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/math/MutableBigInteger;
            2    7     1  index  I
            3    7     2      n  I

  void reset();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 251
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.offset:I
         1: .line 252
            return
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;

  final int compare(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
         0: .line 260
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 2 /* blen */
        start local 2 // int blen
         1: .line 261
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* blen */
            if_icmpge 3
         2: .line 262
            iconst_m1
            ireturn
         3: .line 263
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* blen */
            if_icmple 5
         4: .line 264
            iconst_1
            ireturn
         5: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            astore 3 /* bval */
        start local 3 // int[] bval
         6: .line 269
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 4 /* i */
        start local 4 // int i
         7: aload 1 /* b */
            getfield java.math.MutableBigInteger.offset:I
            istore 5 /* j */
        start local 5 // int j
         8: goto 16
         9: .line 270
      StackMap locals: int[] int int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 4 /* i */
            iaload
            ldc -2147483648
            iadd
            istore 6 /* b1 */
        start local 6 // int b1
        10: .line 271
            aload 3 /* bval */
            iload 5 /* j */
            iaload
            ldc -2147483648
            iadd
            istore 7 /* b2 */
        start local 7 // int b2
        11: .line 272
            iload 6 /* b1 */
            iload 7 /* b2 */
            if_icmpge 13
        12: .line 273
            iconst_m1
            ireturn
        13: .line 274
      StackMap locals: int int
      StackMap stack:
            iload 6 /* b1 */
            iload 7 /* b2 */
            if_icmple 15
        14: .line 275
            iconst_1
            ireturn
        end local 7 // int b2
        end local 6 // int b1
        15: .line 269
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            if_icmplt 9
        end local 5 // int j
        end local 4 // int i
        17: .line 277
            iconst_0
            ireturn
        end local 3 // int[] bval
        end local 2 // int blen
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljava/math/MutableBigInteger;
            0   18     1     b  Ljava/math/MutableBigInteger;
            1   18     2  blen  I
            6   18     3  bval  [I
            7   17     4     i  I
            8   17     5     j  I
           10   15     6    b1  I
           11   15     7    b2  I
    MethodParameters:
      Name  Flags
      b     

  private int compareShifted(java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // int ints
         0: .line 285
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* blen */
        start local 3 // int blen
         1: .line 286
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* ints */
            isub
            istore 4 /* alen */
        start local 4 // int alen
         2: .line 287
            iload 4 /* alen */
            iload 3 /* blen */
            if_icmpge 4
         3: .line 288
            iconst_m1
            ireturn
         4: .line 289
      StackMap locals: int int
      StackMap stack:
            iload 4 /* alen */
            iload 3 /* blen */
            if_icmple 6
         5: .line 290
            iconst_1
            ireturn
         6: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            astore 5 /* bval */
        start local 5 // int[] bval
         7: .line 295
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 6 /* i */
        start local 6 // int i
         8: aload 1 /* b */
            getfield java.math.MutableBigInteger.offset:I
            istore 7 /* j */
        start local 7 // int j
         9: goto 17
        10: .line 296
      StackMap locals: int[] int int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 6 /* i */
            iaload
            ldc -2147483648
            iadd
            istore 8 /* b1 */
        start local 8 // int b1
        11: .line 297
            aload 5 /* bval */
            iload 7 /* j */
            iaload
            ldc -2147483648
            iadd
            istore 9 /* b2 */
        start local 9 // int b2
        12: .line 298
            iload 8 /* b1 */
            iload 9 /* b2 */
            if_icmpge 14
        13: .line 299
            iconst_m1
            ireturn
        14: .line 300
      StackMap locals: int int
      StackMap stack:
            iload 8 /* b1 */
            iload 9 /* b2 */
            if_icmple 16
        15: .line 301
            iconst_1
            ireturn
        end local 9 // int b2
        end local 8 // int b1
        16: .line 295
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* alen */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            if_icmplt 10
        end local 7 // int j
        end local 6 // int i
        18: .line 303
            iconst_0
            ireturn
        end local 5 // int[] bval
        end local 4 // int alen
        end local 3 // int blen
        end local 2 // int ints
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljava/math/MutableBigInteger;
            0   19     1     b  Ljava/math/MutableBigInteger;
            0   19     2  ints  I
            1   19     3  blen  I
            2   19     4  alen  I
            7   19     5  bval  [I
            8   18     6     i  I
            9   18     7     j  I
           11   16     8    b1  I
           12   16     9    b2  I
    MethodParameters:
      Name  Flags
      b     
      ints  

  final int compareHalf(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
         0: .line 313
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 2 /* blen */
        start local 2 // int blen
         1: .line 314
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* len */
        start local 3 // int len
         2: .line 315
            iload 3 /* len */
            ifgt 6
         3: .line 316
            iload 2 /* blen */
            ifgt 4
            iconst_0
            goto 5
      StackMap locals: int int
      StackMap stack:
         4: iconst_m1
      StackMap locals:
      StackMap stack: int
         5: ireturn
         6: .line 317
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 2 /* blen */
            if_icmple 8
         7: .line 318
            iconst_1
            ireturn
         8: .line 319
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 2 /* blen */
            iconst_1
            isub
            if_icmpge 10
         9: .line 320
            iconst_m1
            ireturn
        10: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            astore 4 /* bval */
        start local 4 // int[] bval
        11: .line 322
            iconst_0
            istore 5 /* bstart */
        start local 5 // int bstart
        12: .line 323
            iconst_0
            istore 6 /* carry */
        start local 6 // int carry
        13: .line 325
            iload 3 /* len */
            iload 2 /* blen */
            if_icmpeq 19
        14: .line 326
            aload 4 /* bval */
            iload 5 /* bstart */
            iaload
            iconst_1
            if_icmpne 18
        15: .line 327
            iinc 5 /* bstart */ 1
        16: .line 328
            ldc -2147483648
            istore 6 /* carry */
        17: .line 329
            goto 19
        18: .line 330
      StackMap locals: int[] int int
      StackMap stack:
            iconst_m1
            ireturn
        19: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            astore 7 /* val */
        start local 7 // int[] val
        20: .line 335
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 8 /* i */
        start local 8 // int i
        21: iload 5 /* bstart */
            istore 9 /* j */
        start local 9 // int j
        22: goto 31
        23: .line 336
      StackMap locals: int[] int int
      StackMap stack:
            aload 4 /* bval */
            iload 9 /* j */
            iinc 9 /* j */ 1
            iaload
            istore 10 /* bv */
        start local 10 // int bv
        24: .line 337
            iload 10 /* bv */
            iconst_1
            iushr
            iload 6 /* carry */
            iadd
            i2l
            ldc 4294967295
            land
            lstore 11 /* hb */
        start local 11 // long hb
        25: .line 338
            aload 7 /* val */
            iload 8 /* i */
            iinc 8 /* i */ 1
            iaload
            i2l
            ldc 4294967295
            land
            lstore 13 /* v */
        start local 13 // long v
        26: .line 339
            lload 13 /* v */
            lload 11 /* hb */
            lcmp
            ifeq 30
        27: .line 340
            lload 13 /* v */
            lload 11 /* hb */
            lcmp
            ifge 28
            iconst_m1
            goto 29
      StackMap locals: int long long
      StackMap stack:
        28: iconst_1
      StackMap locals:
      StackMap stack: int
        29: ireturn
        30: .line 341
      StackMap locals:
      StackMap stack:
            iload 10 /* bv */
            iconst_1
            iand
            bipush 31
            ishl
            istore 6 /* carry */
        end local 13 // long v
        end local 11 // long hb
        end local 10 // int bv
        31: .line 335
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 3 /* len */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            if_icmplt 23
        end local 9 // int j
        end local 8 // int i
        32: .line 343
            iload 6 /* carry */
            ifne 33
            iconst_0
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_m1
      StackMap locals:
      StackMap stack: int
        34: ireturn
        end local 7 // int[] val
        end local 6 // int carry
        end local 5 // int bstart
        end local 4 // int[] bval
        end local 3 // int len
        end local 2 // int blen
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   35     0    this  Ljava/math/MutableBigInteger;
            0   35     1       b  Ljava/math/MutableBigInteger;
            1   35     2    blen  I
            2   35     3     len  I
           11   35     4    bval  [I
           12   35     5  bstart  I
           13   35     6   carry  I
           20   35     7     val  [I
           21   32     8       i  I
           22   32     9       j  I
           24   31    10      bv  I
           25   31    11      hb  J
           26   31    13       v  J
    MethodParameters:
      Name  Flags
      b     

  private final int getLowestSetBit();
    descriptor: ()I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 351
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 2
         1: .line 352
            iconst_m1
            ireturn
         2: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            isub
            istore 1 /* j */
        start local 1 // int j
         3: goto 5
      StackMap locals: int
      StackMap stack:
         4: iinc 1 /* j */ -1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* j */
            ifle 6
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 1 /* j */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            ifeq 4
         6: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 1 /* j */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 2 /* b */
        start local 2 // int b
         7: .line 357
            iload 2 /* b */
            ifne 9
         8: .line 358
            iconst_m1
            ireturn
         9: .line 359
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            isub
            iload 1 /* j */
            isub
            iconst_5
            ishl
            iload 2 /* b */
            invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
            iadd
            ireturn
        end local 2 // int b
        end local 1 // int j
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/math/MutableBigInteger;
            3   10     1     j  I
            7   10     2     b  I

  private final int getInt(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int index
         0: .line 368
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 1 /* index */
            iadd
            iaload
            ireturn
        end local 1 // int index
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/math/MutableBigInteger;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private final long getLong(int);
    descriptor: (I)J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int index
         0: .line 377
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 1 /* index */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lreturn
        end local 1 // int index
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/math/MutableBigInteger;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  final void normalize();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 386
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 3
         1: .line 387
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         2: .line 388
            return
         3: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 1 /* index */
        start local 1 // int index
         4: .line 392
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 1 /* index */
            iaload
            ifeq 6
         5: .line 393
            return
         6: .line 395
      StackMap locals: int
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            istore 2 /* indexBound */
        start local 2 // int indexBound
         7: .line 397
      StackMap locals: int
      StackMap stack:
            iinc 1 /* index */ 1
         8: .line 398
            iload 1 /* index */
            iload 2 /* indexBound */
            if_icmpge 9
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 1 /* index */
            iaload
            ifeq 7
         9: .line 400
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            isub
            istore 3 /* numZeros */
        start local 3 // int numZeros
        10: .line 401
            aload 0 /* this */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iload 3 /* numZeros */
            isub
            putfield java.math.MutableBigInteger.intLen:I
        11: .line 402
            aload 0 /* this */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 12
            iconst_0
            goto 13
      StackMap locals: java.math.MutableBigInteger int int int
      StackMap stack: java.math.MutableBigInteger
        12: aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 3 /* numZeros */
            iadd
      StackMap locals: java.math.MutableBigInteger int int int
      StackMap stack: java.math.MutableBigInteger int
        13: putfield java.math.MutableBigInteger.offset:I
        14: .line 403
            return
        end local 3 // int numZeros
        end local 2 // int indexBound
        end local 1 // int index
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljava/math/MutableBigInteger;
            4   15     1       index  I
            7   15     2  indexBound  I
           10   15     3    numZeros  I

  private final void ensureCapacity(int);
    descriptor: (I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int len
         0: .line 410
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 1 /* len */
            if_icmpge 4
         1: .line 411
            aload 0 /* this */
            iload 1 /* len */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         2: .line 412
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         3: .line 413
            aload 0 /* this */
            iload 1 /* len */
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 415
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int len
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;
            0    5     1   len  I
    MethodParameters:
      Name  Flags
      len   

  int[] toIntArray();
    descriptor: ()[I
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 422
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            newarray 10
            astore 1 /* result */
        start local 1 // int[] result
         1: .line 423
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 424
      StackMap locals: int[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 2 /* i */
            iadd
            iaload
            iastore
         4: .line 423
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmplt 3
        end local 2 // int i
         6: .line 425
            aload 1 /* result */
            areturn
        end local 1 // int[] result
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljava/math/MutableBigInteger;
            1    7     1  result  [I
            2    6     2       i  I

  void setInt(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int index
        start local 2 // int val
         0: .line 434
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 1 /* index */
            iadd
            iload 2 /* val */
            iastore
         1: .line 435
            return
        end local 2 // int val
        end local 1 // int index
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/math/MutableBigInteger;
            0    2     1  index  I
            0    2     2    val  I
    MethodParameters:
       Name  Flags
      index  
      val    

  void setValue(int[], int);
    descriptor: ([II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] val
        start local 2 // int length
         0: .line 442
            aload 0 /* this */
            aload 1 /* val */
            putfield java.math.MutableBigInteger.value:[I
         1: .line 443
            aload 0 /* this */
            iload 2 /* length */
            putfield java.math.MutableBigInteger.intLen:I
         2: .line 444
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         3: .line 445
            return
        end local 2 // int length
        end local 1 // int[] val
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljava/math/MutableBigInteger;
            0    4     1     val  [I
            0    4     2  length  I
    MethodParameters:
        Name  Flags
      val     
      length  

  void copyValue(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger src
         0: .line 452
            aload 1 /* src */
            getfield java.math.MutableBigInteger.intLen:I
            istore 2 /* len */
        start local 2 // int len
         1: .line 453
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 2 /* len */
            if_icmpge 3
         2: .line 454
            aload 0 /* this */
            iload 2 /* len */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         3: .line 455
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* src */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 456
            aload 0 /* this */
            iload 2 /* len */
            putfield java.math.MutableBigInteger.intLen:I
         5: .line 457
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         6: .line 458
            return
        end local 2 // int len
        end local 1 // java.math.MutableBigInteger src
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/math/MutableBigInteger;
            0    7     1   src  Ljava/math/MutableBigInteger;
            1    7     2   len  I
    MethodParameters:
      Name  Flags
      src   

  void copyValue(int[]);
    descriptor: ([I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] val
         0: .line 465
            aload 1 /* val */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 466
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 2 /* len */
            if_icmpge 3
         2: .line 467
            aload 0 /* this */
            iload 2 /* len */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         3: .line 468
      StackMap locals: int
      StackMap stack:
            aload 1 /* val */
            iconst_0
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 469
            aload 0 /* this */
            iload 2 /* len */
            putfield java.math.MutableBigInteger.intLen:I
         5: .line 470
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         6: .line 471
            return
        end local 2 // int len
        end local 1 // int[] val
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/math/MutableBigInteger;
            0    7     1   val  [I
            1    7     2   len  I
    MethodParameters:
      Name  Flags
      val   

  boolean isOne();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 477
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmpne 1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;

  boolean isZero();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 484
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;

  boolean isEven();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 491
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifeq 1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            iconst_1
            iand
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;

  boolean isOdd();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 498
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 1
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            iconst_1
            iand
            iconst_1
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/math/MutableBigInteger;

  boolean isNormal();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 507
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            if_icmple 2
         1: .line 508
            iconst_0
            ireturn
         2: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 4
         3: .line 510
            iconst_1
            ireturn
         4: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            ifeq 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/math/MutableBigInteger;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 518
            aload 0 /* this */
            iconst_1
            invokevirtual java.math.MutableBigInteger.toBigInteger:(I)Ljava/math/BigInteger;
            astore 1 /* b */
        start local 1 // java.math.BigInteger b
         1: .line 519
            aload 1 /* b */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;
            1    2     1     b  Ljava/math/BigInteger;

  void safeRightShift(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 526
            iload 1 /* n */
            bipush 32
            idiv
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmplt 3
         1: .line 527
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.reset:()V
         2: .line 528
            goto 4
         3: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
         4: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/MutableBigInteger;
            0    5     1     n  I
    MethodParameters:
      Name  Flags
      n     

  void rightShift(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 538
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 2
         1: .line 539
            return
         2: .line 540
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            iconst_5
            iushr
            istore 2 /* nInts */
        start local 2 // int nInts
         3: .line 541
            iload 1 /* n */
            bipush 31
            iand
            istore 3 /* nBits */
        start local 3 // int nBits
         4: .line 542
            aload 0 /* this */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* nInts */
            isub
            putfield java.math.MutableBigInteger.intLen:I
         5: .line 543
            iload 3 /* nBits */
            ifne 7
         6: .line 544
            return
         7: .line 545
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            invokestatic java.math.BigInteger.bitLengthForInt:(I)I
            istore 4 /* bitsInHighWord */
        start local 4 // int bitsInHighWord
         8: .line 546
            iload 3 /* nBits */
            iload 4 /* bitsInHighWord */
            if_icmplt 12
         9: .line 547
            aload 0 /* this */
            bipush 32
            iload 3 /* nBits */
            isub
            invokevirtual java.math.MutableBigInteger.primitiveLeftShift:(I)V
        10: .line 548
            aload 0 /* this */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            isub
            putfield java.math.MutableBigInteger.intLen:I
        11: .line 549
            goto 13
        12: .line 550
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* nBits */
            invokevirtual java.math.MutableBigInteger.primitiveRightShift:(I)V
        13: .line 552
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int bitsInHighWord
        end local 3 // int nBits
        end local 2 // int nInts
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljava/math/MutableBigInteger;
            0   14     1               n  I
            3   14     2           nInts  I
            4   14     3           nBits  I
            8   14     4  bitsInHighWord  I
    MethodParameters:
      Name  Flags
      n     

  void safeLeftShift(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 558
            iload 1 /* n */
            ifle 2
         1: .line 559
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
         2: .line 561
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/math/MutableBigInteger;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  void leftShift(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 573
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 2
         1: .line 574
            return
         2: .line 575
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            iconst_5
            iushr
            istore 2 /* nInts */
        start local 2 // int nInts
         3: .line 576
            iload 1 /* n */
            bipush 31
            iand
            istore 3 /* nBits */
        start local 3 // int nBits
         4: .line 577
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            invokestatic java.math.BigInteger.bitLengthForInt:(I)I
            istore 4 /* bitsInHighWord */
        start local 4 // int bitsInHighWord
         5: .line 580
            iload 1 /* n */
            bipush 32
            iload 4 /* bitsInHighWord */
            isub
            if_icmpgt 8
         6: .line 581
            aload 0 /* this */
            iload 3 /* nBits */
            invokevirtual java.math.MutableBigInteger.primitiveLeftShift:(I)V
         7: .line 582
            return
         8: .line 585
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* nInts */
            iadd
            iconst_1
            iadd
            istore 5 /* newLen */
        start local 5 // int newLen
         9: .line 586
            iload 3 /* nBits */
            bipush 32
            iload 4 /* bitsInHighWord */
            isub
            if_icmpgt 11
        10: .line 587
            iinc 5 /* newLen */ -1
        11: .line 588
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 5 /* newLen */
            if_icmpge 20
        12: .line 590
            iload 5 /* newLen */
            newarray 10
            astore 6 /* result */
        start local 6 // int[] result
        13: .line 591
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: goto 17
        15: .line 592
      StackMap locals: int[] int
      StackMap stack:
            aload 6 /* result */
            iload 7 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 7 /* i */
            iadd
            iaload
            iastore
        16: .line 591
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmplt 15
        end local 7 // int i
        18: .line 593
            aload 0 /* this */
            aload 6 /* result */
            iload 5 /* newLen */
            invokevirtual java.math.MutableBigInteger.setValue:([II)V
        end local 6 // int[] result
        19: .line 594
            goto 38
      StackMap locals:
      StackMap stack:
        20: aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            isub
            iload 5 /* newLen */
            if_icmplt 27
        21: .line 596
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 25
        23: .line 597
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 6 /* i */
            iadd
            iconst_0
            iastore
        24: .line 596
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            iload 5 /* newLen */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            isub
            if_icmplt 23
        end local 6 // int i
        26: .line 598
            goto 38
        27: .line 600
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        28: goto 31
        29: .line 601
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 6 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iload 6 /* i */
            iadd
            iaload
            iastore
        30: .line 600
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 6 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmplt 29
        end local 6 // int i
        32: .line 602
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 6 /* i */
        start local 6 // int i
        33: goto 36
        34: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 6 /* i */
            iconst_0
            iastore
        35: .line 602
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 5 /* newLen */
            if_icmplt 34
        end local 6 // int i
        37: .line 604
            aload 0 /* this */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        38: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* newLen */
            putfield java.math.MutableBigInteger.intLen:I
        39: .line 607
            iload 3 /* nBits */
            ifne 41
        40: .line 608
            return
        41: .line 609
      StackMap locals:
      StackMap stack:
            iload 3 /* nBits */
            bipush 32
            iload 4 /* bitsInHighWord */
            isub
            if_icmpgt 43
        42: .line 610
            aload 0 /* this */
            iload 3 /* nBits */
            invokevirtual java.math.MutableBigInteger.primitiveLeftShift:(I)V
            goto 44
        43: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 32
            iload 3 /* nBits */
            isub
            invokevirtual java.math.MutableBigInteger.primitiveRightShift:(I)V
        44: .line 613
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int newLen
        end local 4 // int bitsInHighWord
        end local 3 // int nBits
        end local 2 // int nInts
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Ljava/math/MutableBigInteger;
            0   45     1               n  I
            3   45     2           nInts  I
            4   45     3           nBits  I
            5   45     4  bitsInHighWord  I
            9   45     5          newLen  I
           13   19     6          result  [I
           14   18     7               i  I
           22   26     6               i  I
           28   32     6               i  I
           33   37     6               i  I
    MethodParameters:
      Name  Flags
      n     

  private int divadd(int[], int[], int);
    descriptor: ([I[II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] a
        start local 2 // int[] result
        start local 3 // int offset
         0: .line 621
            lconst_0
            lstore 4 /* carry */
        start local 4 // long carry
         1: .line 623
            aload 1 /* a */
            arraylength
            iconst_1
            isub
            istore 6 /* j */
        start local 6 // int j
         2: goto 11
         3: .line 624
      StackMap locals: long int
      StackMap stack:
            aload 1 /* a */
            iload 6 /* j */
            iaload
            i2l
            ldc 4294967295
            land
         4: .line 625
            aload 2 /* result */
            iload 6 /* j */
            iload 3 /* offset */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
         5: .line 624
            ladd
         6: .line 625
            lload 4 /* carry */
         7: .line 624
            ladd
            lstore 7 /* sum */
        start local 7 // long sum
         8: .line 626
            aload 2 /* result */
            iload 6 /* j */
            iload 3 /* offset */
            iadd
            lload 7 /* sum */
            l2i
            iastore
         9: .line 627
            lload 7 /* sum */
            bipush 32
            lushr
            lstore 4 /* carry */
        end local 7 // long sum
        10: .line 623
            iinc 6 /* j */ -1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* j */
            ifge 3
        end local 6 // int j
        12: .line 629
            lload 4 /* carry */
            l2i
            ireturn
        end local 4 // long carry
        end local 3 // int offset
        end local 2 // int[] result
        end local 1 // int[] a
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljava/math/MutableBigInteger;
            0   13     1       a  [I
            0   13     2  result  [I
            0   13     3  offset  I
            1   13     4   carry  J
            2   12     6       j  I
            8   10     7     sum  J
    MethodParameters:
        Name  Flags
      a       
      result  
      offset  

  private int mulsub(int[], int[], int, int, int);
    descriptor: ([I[IIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] q
        start local 2 // int[] a
        start local 3 // int x
        start local 4 // int len
        start local 5 // int offset
         0: .line 638
            iload 3 /* x */
            i2l
            ldc 4294967295
            land
            lstore 6 /* xLong */
        start local 6 // long xLong
         1: .line 639
            lconst_0
            lstore 8 /* carry */
        start local 8 // long carry
         2: .line 640
            iload 5 /* offset */
            iload 4 /* len */
            iadd
            istore 5 /* offset */
         3: .line 642
            iload 4 /* len */
            iconst_1
            isub
            istore 10 /* j */
        start local 10 // int j
         4: goto 15
         5: .line 643
      StackMap locals: long long int
      StackMap stack:
            aload 2 /* a */
            iload 10 /* j */
            iaload
            i2l
            ldc 4294967295
            land
            lload 6 /* xLong */
            lmul
            lload 8 /* carry */
            ladd
            lstore 11 /* product */
        start local 11 // long product
         6: .line 644
            aload 1 /* q */
            iload 5 /* offset */
            iaload
            i2l
            lload 11 /* product */
            lsub
            lstore 13 /* difference */
        start local 13 // long difference
         7: .line 645
            aload 1 /* q */
            iload 5 /* offset */
            iinc 5 /* offset */ -1
            lload 13 /* difference */
            l2i
            iastore
         8: .line 646
            lload 11 /* product */
            bipush 32
            lushr
         9: .line 647
            lload 13 /* difference */
            ldc 4294967295
            land
        10: .line 648
            lload 11 /* product */
            l2i
            iconst_m1
            ixor
            i2l
            ldc 4294967295
            land
            lcmp
            ifle 11
            iconst_1
            goto 12
      StackMap locals: java.math.MutableBigInteger int[] int[] int int int long long int long long
      StackMap stack: long
        11: iconst_0
        12: .line 647
      StackMap locals: java.math.MutableBigInteger int[] int[] int int int long long int long long
      StackMap stack: long int
            i2l
        13: .line 646
            ladd
            lstore 8 /* carry */
        end local 13 // long difference
        end local 11 // long product
        14: .line 642
            iinc 10 /* j */ -1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* j */
            ifge 5
        end local 10 // int j
        16: .line 650
            lload 8 /* carry */
            l2i
            ireturn
        end local 8 // long carry
        end local 6 // long xLong
        end local 5 // int offset
        end local 4 // int len
        end local 3 // int x
        end local 2 // int[] a
        end local 1 // int[] q
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljava/math/MutableBigInteger;
            0   17     1           q  [I
            0   17     2           a  [I
            0   17     3           x  I
            0   17     4         len  I
            0   17     5      offset  I
            1   17     6       xLong  J
            2   17     8       carry  J
            4   16    10           j  I
            6   14    11     product  J
            7   14    13  difference  J
    MethodParameters:
        Name  Flags
      q       
      a       
      x       
      len     
      offset  

  private int mulsubBorrow(int[], int[], int, int, int);
    descriptor: ([I[IIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] q
        start local 2 // int[] a
        start local 3 // int x
        start local 4 // int len
        start local 5 // int offset
         0: .line 658
            iload 3 /* x */
            i2l
            ldc 4294967295
            land
            lstore 6 /* xLong */
        start local 6 // long xLong
         1: .line 659
            lconst_0
            lstore 8 /* carry */
        start local 8 // long carry
         2: .line 660
            iload 5 /* offset */
            iload 4 /* len */
            iadd
            istore 5 /* offset */
         3: .line 661
            iload 4 /* len */
            iconst_1
            isub
            istore 10 /* j */
        start local 10 // int j
         4: goto 14
         5: .line 662
      StackMap locals: long long int
      StackMap stack:
            aload 2 /* a */
            iload 10 /* j */
            iaload
            i2l
            ldc 4294967295
            land
            lload 6 /* xLong */
            lmul
            lload 8 /* carry */
            ladd
            lstore 11 /* product */
        start local 11 // long product
         6: .line 663
            aload 1 /* q */
            iload 5 /* offset */
            iinc 5 /* offset */ -1
            iaload
            i2l
            lload 11 /* product */
            lsub
            lstore 13 /* difference */
        start local 13 // long difference
         7: .line 664
            lload 11 /* product */
            bipush 32
            lushr
         8: .line 665
            lload 13 /* difference */
            ldc 4294967295
            land
         9: .line 666
            lload 11 /* product */
            l2i
            iconst_m1
            ixor
            i2l
            ldc 4294967295
            land
            lcmp
            ifle 10
            iconst_1
            goto 11
      StackMap locals: java.math.MutableBigInteger int[] int[] int int int long long int long long
      StackMap stack: long
        10: iconst_0
        11: .line 665
      StackMap locals: java.math.MutableBigInteger int[] int[] int int int long long int long long
      StackMap stack: long int
            i2l
        12: .line 664
            ladd
            lstore 8 /* carry */
        end local 13 // long difference
        end local 11 // long product
        13: .line 661
            iinc 10 /* j */ -1
      StackMap locals:
      StackMap stack:
        14: iload 10 /* j */
            ifge 5
        end local 10 // int j
        15: .line 668
            lload 8 /* carry */
            l2i
            ireturn
        end local 8 // long carry
        end local 6 // long xLong
        end local 5 // int offset
        end local 4 // int len
        end local 3 // int x
        end local 2 // int[] a
        end local 1 // int[] q
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljava/math/MutableBigInteger;
            0   16     1           q  [I
            0   16     2           a  [I
            0   16     3           x  I
            0   16     4         len  I
            0   16     5      offset  I
            1   16     6       xLong  J
            2   16     8       carry  J
            4   15    10           j  I
            6   13    11     product  J
            7   13    13  difference  J
    MethodParameters:
        Name  Flags
      q       
      a       
      x       
      len     
      offset  

  private final void primitiveRightShift(int);
    descriptor: (I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 677
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            astore 2 /* val */
        start local 2 // int[] val
         1: .line 678
            bipush 32
            iload 1 /* n */
            isub
            istore 3 /* n2 */
        start local 3 // int n2
         2: .line 679
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: aload 2 /* val */
            iload 4 /* i */
            iaload
            istore 5 /* c */
        start local 5 // int c
         4: goto 9
         5: .line 680
      StackMap locals: java.math.MutableBigInteger int int[] int int int
      StackMap stack:
            iload 5 /* c */
            istore 6 /* b */
        start local 6 // int b
         6: .line 681
            aload 2 /* val */
            iload 4 /* i */
            iconst_1
            isub
            iaload
            istore 5 /* c */
         7: .line 682
            aload 2 /* val */
            iload 4 /* i */
            iload 5 /* c */
            iload 3 /* n2 */
            ishl
            iload 6 /* b */
            iload 1 /* n */
            iushr
            ior
            iastore
        end local 6 // int b
         8: .line 679
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            if_icmpgt 5
        end local 5 // int c
        end local 4 // int i
        10: .line 684
            aload 2 /* val */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            dup2
            iaload
            iload 1 /* n */
            iushr
            iastore
        11: .line 685
            return
        end local 3 // int n2
        end local 2 // int[] val
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/math/MutableBigInteger;
            0   12     1     n  I
            1   12     2   val  [I
            2   12     3    n2  I
            3   10     4     i  I
            4   10     5     c  I
            6    8     6     b  I
    MethodParameters:
      Name  Flags
      n     

  private final void primitiveLeftShift(int);
    descriptor: (I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 693
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            astore 2 /* val */
        start local 2 // int[] val
         1: .line 694
            bipush 32
            iload 1 /* n */
            isub
            istore 3 /* n2 */
        start local 3 // int n2
         2: .line 695
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 4 /* i */
        start local 4 // int i
         3: aload 2 /* val */
            iload 4 /* i */
            iaload
            istore 5 /* c */
        start local 5 // int c
         4: iload 4 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            istore 6 /* m */
        start local 6 // int m
         5: goto 10
         6: .line 696
      StackMap locals: java.math.MutableBigInteger int int[] int int int int
      StackMap stack:
            iload 5 /* c */
            istore 7 /* b */
        start local 7 // int b
         7: .line 697
            aload 2 /* val */
            iload 4 /* i */
            iconst_1
            iadd
            iaload
            istore 5 /* c */
         8: .line 698
            aload 2 /* val */
            iload 4 /* i */
            iload 7 /* b */
            iload 1 /* n */
            ishl
            iload 5 /* c */
            iload 3 /* n2 */
            iushr
            ior
            iastore
        end local 7 // int b
         9: .line 695
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 6 /* m */
            if_icmplt 6
        end local 6 // int m
        end local 5 // int c
        end local 4 // int i
        11: .line 700
            aload 2 /* val */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            dup2
            iaload
            iload 1 /* n */
            ishl
            iastore
        12: .line 701
            return
        end local 3 // int n2
        end local 2 // int[] val
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/math/MutableBigInteger;
            0   13     1     n  I
            1   13     2   val  [I
            2   13     3    n2  I
            3   11     4     i  I
            4   11     5     c  I
            5   11     6     m  I
            7    9     7     b  I
    MethodParameters:
      Name  Flags
      n     

  private java.math.BigInteger getLower(int);
    descriptor: (I)Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 708
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 2
         1: .line 709
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            areturn
         2: .line 710
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 1 /* n */
            if_icmpge 4
         3: .line 711
            aload 0 /* this */
            iconst_1
            invokevirtual java.math.MutableBigInteger.toBigInteger:(I)Ljava/math/BigInteger;
            areturn
         4: .line 714
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            istore 2 /* len */
        start local 2 // int len
         5: .line 715
            goto 7
         6: .line 716
      StackMap locals: int
      StackMap stack:
            iinc 2 /* len */ -1
         7: .line 715
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ifle 8
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 2 /* len */
            isub
            iaload
            ifeq 6
         8: .line 717
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ifle 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 3 /* sign */
        start local 3 // int sign
        11: .line 718
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 2 /* len */
            isub
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            iload 3 /* sign */
            invokespecial java.math.BigInteger.<init>:([II)V
            areturn
        end local 3 // int sign
        end local 2 // int len
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/math/MutableBigInteger;
            0   12     1     n  I
            5   12     2   len  I
           11   12     3  sign  I
    MethodParameters:
      Name  Flags
      n     

  private void keepLower(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int n
         0: .line 726
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 1 /* n */
            if_icmplt 3
         1: .line 727
            aload 0 /* this */
            dup
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 1 /* n */
            isub
            iadd
            putfield java.math.MutableBigInteger.offset:I
         2: .line 728
            aload 0 /* this */
            iload 1 /* n */
            putfield java.math.MutableBigInteger.intLen:I
         3: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/math/MutableBigInteger;
            0    4     1     n  I
    MethodParameters:
      Name  Flags
      n     

  void add(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger addend
         0: .line 738
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 2 /* x */
        start local 2 // int x
         1: .line 739
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* y */
        start local 3 // int y
         2: .line 740
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmple 3
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: aload 1 /* addend */
            getfield java.math.MutableBigInteger.intLen:I
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* resultLen */
        start local 4 // int resultLen
         5: .line 741
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 4 /* resultLen */
            if_icmpge 6
            iload 4 /* resultLen */
            newarray 10
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
      StackMap locals:
      StackMap stack: int[]
         7: astore 5 /* result */
        start local 5 // int[] result
         8: .line 743
            aload 5 /* result */
            arraylength
            iconst_1
            isub
            istore 6 /* rstart */
        start local 6 // int rstart
         9: .line 745
            lconst_0
            lstore 9 /* carry */
        start local 9 // long carry
        10: .line 748
            goto 19
        11: .line 749
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] int top top long
      StackMap stack:
            iinc 2 /* x */ -1
            iinc 3 /* y */ -1
        12: .line 750
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 2 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        13: .line 751
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        14: .line 750
            ladd
        15: .line 751
            lload 9 /* carry */
        16: .line 750
            ladd
            lstore 7 /* sum */
        start local 7 // long sum
        17: .line 752
            aload 5 /* result */
            iload 6 /* rstart */
            iinc 6 /* rstart */ -1
            lload 7 /* sum */
            l2i
            iastore
        18: .line 753
            lload 7 /* sum */
            bipush 32
            lushr
            lstore 9 /* carry */
        end local 7 // long sum
        19: .line 748
      StackMap locals:
      StackMap stack:
            iload 2 /* x */
            ifle 27
            iload 3 /* y */
            ifgt 11
        20: .line 757
            goto 27
        21: .line 758
      StackMap locals:
      StackMap stack:
            iinc 2 /* x */ -1
        22: .line 759
            lload 9 /* carry */
            lconst_0
            lcmp
            ifne 24
            aload 5 /* result */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            if_acmpne 24
            iload 6 /* rstart */
            iload 2 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            if_icmpne 24
        23: .line 760
            return
        24: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 2 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lload 9 /* carry */
            ladd
            lstore 7 /* sum */
        start local 7 // long sum
        25: .line 762
            aload 5 /* result */
            iload 6 /* rstart */
            iinc 6 /* rstart */ -1
            lload 7 /* sum */
            l2i
            iastore
        26: .line 763
            lload 7 /* sum */
            bipush 32
            lushr
            lstore 9 /* carry */
        end local 7 // long sum
        27: .line 757
      StackMap locals:
      StackMap stack:
            iload 2 /* x */
            ifgt 21
        28: .line 765
            goto 33
        29: .line 766
      StackMap locals:
      StackMap stack:
            iinc 3 /* y */ -1
        30: .line 767
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lload 9 /* carry */
            ladd
            lstore 7 /* sum */
        start local 7 // long sum
        31: .line 768
            aload 5 /* result */
            iload 6 /* rstart */
            iinc 6 /* rstart */ -1
            lload 7 /* sum */
            l2i
            iastore
        32: .line 769
            lload 7 /* sum */
            bipush 32
            lushr
            lstore 9 /* carry */
        end local 7 // long sum
        33: .line 765
      StackMap locals:
      StackMap stack:
            iload 3 /* y */
            ifgt 29
        34: .line 772
            lload 9 /* carry */
            lconst_0
            lcmp
            ifle 43
        35: .line 773
            iinc 4 /* resultLen */ 1
        36: .line 774
            aload 5 /* result */
            arraylength
            iload 4 /* resultLen */
            if_icmpge 42
        37: .line 775
            iload 4 /* resultLen */
            newarray 10
            astore 11 /* temp */
        start local 11 // int[] temp
        38: .line 778
            aload 5 /* result */
            iconst_0
            aload 11 /* temp */
            iconst_1
            aload 5 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 779
            aload 11 /* temp */
            iconst_0
            iconst_1
            iastore
        40: .line 780
            aload 11 /* temp */
            astore 5 /* result */
        end local 11 // int[] temp
        41: .line 781
            goto 43
        42: .line 782
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            iload 6 /* rstart */
            iinc 6 /* rstart */ -1
            iconst_1
            iastore
        43: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* result */
            putfield java.math.MutableBigInteger.value:[I
        44: .line 787
            aload 0 /* this */
            iload 4 /* resultLen */
            putfield java.math.MutableBigInteger.intLen:I
        45: .line 788
            aload 0 /* this */
            aload 5 /* result */
            arraylength
            iload 4 /* resultLen */
            isub
            putfield java.math.MutableBigInteger.offset:I
        46: .line 789
            return
        end local 9 // long carry
        end local 6 // int rstart
        end local 5 // int[] result
        end local 4 // int resultLen
        end local 3 // int y
        end local 2 // int x
        end local 1 // java.math.MutableBigInteger addend
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   47     0       this  Ljava/math/MutableBigInteger;
            0   47     1     addend  Ljava/math/MutableBigInteger;
            1   47     2          x  I
            2   47     3          y  I
            5   47     4  resultLen  I
            8   47     5     result  [I
            9   47     6     rstart  I
           17   19     7        sum  J
           25   27     7        sum  J
           31   33     7        sum  J
           10   47     9      carry  J
           38   41    11       temp  [I
    MethodParameters:
        Name  Flags
      addend  

  void addShifted(java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger addend
        start local 2 // int n
         0: .line 797
            aload 1 /* addend */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 2
         1: .line 798
            return
         2: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* x */
        start local 3 // int x
         3: .line 802
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* n */
            iadd
            istore 4 /* y */
        start local 4 // int y
         4: .line 803
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 4 /* y */
            if_icmple 5
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            goto 6
      StackMap locals: int int
      StackMap stack:
         5: iload 4 /* y */
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* resultLen */
        start local 5 // int resultLen
         7: .line 804
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 5 /* resultLen */
            if_icmpge 8
            iload 5 /* resultLen */
            newarray 10
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
      StackMap locals:
      StackMap stack: int[]
         9: astore 6 /* result */
        start local 6 // int[] result
        10: .line 806
            aload 6 /* result */
            arraylength
            iconst_1
            isub
            istore 7 /* rstart */
        start local 7 // int rstart
        11: .line 808
            lconst_0
            lstore 10 /* carry */
        start local 10 // long carry
        12: .line 811
            goto 24
        13: .line 812
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger int int int int int[] int top top long
      StackMap stack:
            iinc 3 /* x */ -1
            iinc 4 /* y */ -1
        14: .line 813
            iload 4 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            if_icmpge 15
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            iload 4 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 12 /* bval */
        start local 12 // int bval
        17: .line 814
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        18: .line 815
            iload 12 /* bval */
            i2l
            ldc 4294967295
            land
        19: .line 814
            ladd
        20: .line 815
            lload 10 /* carry */
        21: .line 814
            ladd
            lstore 8 /* sum */
        start local 8 // long sum
        22: .line 816
            aload 6 /* result */
            iload 7 /* rstart */
            iinc 7 /* rstart */ -1
            lload 8 /* sum */
            l2i
            iastore
        23: .line 817
            lload 8 /* sum */
            bipush 32
            lushr
            lstore 10 /* carry */
        end local 12 // int bval
        end local 8 // long sum
        24: .line 811
      StackMap locals:
      StackMap stack:
            iload 3 /* x */
            ifle 32
            iload 4 /* y */
            ifgt 13
        25: .line 821
            goto 32
        26: .line 822
      StackMap locals:
      StackMap stack:
            iinc 3 /* x */ -1
        27: .line 823
            lload 10 /* carry */
            lconst_0
            lcmp
            ifne 29
            aload 6 /* result */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            if_acmpne 29
            iload 7 /* rstart */
            iload 3 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            if_icmpne 29
        28: .line 824
            return
        29: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* x */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lload 10 /* carry */
            ladd
            lstore 8 /* sum */
        start local 8 // long sum
        30: .line 827
            aload 6 /* result */
            iload 7 /* rstart */
            iinc 7 /* rstart */ -1
            lload 8 /* sum */
            l2i
            iastore
        31: .line 828
            lload 8 /* sum */
            bipush 32
            lushr
            lstore 10 /* carry */
        end local 8 // long sum
        32: .line 821
      StackMap locals:
      StackMap stack:
            iload 3 /* x */
            ifgt 26
        33: .line 830
            goto 41
        34: .line 831
      StackMap locals:
      StackMap stack:
            iinc 4 /* y */ -1
        35: .line 832
            iload 4 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            if_icmpge 36
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            iload 4 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: istore 12 /* bval */
        start local 12 // int bval
        38: .line 833
            iload 12 /* bval */
            i2l
            ldc 4294967295
            land
            lload 10 /* carry */
            ladd
            lstore 8 /* sum */
        start local 8 // long sum
        39: .line 834
            aload 6 /* result */
            iload 7 /* rstart */
            iinc 7 /* rstart */ -1
            lload 8 /* sum */
            l2i
            iastore
        40: .line 835
            lload 8 /* sum */
            bipush 32
            lushr
            lstore 10 /* carry */
        end local 12 // int bval
        end local 8 // long sum
        41: .line 830
      StackMap locals:
      StackMap stack:
            iload 4 /* y */
            ifgt 34
        42: .line 838
            lload 10 /* carry */
            lconst_0
            lcmp
            ifle 51
        43: .line 839
            iinc 5 /* resultLen */ 1
        44: .line 840
            aload 6 /* result */
            arraylength
            iload 5 /* resultLen */
            if_icmpge 50
        45: .line 841
            iload 5 /* resultLen */
            newarray 10
            astore 12 /* temp */
        start local 12 // int[] temp
        46: .line 844
            aload 6 /* result */
            iconst_0
            aload 12 /* temp */
            iconst_1
            aload 6 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        47: .line 845
            aload 12 /* temp */
            iconst_0
            iconst_1
            iastore
        48: .line 846
            aload 12 /* temp */
            astore 6 /* result */
        end local 12 // int[] temp
        49: .line 847
            goto 51
        50: .line 848
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            iload 7 /* rstart */
            iinc 7 /* rstart */ -1
            iconst_1
            iastore
        51: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* result */
            putfield java.math.MutableBigInteger.value:[I
        52: .line 853
            aload 0 /* this */
            iload 5 /* resultLen */
            putfield java.math.MutableBigInteger.intLen:I
        53: .line 854
            aload 0 /* this */
            aload 6 /* result */
            arraylength
            iload 5 /* resultLen */
            isub
            putfield java.math.MutableBigInteger.offset:I
        54: .line 855
            return
        end local 10 // long carry
        end local 7 // int rstart
        end local 6 // int[] result
        end local 5 // int resultLen
        end local 4 // int y
        end local 3 // int x
        end local 2 // int n
        end local 1 // java.math.MutableBigInteger addend
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   55     0       this  Ljava/math/MutableBigInteger;
            0   55     1     addend  Ljava/math/MutableBigInteger;
            0   55     2          n  I
            3   55     3          x  I
            4   55     4          y  I
            7   55     5  resultLen  I
           10   55     6     result  [I
           11   55     7     rstart  I
           22   24     8        sum  J
           30   32     8        sum  J
           39   41     8        sum  J
           12   55    10      carry  J
           17   24    12       bval  I
           38   41    12       bval  I
           46   49    12       temp  [I
    MethodParameters:
        Name  Flags
      addend  
      n       

  void addDisjoint(java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger addend
        start local 2 // int n
         0: .line 863
            aload 1 /* addend */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 2
         1: .line 864
            return
         2: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* x */
        start local 3 // int x
         3: .line 867
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.intLen:I
            iload 2 /* n */
            iadd
            istore 4 /* y */
        start local 4 // int y
         4: .line 868
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 4 /* y */
            if_icmple 5
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            goto 6
      StackMap locals: int int
      StackMap stack:
         5: iload 4 /* y */
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* resultLen */
        start local 5 // int resultLen
         7: .line 870
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 5 /* resultLen */
            if_icmpge 10
         8: .line 871
            iload 5 /* resultLen */
            newarray 10
            astore 6 /* result */
        start local 6 // int[] result
         9: goto 12
        end local 6 // int[] result
        10: .line 873
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            astore 6 /* result */
        start local 6 // int[] result
        11: .line 874
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iconst_0
            invokestatic java.util.Arrays.fill:([IIII)V
        12: .line 877
      StackMap locals: int[]
      StackMap stack:
            aload 6 /* result */
            arraylength
            iconst_1
            isub
            istore 7 /* rstart */
        start local 7 // int rstart
        13: .line 880
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 6 /* result */
            iload 7 /* rstart */
            iconst_1
            iadd
            iload 3 /* x */
            isub
            iload 3 /* x */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 881
            iload 4 /* y */
            iload 3 /* x */
            isub
            istore 4 /* y */
        15: .line 882
            iload 7 /* rstart */
            iload 3 /* x */
            isub
            istore 7 /* rstart */
        16: .line 884
            iload 4 /* y */
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* len */
        start local 8 // int len
        17: .line 885
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* addend */
            getfield java.math.MutableBigInteger.offset:I
            aload 6 /* result */
            iload 7 /* rstart */
            iconst_1
            iadd
            iload 4 /* y */
            isub
            iload 8 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 888
            iload 7 /* rstart */
            iconst_1
            iadd
            iload 4 /* y */
            isub
            iload 8 /* len */
            iadd
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 889
      StackMap locals: int int int
      StackMap stack:
            aload 6 /* result */
            iload 9 /* i */
            iconst_0
            iastore
        21: .line 888
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 7 /* rstart */
            iconst_1
            iadd
            if_icmplt 20
        end local 9 // int i
        23: .line 891
            aload 0 /* this */
            aload 6 /* result */
            putfield java.math.MutableBigInteger.value:[I
        24: .line 892
            aload 0 /* this */
            iload 5 /* resultLen */
            putfield java.math.MutableBigInteger.intLen:I
        25: .line 893
            aload 0 /* this */
            aload 6 /* result */
            arraylength
            iload 5 /* resultLen */
            isub
            putfield java.math.MutableBigInteger.offset:I
        26: .line 894
            return
        end local 8 // int len
        end local 7 // int rstart
        end local 6 // int[] result
        end local 5 // int resultLen
        end local 4 // int y
        end local 3 // int x
        end local 2 // int n
        end local 1 // java.math.MutableBigInteger addend
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Ljava/math/MutableBigInteger;
            0   27     1     addend  Ljava/math/MutableBigInteger;
            0   27     2          n  I
            3   27     3          x  I
            4   27     4          y  I
            7   27     5  resultLen  I
            9   10     6     result  [I
           11   27     6     result  [I
           13   27     7     rstart  I
           17   27     8        len  I
           19   23     9          i  I
    MethodParameters:
        Name  Flags
      addend  
      n       

  void addLower(java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger addend
        start local 2 // int n
         0: .line 900
            new java.math.MutableBigInteger
            dup
            aload 1 /* addend */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 3 /* a */
        start local 3 // java.math.MutableBigInteger a
         1: .line 901
            aload 3 /* a */
            getfield java.math.MutableBigInteger.offset:I
            aload 3 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 2 /* n */
            if_icmplt 4
         2: .line 902
            aload 3 /* a */
            aload 3 /* a */
            getfield java.math.MutableBigInteger.offset:I
            aload 3 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 2 /* n */
            isub
            putfield java.math.MutableBigInteger.offset:I
         3: .line 903
            aload 3 /* a */
            iload 2 /* n */
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 905
      StackMap locals: java.math.MutableBigInteger
      StackMap stack:
            aload 3 /* a */
            invokevirtual java.math.MutableBigInteger.normalize:()V
         5: .line 906
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
         6: .line 907
            return
        end local 3 // java.math.MutableBigInteger a
        end local 2 // int n
        end local 1 // java.math.MutableBigInteger addend
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljava/math/MutableBigInteger;
            0    7     1  addend  Ljava/math/MutableBigInteger;
            0    7     2       n  I
            1    7     3       a  Ljava/math/MutableBigInteger;
    MethodParameters:
        Name  Flags
      addend  
      n       

  int subtract(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)I
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
         0: .line 914
            aload 0 /* this */
            astore 2 /* a */
        start local 2 // java.math.MutableBigInteger a
         1: .line 916
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            astore 3 /* result */
        start local 3 // int[] result
         2: .line 917
            aload 2 /* a */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            istore 4 /* sign */
        start local 4 // int sign
         3: .line 919
            iload 4 /* sign */
            ifne 6
         4: .line 920
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.reset:()V
         5: .line 921
            iconst_0
            ireturn
         6: .line 923
      StackMap locals: java.math.MutableBigInteger int[] int
      StackMap stack:
            iload 4 /* sign */
            ifge 10
         7: .line 924
            aload 2 /* a */
            astore 5 /* tmp */
        start local 5 // java.math.MutableBigInteger tmp
         8: .line 925
            aload 1 /* b */
            astore 2 /* a */
         9: .line 926
            aload 5 /* tmp */
            astore 1 /* b */
        end local 5 // java.math.MutableBigInteger tmp
        10: .line 929
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            istore 5 /* resultLen */
        start local 5 // int resultLen
        11: .line 930
            aload 3 /* result */
            arraylength
            iload 5 /* resultLen */
            if_icmpge 13
        12: .line 931
            iload 5 /* resultLen */
            newarray 10
            astore 3 /* result */
        13: .line 933
      StackMap locals: int
      StackMap stack:
            lconst_0
            lstore 6 /* diff */
        start local 6 // long diff
        14: .line 934
            aload 2 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            istore 8 /* x */
        start local 8 // int x
        15: .line 935
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 9 /* y */
        start local 9 // int y
        16: .line 936
            aload 3 /* result */
            arraylength
            iconst_1
            isub
            istore 10 /* rstart */
        start local 10 // int rstart
        17: .line 939
            goto 25
        18: .line 940
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int[] int int long int int int
      StackMap stack:
            iinc 8 /* x */ -1
            iinc 9 /* y */ -1
        19: .line 942
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* x */
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        20: .line 943
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* y */
            aload 1 /* b */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        21: .line 942
            lsub
        22: .line 943
            lload 6 /* diff */
            bipush 32
            lshr
            lneg
            l2i
            i2l
        23: .line 942
            lsub
            lstore 6 /* diff */
        24: .line 944
            aload 3 /* result */
            iload 10 /* rstart */
            iinc 10 /* rstart */ -1
            lload 6 /* diff */
            l2i
            iastore
        25: .line 939
      StackMap locals:
      StackMap stack:
            iload 9 /* y */
            ifgt 18
        26: .line 947
            goto 30
        27: .line 948
      StackMap locals:
      StackMap stack:
            iinc 8 /* x */ -1
        28: .line 949
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* x */
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lload 6 /* diff */
            bipush 32
            lshr
            lneg
            l2i
            i2l
            lsub
            lstore 6 /* diff */
        29: .line 950
            aload 3 /* result */
            iload 10 /* rstart */
            iinc 10 /* rstart */ -1
            lload 6 /* diff */
            l2i
            iastore
        30: .line 947
      StackMap locals:
      StackMap stack:
            iload 8 /* x */
            ifgt 27
        31: .line 953
            aload 0 /* this */
            aload 3 /* result */
            putfield java.math.MutableBigInteger.value:[I
        32: .line 954
            aload 0 /* this */
            iload 5 /* resultLen */
            putfield java.math.MutableBigInteger.intLen:I
        33: .line 955
            aload 0 /* this */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 5 /* resultLen */
            isub
            putfield java.math.MutableBigInteger.offset:I
        34: .line 956
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        35: .line 957
            iload 4 /* sign */
            ireturn
        end local 10 // int rstart
        end local 9 // int y
        end local 8 // int x
        end local 6 // long diff
        end local 5 // int resultLen
        end local 4 // int sign
        end local 3 // int[] result
        end local 2 // java.math.MutableBigInteger a
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Ljava/math/MutableBigInteger;
            0   36     1          b  Ljava/math/MutableBigInteger;
            1   36     2          a  Ljava/math/MutableBigInteger;
            2   36     3     result  [I
            3   36     4       sign  I
            8   10     5        tmp  Ljava/math/MutableBigInteger;
           11   36     5  resultLen  I
           14   36     6       diff  J
           15   36     8          x  I
           16   36     9          y  I
           17   36    10     rstart  I
    MethodParameters:
      Name  Flags
      b     

  private int difference(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
         0: .line 966
            aload 0 /* this */
            astore 2 /* a */
        start local 2 // java.math.MutableBigInteger a
         1: .line 967
            aload 2 /* a */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            istore 3 /* sign */
        start local 3 // int sign
         2: .line 968
            iload 3 /* sign */
            ifne 4
         3: .line 969
            iconst_0
            ireturn
         4: .line 970
      StackMap locals: java.math.MutableBigInteger int
      StackMap stack:
            iload 3 /* sign */
            ifge 8
         5: .line 971
            aload 2 /* a */
            astore 4 /* tmp */
        start local 4 // java.math.MutableBigInteger tmp
         6: .line 972
            aload 1 /* b */
            astore 2 /* a */
         7: .line 973
            aload 4 /* tmp */
            astore 1 /* b */
        end local 4 // java.math.MutableBigInteger tmp
         8: .line 976
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 4 /* diff */
        start local 4 // long diff
         9: .line 977
            aload 2 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            istore 6 /* x */
        start local 6 // int x
        10: .line 978
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 7 /* y */
        start local 7 // int y
        11: .line 981
            goto 19
        12: .line 982
      StackMap locals: long int int
      StackMap stack:
            iinc 6 /* x */ -1
            iinc 7 /* y */ -1
        13: .line 983
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iload 6 /* x */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        14: .line 984
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* b */
            getfield java.math.MutableBigInteger.offset:I
            iload 7 /* y */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        15: .line 983
            lsub
        16: .line 984
            lload 4 /* diff */
            bipush 32
            lshr
            lneg
            l2i
            i2l
        17: .line 983
            lsub
            lstore 4 /* diff */
        18: .line 985
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iload 6 /* x */
            iadd
            lload 4 /* diff */
            l2i
            iastore
        19: .line 981
      StackMap locals:
      StackMap stack:
            iload 7 /* y */
            ifgt 12
        20: .line 988
            goto 24
        21: .line 989
      StackMap locals:
      StackMap stack:
            iinc 6 /* x */ -1
        22: .line 990
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iload 6 /* x */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lload 4 /* diff */
            bipush 32
            lshr
            lneg
            l2i
            i2l
            lsub
            lstore 4 /* diff */
        23: .line 991
            aload 2 /* a */
            getfield java.math.MutableBigInteger.value:[I
            aload 2 /* a */
            getfield java.math.MutableBigInteger.offset:I
            iload 6 /* x */
            iadd
            lload 4 /* diff */
            l2i
            iastore
        24: .line 988
      StackMap locals:
      StackMap stack:
            iload 6 /* x */
            ifgt 21
        25: .line 994
            aload 2 /* a */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        26: .line 995
            iload 3 /* sign */
            ireturn
        end local 7 // int y
        end local 6 // int x
        end local 4 // long diff
        end local 3 // int sign
        end local 2 // java.math.MutableBigInteger a
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Ljava/math/MutableBigInteger;
            0   27     1     b  Ljava/math/MutableBigInteger;
            1   27     2     a  Ljava/math/MutableBigInteger;
            2   27     3  sign  I
            6    8     4   tmp  Ljava/math/MutableBigInteger;
            9   27     4  diff  J
           10   27     6     x  I
           11   27     7     y  I
    MethodParameters:
      Name  Flags
      b     

  void multiply(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger y
        start local 2 // java.math.MutableBigInteger z
         0: .line 1003
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* xLen */
        start local 3 // int xLen
         1: .line 1004
            aload 1 /* y */
            getfield java.math.MutableBigInteger.intLen:I
            istore 4 /* yLen */
        start local 4 // int yLen
         2: .line 1005
            iload 3 /* xLen */
            iload 4 /* yLen */
            iadd
            istore 5 /* newLen */
        start local 5 // int newLen
         3: .line 1008
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 5 /* newLen */
            if_icmpge 5
         4: .line 1009
            aload 2 /* z */
            iload 5 /* newLen */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         5: .line 1010
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* z */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         6: .line 1011
            aload 2 /* z */
            iload 5 /* newLen */
            putfield java.math.MutableBigInteger.intLen:I
         7: .line 1014
            lconst_0
            lstore 6 /* carry */
        start local 6 // long carry
         8: .line 1015
            iload 4 /* yLen */
            iconst_1
            isub
            istore 8 /* j */
        start local 8 // int j
         9: iload 4 /* yLen */
            iload 3 /* xLen */
            iadd
            iconst_1
            isub
            istore 9 /* k */
        start local 9 // int k
        10: goto 19
        11: .line 1016
      StackMap locals: long int int
      StackMap stack:
            aload 1 /* y */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* j */
            aload 1 /* y */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        12: .line 1017
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* xLen */
            iconst_1
            isub
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        13: .line 1016
            lmul
        14: .line 1017
            lload 6 /* carry */
        15: .line 1016
            ladd
            lstore 10 /* product */
        start local 10 // long product
        16: .line 1018
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* k */
            lload 10 /* product */
            l2i
            iastore
        17: .line 1019
            lload 10 /* product */
            bipush 32
            lushr
            lstore 6 /* carry */
        end local 10 // long product
        18: .line 1015
            iinc 8 /* j */ -1
            iinc 9 /* k */ -1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* j */
            ifge 11
        end local 9 // int k
        end local 8 // int j
        20: .line 1021
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            iload 3 /* xLen */
            iconst_1
            isub
            lload 6 /* carry */
            l2i
            iastore
        21: .line 1024
            iload 3 /* xLen */
            iconst_2
            isub
            istore 8 /* i */
        start local 8 // int i
        22: goto 40
        23: .line 1025
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 6 /* carry */
        24: .line 1026
            iload 4 /* yLen */
            iconst_1
            isub
            istore 9 /* j */
        start local 9 // int j
        25: iload 4 /* yLen */
            iload 8 /* i */
            iadd
            istore 10 /* k */
        start local 10 // int k
        26: goto 37
        27: .line 1027
      StackMap locals: int int
      StackMap stack:
            aload 1 /* y */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* j */
            aload 1 /* y */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        28: .line 1028
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
        29: .line 1027
            lmul
        30: .line 1029
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            iload 10 /* k */
            iaload
            i2l
            ldc 4294967295
            land
        31: .line 1027
            ladd
        32: .line 1029
            lload 6 /* carry */
        33: .line 1027
            ladd
            lstore 11 /* product */
        start local 11 // long product
        34: .line 1030
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            iload 10 /* k */
            lload 11 /* product */
            l2i
            iastore
        35: .line 1031
            lload 11 /* product */
            bipush 32
            lushr
            lstore 6 /* carry */
        end local 11 // long product
        36: .line 1026
            iinc 9 /* j */ -1
            iinc 10 /* k */ -1
      StackMap locals:
      StackMap stack:
        37: iload 9 /* j */
            ifge 27
        end local 10 // int k
        end local 9 // int j
        38: .line 1033
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* i */
            lload 6 /* carry */
            l2i
            iastore
        39: .line 1024
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 8 /* i */
            ifge 23
        end local 8 // int i
        41: .line 1037
            aload 2 /* z */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        42: .line 1038
            return
        end local 6 // long carry
        end local 5 // int newLen
        end local 4 // int yLen
        end local 3 // int xLen
        end local 2 // java.math.MutableBigInteger z
        end local 1 // java.math.MutableBigInteger y
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Ljava/math/MutableBigInteger;
            0   43     1        y  Ljava/math/MutableBigInteger;
            0   43     2        z  Ljava/math/MutableBigInteger;
            1   43     3     xLen  I
            2   43     4     yLen  I
            3   43     5   newLen  I
            8   43     6    carry  J
            9   20     8        j  I
           10   20     9        k  I
           16   18    10  product  J
           22   41     8        i  I
           25   38     9        j  I
           26   38    10        k  I
           34   36    11  product  J
    MethodParameters:
      Name  Flags
      y     
      z     

  void mul(int, java.math.MutableBigInteger);
    descriptor: (ILjava/math/MutableBigInteger;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int y
        start local 2 // java.math.MutableBigInteger z
         0: .line 1045
            iload 1 /* y */
            iconst_1
            if_icmpne 3
         1: .line 1046
            aload 2 /* z */
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.copyValue:(Ljava/math/MutableBigInteger;)V
         2: .line 1047
            return
         3: .line 1050
      StackMap locals:
      StackMap stack:
            iload 1 /* y */
            ifne 6
         4: .line 1051
            aload 2 /* z */
            invokevirtual java.math.MutableBigInteger.clear:()V
         5: .line 1052
            return
         6: .line 1056
      StackMap locals:
      StackMap stack:
            iload 1 /* y */
            i2l
            ldc 4294967295
            land
            lstore 3 /* ylong */
        start local 3 // long ylong
         7: .line 1057
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            if_icmpge 8
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            newarray 10
            goto 9
         8: .line 1058
      StackMap locals: long
      StackMap stack:
            aload 2 /* z */
            getfield java.math.MutableBigInteger.value:[I
         9: .line 1057
      StackMap locals:
      StackMap stack: int[]
            astore 5 /* zval */
        start local 5 // int[] zval
        10: .line 1059
            lconst_0
            lstore 6 /* carry */
        start local 6 // long carry
        11: .line 1060
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            isub
            istore 8 /* i */
        start local 8 // int i
        12: goto 17
        13: .line 1061
      StackMap locals: int[] long int
      StackMap stack:
            lload 3 /* ylong */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 8 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lmul
            lload 6 /* carry */
            ladd
            lstore 9 /* product */
        start local 9 // long product
        14: .line 1062
            aload 5 /* zval */
            iload 8 /* i */
            iconst_1
            iadd
            lload 9 /* product */
            l2i
            iastore
        15: .line 1063
            lload 9 /* product */
            bipush 32
            lushr
            lstore 6 /* carry */
        end local 9 // long product
        16: .line 1060
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            ifge 13
        end local 8 // int i
        18: .line 1066
            lload 6 /* carry */
            lconst_0
            lcmp
            ifne 22
        19: .line 1067
            aload 2 /* z */
            iconst_1
            putfield java.math.MutableBigInteger.offset:I
        20: .line 1068
            aload 2 /* z */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
        21: .line 1069
            goto 25
        22: .line 1070
      StackMap locals:
      StackMap stack:
            aload 2 /* z */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        23: .line 1071
            aload 2 /* z */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            putfield java.math.MutableBigInteger.intLen:I
        24: .line 1072
            aload 5 /* zval */
            iconst_0
            lload 6 /* carry */
            l2i
            iastore
        25: .line 1074
      StackMap locals:
      StackMap stack:
            aload 2 /* z */
            aload 5 /* zval */
            putfield java.math.MutableBigInteger.value:[I
        26: .line 1075
            return
        end local 6 // long carry
        end local 5 // int[] zval
        end local 3 // long ylong
        end local 2 // java.math.MutableBigInteger z
        end local 1 // int y
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0     this  Ljava/math/MutableBigInteger;
            0   27     1        y  I
            0   27     2        z  Ljava/math/MutableBigInteger;
            7   27     3    ylong  J
           10   27     5     zval  [I
           11   27     6    carry  J
           12   18     8        i  I
           14   16     9  product  J
    MethodParameters:
      Name  Flags
      y     
      z     

  int divideOneWord(int, java.math.MutableBigInteger);
    descriptor: (ILjava/math/MutableBigInteger;)I
    flags: (0x0000) 
    Code:
      stack=6, locals=15, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int divisor
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1086
            iload 1 /* divisor */
            i2l
            ldc 4294967295
            land
            lstore 3 /* divisorLong */
        start local 3 // long divisorLong
         1: .line 1089
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmpne 11
         2: .line 1090
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            i2l
            ldc 4294967295
            land
            lstore 5 /* dividendValue */
        start local 5 // long dividendValue
         3: .line 1091
            lload 5 /* dividendValue */
            lload 3 /* divisorLong */
            ldiv
            l2i
            istore 7 /* q */
        start local 7 // int q
         4: .line 1092
            lload 5 /* dividendValue */
            iload 7 /* q */
            i2l
            lload 3 /* divisorLong */
            lmul
            lsub
            l2i
            istore 8 /* r */
        start local 8 // int r
         5: .line 1093
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iload 7 /* q */
            iastore
         6: .line 1094
            aload 2 /* quotient */
            iload 7 /* q */
            ifne 7
            iconst_0
            goto 8
      StackMap locals: java.math.MutableBigInteger int java.math.MutableBigInteger long long int int
      StackMap stack: java.math.MutableBigInteger
         7: iconst_1
      StackMap locals: java.math.MutableBigInteger int java.math.MutableBigInteger long long int int
      StackMap stack: java.math.MutableBigInteger int
         8: putfield java.math.MutableBigInteger.intLen:I
         9: .line 1095
            aload 2 /* quotient */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        10: .line 1096
            iload 8 /* r */
            ireturn
        end local 8 // int r
        end local 7 // int q
        end local 5 // long dividendValue
        11: .line 1099
      StackMap locals:
      StackMap stack:
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmpge 13
        12: .line 1100
            aload 2 /* quotient */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
        13: .line 1101
      StackMap locals:
      StackMap stack:
            aload 2 /* quotient */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        14: .line 1102
            aload 2 /* quotient */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
        15: .line 1105
            iload 1 /* divisor */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            istore 5 /* shift */
        start local 5 // int shift
        16: .line 1107
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            istore 6 /* rem */
        start local 6 // int rem
        17: .line 1108
            iload 6 /* rem */
            i2l
            ldc 4294967295
            land
            lstore 7 /* remLong */
        start local 7 // long remLong
        18: .line 1109
            lload 7 /* remLong */
            lload 3 /* divisorLong */
            lcmp
            ifge 21
        19: .line 1110
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iconst_0
            iastore
        20: .line 1111
            goto 24
        21: .line 1112
      StackMap locals: int int long
      StackMap stack:
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            lload 7 /* remLong */
            lload 3 /* divisorLong */
            ldiv
            l2i
            iastore
        22: .line 1113
            lload 7 /* remLong */
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iaload
            i2l
            lload 3 /* divisorLong */
            lmul
            lsub
            l2i
            istore 6 /* rem */
        23: .line 1114
            iload 6 /* rem */
            i2l
            ldc 4294967295
            land
            lstore 7 /* remLong */
        24: .line 1116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 9 /* xlen */
        start local 9 // int xlen
        25: .line 1117
            goto 38
        26: .line 1118
      StackMap locals: int
      StackMap stack:
            lload 7 /* remLong */
            bipush 32
            lshl
        27: .line 1119
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 9 /* xlen */
            isub
            iaload
            i2l
            ldc 4294967295
            land
        28: .line 1118
            lor
            lstore 10 /* dividendEstimate */
        start local 10 // long dividendEstimate
        29: .line 1121
            lload 10 /* dividendEstimate */
            lconst_0
            lcmp
            iflt 33
        30: .line 1122
            lload 10 /* dividendEstimate */
            lload 3 /* divisorLong */
            ldiv
            l2i
            istore 12 /* q */
        start local 12 // int q
        31: .line 1123
            lload 10 /* dividendEstimate */
            iload 12 /* q */
            i2l
            lload 3 /* divisorLong */
            lmul
            lsub
            l2i
            istore 6 /* rem */
        32: .line 1124
            goto 36
        end local 12 // int q
        33: .line 1125
      StackMap locals: long
      StackMap stack:
            lload 10 /* dividendEstimate */
            iload 1 /* divisor */
            invokestatic java.math.MutableBigInteger.divWord:(JI)J
            lstore 13 /* tmp */
        start local 13 // long tmp
        34: .line 1126
            lload 13 /* tmp */
            ldc 4294967295
            land
            l2i
            istore 12 /* q */
        start local 12 // int q
        35: .line 1127
            lload 13 /* tmp */
            bipush 32
            lushr
            l2i
            istore 6 /* rem */
        end local 13 // long tmp
        36: .line 1129
      StackMap locals: int
      StackMap stack:
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iload 9 /* xlen */
            isub
            iload 12 /* q */
            iastore
        37: .line 1130
            iload 6 /* rem */
            i2l
            ldc 4294967295
            land
            lstore 7 /* remLong */
        end local 12 // int q
        end local 10 // long dividendEstimate
        38: .line 1117
      StackMap locals:
      StackMap stack:
            iinc 9 /* xlen */ -1
            iload 9 /* xlen */
            ifgt 26
        39: .line 1133
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        40: .line 1135
            iload 5 /* shift */
            ifle 42
        41: .line 1136
            iload 6 /* rem */
            iload 1 /* divisor */
            irem
            ireturn
        42: .line 1138
      StackMap locals:
      StackMap stack:
            iload 6 /* rem */
            ireturn
        end local 9 // int xlen
        end local 7 // long remLong
        end local 6 // int rem
        end local 5 // int shift
        end local 3 // long divisorLong
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // int divisor
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   43     0              this  Ljava/math/MutableBigInteger;
            0   43     1           divisor  I
            0   43     2          quotient  Ljava/math/MutableBigInteger;
            1   43     3       divisorLong  J
            3   11     5     dividendValue  J
            4   11     7                 q  I
            5   11     8                 r  I
           16   43     5             shift  I
           17   43     6               rem  I
           18   43     7           remLong  J
           25   43     9              xlen  I
           29   38    10  dividendEstimate  J
           31   33    12                 q  I
           35   38    12                 q  I
           34   36    13               tmp  J
    MethodParameters:
          Name  Flags
      divisor   
      quotient  

  java.math.MutableBigInteger divide(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1147
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            iconst_1
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
            areturn
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/math/MutableBigInteger;
            0    1     1         b  Ljava/math/MutableBigInteger;
            0    1     2  quotient  Ljava/math/MutableBigInteger;
    MethodParameters:
          Name  Flags
      b         
      quotient  

  java.math.MutableBigInteger divide(java.math.MutableBigInteger, java.math.MutableBigInteger, boolean);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
        start local 3 // boolean needRemainder
         0: .line 1151
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            bipush 80
            if_icmplt 2
         1: .line 1152
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            isub
            bipush 40
            if_icmpge 3
         2: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            iload 3 /* needRemainder */
            invokevirtual java.math.MutableBigInteger.divideKnuth:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
            areturn
         3: .line 1155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideAndRemainderBurnikelZiegler:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            areturn
        end local 3 // boolean needRemainder
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/math/MutableBigInteger;
            0    4     1              b  Ljava/math/MutableBigInteger;
            0    4     2       quotient  Ljava/math/MutableBigInteger;
            0    4     3  needRemainder  Z
    MethodParameters:
               Name  Flags
      b              
      quotient       
      needRemainder  

  java.math.MutableBigInteger divideKnuth(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1163
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            iconst_1
            invokevirtual java.math.MutableBigInteger.divideKnuth:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
            areturn
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/math/MutableBigInteger;
            0    1     1         b  Ljava/math/MutableBigInteger;
            0    1     2  quotient  Ljava/math/MutableBigInteger;
    MethodParameters:
          Name  Flags
      b         
      quotient  

  java.math.MutableBigInteger divideKnuth(java.math.MutableBigInteger, java.math.MutableBigInteger, boolean);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
        start local 3 // boolean needRemainder
         0: .line 1178
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 2
         1: .line 1179
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger divide by zero"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 7
         3: .line 1183
            aload 2 /* quotient */
            aload 2 /* quotient */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.offset:I
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 1184
            iload 3 /* needRemainder */
            ifeq 5
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
         6: areturn
         7: .line 1187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            istore 4 /* cmp */
        start local 4 // int cmp
         8: .line 1189
            iload 4 /* cmp */
            ifge 13
         9: .line 1190
            aload 2 /* quotient */
            aload 2 /* quotient */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.offset:I
            putfield java.math.MutableBigInteger.intLen:I
        10: .line 1191
            iload 3 /* needRemainder */
            ifeq 11
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            goto 12
      StackMap locals: int
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
        12: areturn
        13: .line 1194
      StackMap locals:
      StackMap stack:
            iload 4 /* cmp */
            ifne 19
        14: .line 1195
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            aload 2 /* quotient */
            iconst_1
            dup_x1
            putfield java.math.MutableBigInteger.intLen:I
            iastore
        15: .line 1196
            aload 2 /* quotient */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        16: .line 1197
            iload 3 /* needRemainder */
            ifeq 17
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            goto 18
      StackMap locals:
      StackMap stack:
        17: aconst_null
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
        18: areturn
        19: .line 1200
      StackMap locals:
      StackMap stack:
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.clear:()V
        20: .line 1202
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmpne 27
        21: .line 1203
            aload 0 /* this */
            aload 1 /* b */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* b */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideOneWord:(ILjava/math/MutableBigInteger;)I
            istore 5 /* r */
        start local 5 // int r
        22: .line 1204
            iload 3 /* needRemainder */
            ifeq 26
        23: .line 1205
            iload 5 /* r */
            ifne 25
        24: .line 1206
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            areturn
        25: .line 1207
      StackMap locals: int
      StackMap stack:
            new java.math.MutableBigInteger
            dup
            iload 5 /* r */
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            areturn
        26: .line 1209
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int r
        27: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            bipush 6
            if_icmplt 37
        28: .line 1215
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* trailingZeroBits */
        start local 5 // int trailingZeroBits
        29: .line 1216
            iload 5 /* trailingZeroBits */
            bipush 96
            if_icmplt 37
        30: .line 1217
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 6 /* a */
        start local 6 // java.math.MutableBigInteger a
        31: .line 1218
            new java.math.MutableBigInteger
            dup
            aload 1 /* b */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 1 /* b */
        32: .line 1219
            aload 6 /* a */
            iload 5 /* trailingZeroBits */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        33: .line 1220
            aload 1 /* b */
            iload 5 /* trailingZeroBits */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        34: .line 1221
            aload 6 /* a */
            aload 1 /* b */
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideKnuth:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 7 /* r */
        start local 7 // java.math.MutableBigInteger r
        35: .line 1222
            aload 7 /* r */
            iload 5 /* trailingZeroBits */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        36: .line 1223
            aload 7 /* r */
            areturn
        end local 7 // java.math.MutableBigInteger r
        end local 6 // java.math.MutableBigInteger a
        end local 5 // int trailingZeroBits
        37: .line 1227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            iload 3 /* needRemainder */
            invokevirtual java.math.MutableBigInteger.divideMagnitude:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
            areturn
        end local 4 // int cmp
        end local 3 // boolean needRemainder
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Ljava/math/MutableBigInteger;
            0   38     1                 b  Ljava/math/MutableBigInteger;
            0   38     2          quotient  Ljava/math/MutableBigInteger;
            0   38     3     needRemainder  Z
            8   38     4               cmp  I
           22   27     5                 r  I
           29   37     5  trailingZeroBits  I
           31   37     6                 a  Ljava/math/MutableBigInteger;
           35   37     7                 r  Ljava/math/MutableBigInteger;
    MethodParameters:
               Name  Flags
      b              
      quotient       
      needRemainder  

  java.math.MutableBigInteger divideAndRemainderBurnikelZiegler(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1242
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* r */
        start local 3 // int r
         1: .line 1243
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 4 /* s */
        start local 4 // int s
         2: .line 1246
            aload 2 /* quotient */
            aload 2 /* quotient */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.offset:I
         3: .line 1248
            iload 3 /* r */
            iload 4 /* s */
            if_icmpge 5
         4: .line 1249
            aload 0 /* this */
            areturn
         5: .line 1256
      StackMap locals: int int
      StackMap stack:
            iconst_1
            bipush 32
            iload 4 /* s */
            bipush 80
            idiv
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            isub
            ishl
            istore 5 /* m */
        start local 5 // int m
         6: .line 1258
            iload 4 /* s */
            iload 5 /* m */
            iadd
            iconst_1
            isub
            iload 5 /* m */
            idiv
            istore 6 /* j */
        start local 6 // int j
         7: .line 1259
            iload 6 /* j */
            iload 5 /* m */
            imul
            istore 7 /* n */
        start local 7 // int n
         8: .line 1260
            ldc 32
            iload 7 /* n */
            i2l
            lmul
            lstore 8 /* n32 */
        start local 8 // long n32
         9: .line 1261
            lconst_0
            lload 8 /* n32 */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.bitLength:()J
            lsub
            invokestatic java.lang.Math.max:(JJ)J
            l2i
            istore 10 /* sigma */
        start local 10 // int sigma
        10: .line 1262
            new java.math.MutableBigInteger
            dup
            aload 1 /* b */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 11 /* bShifted */
        start local 11 // java.math.MutableBigInteger bShifted
        11: .line 1263
            aload 11 /* bShifted */
            iload 10 /* sigma */
            invokevirtual java.math.MutableBigInteger.safeLeftShift:(I)V
        12: .line 1264
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 12 /* aShifted */
        start local 12 // java.math.MutableBigInteger aShifted
        13: .line 1265
            aload 12 /* aShifted */
            iload 10 /* sigma */
            invokevirtual java.math.MutableBigInteger.safeLeftShift:(I)V
        14: .line 1268
            aload 12 /* aShifted */
            invokevirtual java.math.MutableBigInteger.bitLength:()J
            lload 8 /* n32 */
            ladd
            lload 8 /* n32 */
            ldiv
            l2i
            istore 13 /* t */
        start local 13 // int t
        15: .line 1269
            iload 13 /* t */
            iconst_2
            if_icmpge 17
        16: .line 1270
            iconst_2
            istore 13 /* t */
        17: .line 1274
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int int long int java.math.MutableBigInteger java.math.MutableBigInteger int
      StackMap stack:
            aload 12 /* aShifted */
            iload 13 /* t */
            iconst_1
            isub
            iload 13 /* t */
            iload 7 /* n */
            invokevirtual java.math.MutableBigInteger.getBlock:(III)Ljava/math/MutableBigInteger;
            astore 14 /* a1 */
        start local 14 // java.math.MutableBigInteger a1
        18: .line 1277
            aload 12 /* aShifted */
            iload 13 /* t */
            iconst_2
            isub
            iload 13 /* t */
            iload 7 /* n */
            invokevirtual java.math.MutableBigInteger.getBlock:(III)Ljava/math/MutableBigInteger;
            astore 15 /* z */
        start local 15 // java.math.MutableBigInteger z
        19: .line 1278
            aload 15 /* z */
            aload 14 /* a1 */
            iload 7 /* n */
            invokevirtual java.math.MutableBigInteger.addDisjoint:(Ljava/math/MutableBigInteger;I)V
        20: .line 1281
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 16 /* qi */
        start local 16 // java.math.MutableBigInteger qi
        21: .line 1283
            iload 13 /* t */
            iconst_2
            isub
            istore 18 /* i */
        start local 18 // int i
        22: goto 28
        23: .line 1285
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int int long int java.math.MutableBigInteger java.math.MutableBigInteger int java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger top int
      StackMap stack:
            aload 15 /* z */
            aload 11 /* bShifted */
            aload 16 /* qi */
            invokevirtual java.math.MutableBigInteger.divide2n1n:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 17 /* ri */
        start local 17 // java.math.MutableBigInteger ri
        24: .line 1288
            aload 12 /* aShifted */
            iload 18 /* i */
            iconst_1
            isub
            iload 13 /* t */
            iload 7 /* n */
            invokevirtual java.math.MutableBigInteger.getBlock:(III)Ljava/math/MutableBigInteger;
            astore 15 /* z */
        25: .line 1289
            aload 15 /* z */
            aload 17 /* ri */
            iload 7 /* n */
            invokevirtual java.math.MutableBigInteger.addDisjoint:(Ljava/math/MutableBigInteger;I)V
        26: .line 1290
            aload 2 /* quotient */
            aload 16 /* qi */
            iload 18 /* i */
            iload 7 /* n */
            imul
            invokevirtual java.math.MutableBigInteger.addShifted:(Ljava/math/MutableBigInteger;I)V
        27: .line 1283
            iinc 18 /* i */ -1
        end local 17 // java.math.MutableBigInteger ri
      StackMap locals:
      StackMap stack:
        28: iload 18 /* i */
            ifgt 23
        end local 18 // int i
        29: .line 1293
            aload 15 /* z */
            aload 11 /* bShifted */
            aload 16 /* qi */
            invokevirtual java.math.MutableBigInteger.divide2n1n:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 17 /* ri */
        start local 17 // java.math.MutableBigInteger ri
        30: .line 1294
            aload 2 /* quotient */
            aload 16 /* qi */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        31: .line 1296
            aload 17 /* ri */
            iload 10 /* sigma */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        32: .line 1297
            aload 17 /* ri */
            areturn
        end local 17 // java.math.MutableBigInteger ri
        end local 16 // java.math.MutableBigInteger qi
        end local 15 // java.math.MutableBigInteger z
        end local 14 // java.math.MutableBigInteger a1
        end local 13 // int t
        end local 12 // java.math.MutableBigInteger aShifted
        end local 11 // java.math.MutableBigInteger bShifted
        end local 10 // int sigma
        end local 8 // long n32
        end local 7 // int n
        end local 6 // int j
        end local 5 // int m
        end local 4 // int s
        end local 3 // int r
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      this  Ljava/math/MutableBigInteger;
            0   33     1         b  Ljava/math/MutableBigInteger;
            0   33     2  quotient  Ljava/math/MutableBigInteger;
            1   33     3         r  I
            2   33     4         s  I
            6   33     5         m  I
            7   33     6         j  I
            8   33     7         n  I
            9   33     8       n32  J
           10   33    10     sigma  I
           11   33    11  bShifted  Ljava/math/MutableBigInteger;
           13   33    12  aShifted  Ljava/math/MutableBigInteger;
           15   33    13         t  I
           18   33    14        a1  Ljava/math/MutableBigInteger;
           19   33    15         z  Ljava/math/MutableBigInteger;
           21   33    16        qi  Ljava/math/MutableBigInteger;
           24   28    17        ri  Ljava/math/MutableBigInteger;
           30   33    17        ri  Ljava/math/MutableBigInteger;
           22   29    18         i  I
    MethodParameters:
          Name  Flags
      b         
      quotient  

  private java.math.MutableBigInteger divide2n1n(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1312
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            istore 3 /* n */
        start local 3 // int n
         1: .line 1315
            iload 3 /* n */
            iconst_2
            irem
            ifne 2
            iload 3 /* n */
            bipush 80
            if_icmpge 3
         2: .line 1316
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideKnuth:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            areturn
         3: .line 1320
      StackMap locals:
      StackMap stack:
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 4 /* aUpper */
        start local 4 // java.math.MutableBigInteger aUpper
         4: .line 1321
            aload 4 /* aUpper */
            bipush 32
            iload 3 /* n */
            iconst_2
            idiv
            imul
            invokevirtual java.math.MutableBigInteger.safeRightShift:(I)V
         5: .line 1322
            aload 0 /* this */
            iload 3 /* n */
            iconst_2
            idiv
            invokevirtual java.math.MutableBigInteger.keepLower:(I)V
         6: .line 1325
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 5 /* q1 */
        start local 5 // java.math.MutableBigInteger q1
         7: .line 1326
            aload 4 /* aUpper */
            aload 1 /* b */
            aload 5 /* q1 */
            invokevirtual java.math.MutableBigInteger.divide3n2n:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 6 /* r1 */
        start local 6 // java.math.MutableBigInteger r1
         8: .line 1329
            aload 0 /* this */
            aload 6 /* r1 */
            iload 3 /* n */
            iconst_2
            idiv
            invokevirtual java.math.MutableBigInteger.addDisjoint:(Ljava/math/MutableBigInteger;I)V
         9: .line 1330
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divide3n2n:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 7 /* r2 */
        start local 7 // java.math.MutableBigInteger r2
        10: .line 1333
            aload 2 /* quotient */
            aload 5 /* q1 */
            iload 3 /* n */
            iconst_2
            idiv
            invokevirtual java.math.MutableBigInteger.addDisjoint:(Ljava/math/MutableBigInteger;I)V
        11: .line 1334
            aload 7 /* r2 */
            areturn
        end local 7 // java.math.MutableBigInteger r2
        end local 6 // java.math.MutableBigInteger r1
        end local 5 // java.math.MutableBigInteger q1
        end local 4 // java.math.MutableBigInteger aUpper
        end local 3 // int n
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/math/MutableBigInteger;
            0   12     1         b  Ljava/math/MutableBigInteger;
            0   12     2  quotient  Ljava/math/MutableBigInteger;
            1   12     3         n  I
            4   12     4    aUpper  Ljava/math/MutableBigInteger;
            7   12     5        q1  Ljava/math/MutableBigInteger;
            8   12     6        r1  Ljava/math/MutableBigInteger;
           10   12     7        r2  Ljava/math/MutableBigInteger;
    MethodParameters:
          Name  Flags
      b         
      quotient  

  private java.math.MutableBigInteger divide3n2n(java.math.MutableBigInteger, java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
        start local 2 // java.math.MutableBigInteger quotient
         0: .line 1347
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            idiv
            istore 3 /* n */
        start local 3 // int n
         1: .line 1350
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 4 /* a12 */
        start local 4 // java.math.MutableBigInteger a12
         2: .line 1351
            aload 4 /* a12 */
            bipush 32
            iload 3 /* n */
            imul
            invokevirtual java.math.MutableBigInteger.safeRightShift:(I)V
         3: .line 1354
            new java.math.MutableBigInteger
            dup
            aload 1 /* b */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 5 /* b1 */
        start local 5 // java.math.MutableBigInteger b1
         4: .line 1355
            aload 5 /* b1 */
            iload 3 /* n */
            bipush 32
            imul
            invokevirtual java.math.MutableBigInteger.safeRightShift:(I)V
         5: .line 1356
            aload 1 /* b */
            iload 3 /* n */
            invokevirtual java.math.MutableBigInteger.getLower:(I)Ljava/math/BigInteger;
            astore 6 /* b2 */
        start local 6 // java.math.BigInteger b2
         6: .line 1360
            aload 0 /* this */
            aload 1 /* b */
            iload 3 /* n */
            invokevirtual java.math.MutableBigInteger.compareShifted:(Ljava/math/MutableBigInteger;I)I
            ifge 10
         7: .line 1362
            aload 4 /* a12 */
            aload 5 /* b1 */
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.divide2n1n:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 7 /* r */
        start local 7 // java.math.MutableBigInteger r
         8: .line 1365
            new java.math.MutableBigInteger
            dup
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.toBigInteger:()Ljava/math/BigInteger;
            aload 6 /* b2 */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/BigInteger;)V
            astore 8 /* d */
        start local 8 // java.math.MutableBigInteger d
         9: .line 1366
            goto 18
        end local 8 // java.math.MutableBigInteger d
        end local 7 // java.math.MutableBigInteger r
        10: .line 1368
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int java.math.MutableBigInteger java.math.MutableBigInteger java.math.BigInteger
      StackMap stack:
            aload 2 /* quotient */
            iload 3 /* n */
            invokevirtual java.math.MutableBigInteger.ones:(I)V
        11: .line 1369
            aload 4 /* a12 */
            aload 5 /* b1 */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        12: .line 1370
            aload 5 /* b1 */
            bipush 32
            iload 3 /* n */
            imul
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        13: .line 1371
            aload 4 /* a12 */
            aload 5 /* b1 */
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        14: .line 1372
            aload 4 /* a12 */
            astore 7 /* r */
        start local 7 // java.math.MutableBigInteger r
        15: .line 1375
            new java.math.MutableBigInteger
            dup
            aload 6 /* b2 */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/BigInteger;)V
            astore 8 /* d */
        start local 8 // java.math.MutableBigInteger d
        16: .line 1376
            aload 8 /* d */
            bipush 32
            iload 3 /* n */
            imul
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        17: .line 1377
            aload 8 /* d */
            new java.math.MutableBigInteger
            dup
            aload 6 /* b2 */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/BigInteger;)V
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        18: .line 1382
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger
      StackMap stack:
            aload 7 /* r */
            bipush 32
            iload 3 /* n */
            imul
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        19: .line 1383
            aload 7 /* r */
            aload 0 /* this */
            iload 3 /* n */
            invokevirtual java.math.MutableBigInteger.addLower:(Ljava/math/MutableBigInteger;I)V
        20: .line 1386
            goto 23
        21: .line 1387
      StackMap locals:
      StackMap stack:
            aload 7 /* r */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        22: .line 1388
            aload 2 /* quotient */
            getstatic java.math.MutableBigInteger.ONE:Ljava/math/MutableBigInteger;
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        23: .line 1386
      StackMap locals:
      StackMap stack:
            aload 7 /* r */
            aload 8 /* d */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            iflt 21
        24: .line 1390
            aload 7 /* r */
            aload 8 /* d */
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        25: .line 1392
            aload 7 /* r */
            areturn
        end local 8 // java.math.MutableBigInteger d
        end local 7 // java.math.MutableBigInteger r
        end local 6 // java.math.BigInteger b2
        end local 5 // java.math.MutableBigInteger b1
        end local 4 // java.math.MutableBigInteger a12
        end local 3 // int n
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Ljava/math/MutableBigInteger;
            0   26     1         b  Ljava/math/MutableBigInteger;
            0   26     2  quotient  Ljava/math/MutableBigInteger;
            1   26     3         n  I
            2   26     4       a12  Ljava/math/MutableBigInteger;
            4   26     5        b1  Ljava/math/MutableBigInteger;
            6   26     6        b2  Ljava/math/BigInteger;
            8   10     7         r  Ljava/math/MutableBigInteger;
           15   26     7         r  Ljava/math/MutableBigInteger;
            9   10     8         d  Ljava/math/MutableBigInteger;
           16   26     8         d  Ljava/math/MutableBigInteger;
    MethodParameters:
          Name  Flags
      b         
      quotient  

  private java.math.MutableBigInteger getBlock(int, int, int);
    descriptor: (III)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int index
        start local 2 // int numBlocks
        start local 3 // int blockLength
         0: .line 1405
            iload 1 /* index */
            iload 3 /* blockLength */
            imul
            istore 4 /* blockStart */
        start local 4 // int blockStart
         1: .line 1406
            iload 4 /* blockStart */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmplt 3
         2: .line 1407
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            areturn
         3: .line 1411
      StackMap locals: int
      StackMap stack:
            iload 1 /* index */
            iload 2 /* numBlocks */
            iconst_1
            isub
            if_icmpne 6
         4: .line 1412
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            istore 5 /* blockEnd */
        start local 5 // int blockEnd
         5: .line 1413
            goto 7
        end local 5 // int blockEnd
         6: .line 1414
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            iconst_1
            iadd
            iload 3 /* blockLength */
            imul
            istore 5 /* blockEnd */
        start local 5 // int blockEnd
         7: .line 1416
      StackMap locals: int
      StackMap stack:
            iload 5 /* blockEnd */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            if_icmple 9
         8: .line 1417
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            areturn
         9: .line 1420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 5 /* blockEnd */
            isub
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iload 4 /* blockStart */
            isub
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            astore 6 /* newVal */
        start local 6 // int[] newVal
        10: .line 1421
            new java.math.MutableBigInteger
            dup
            aload 6 /* newVal */
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            areturn
        end local 6 // int[] newVal
        end local 5 // int blockEnd
        end local 4 // int blockStart
        end local 3 // int blockLength
        end local 2 // int numBlocks
        end local 1 // int index
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljava/math/MutableBigInteger;
            0   11     1        index  I
            0   11     2    numBlocks  I
            0   11     3  blockLength  I
            1   11     4   blockStart  I
            5    6     5     blockEnd  I
            7   11     5     blockEnd  I
           10   11     6       newVal  [I
    MethodParameters:
             Name  Flags
      index        
      numBlocks    
      blockLength  

  long bitLength();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 1426
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 2
         1: .line 1427
            lconst_0
            lreturn
         2: .line 1428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            i2l
            ldc 32
            lmul
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            i2l
            lsub
            lreturn
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/math/MutableBigInteger;

  long divide(long, java.math.MutableBigInteger);
    descriptor: (JLjava/math/MutableBigInteger;)J
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // long v
        start local 3 // java.math.MutableBigInteger quotient
         0: .line 1439
            lload 1 /* v */
            lconst_0
            lcmp
            ifne 2
         1: .line 1440
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger divide by zero"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 5
         3: .line 1444
            aload 3 /* quotient */
            aload 3 /* quotient */
            iconst_0
            dup_x1
            putfield java.math.MutableBigInteger.offset:I
            putfield java.math.MutableBigInteger.intLen:I
         4: .line 1445
            lconst_0
            lreturn
         5: .line 1447
      StackMap locals:
      StackMap stack:
            lload 1 /* v */
            lconst_0
            lcmp
            ifge 7
         6: .line 1448
            lload 1 /* v */
            lneg
            lstore 1 /* v */
         7: .line 1450
      StackMap locals:
      StackMap stack:
            lload 1 /* v */
            bipush 32
            lushr
            l2i
            istore 4 /* d */
        start local 4 // int d
         8: .line 1451
            aload 3 /* quotient */
            invokevirtual java.math.MutableBigInteger.clear:()V
         9: .line 1453
            iload 4 /* d */
            ifne 11
        10: .line 1454
            aload 0 /* this */
            lload 1 /* v */
            l2i
            aload 3 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideOneWord:(ILjava/math/MutableBigInteger;)I
            i2l
            ldc 4294967295
            land
            lreturn
        11: .line 1456
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            lload 1 /* v */
            aload 3 /* quotient */
            invokevirtual java.math.MutableBigInteger.divideLongMagnitude:(JLjava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            invokevirtual java.math.MutableBigInteger.toLong:()J
            lreturn
        end local 4 // int d
        end local 3 // java.math.MutableBigInteger quotient
        end local 1 // long v
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/math/MutableBigInteger;
            0   12     1         v  J
            0   12     3  quotient  Ljava/math/MutableBigInteger;
            8   12     4         d  I
    MethodParameters:
          Name  Flags
      v         
      quotient  

  private static void copyAndShift(int[], int, int, int[], int, int);
    descriptor: ([III[III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // int[] src
        start local 1 // int srcFrom
        start local 2 // int srcLen
        start local 3 // int[] dst
        start local 4 // int dstFrom
        start local 5 // int shift
         0: .line 1461
            bipush 32
            iload 5 /* shift */
            isub
            istore 6 /* n2 */
        start local 6 // int n2
         1: .line 1462
            aload 0 /* src */
            iload 1 /* srcFrom */
            iaload
            istore 7 /* c */
        start local 7 // int c
         2: .line 1463
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         3: goto 8
         4: .line 1464
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* c */
            istore 9 /* b */
        start local 9 // int b
         5: .line 1465
            aload 0 /* src */
            iinc 1 /* srcFrom */ 1
            iload 1 /* srcFrom */
            iaload
            istore 7 /* c */
         6: .line 1466
            aload 3 /* dst */
            iload 4 /* dstFrom */
            iload 8 /* i */
            iadd
            iload 9 /* b */
            iload 5 /* shift */
            ishl
            iload 7 /* c */
            iload 6 /* n2 */
            iushr
            ior
            iastore
        end local 9 // int b
         7: .line 1463
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 2 /* srcLen */
            iconst_1
            isub
            if_icmplt 4
        end local 8 // int i
         9: .line 1468
            aload 3 /* dst */
            iload 4 /* dstFrom */
            iload 2 /* srcLen */
            iadd
            iconst_1
            isub
            iload 7 /* c */
            iload 5 /* shift */
            ishl
            iastore
        10: .line 1469
            return
        end local 7 // int c
        end local 6 // int n2
        end local 5 // int shift
        end local 4 // int dstFrom
        end local 3 // int[] dst
        end local 2 // int srcLen
        end local 1 // int srcFrom
        end local 0 // int[] src
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0      src  [I
            0   11     1  srcFrom  I
            0   11     2   srcLen  I
            0   11     3      dst  [I
            0   11     4  dstFrom  I
            0   11     5    shift  I
            1   11     6       n2  I
            2   11     7        c  I
            3    9     8        i  I
            5    7     9        b  I
    MethodParameters:
         Name  Flags
      src      
      srcFrom  
      srcLen   
      dst      
      dstFrom  
      shift    

  private java.math.MutableBigInteger divideMagnitude(java.math.MutableBigInteger, java.math.MutableBigInteger, boolean);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=28, args_size=4
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger div
        start local 2 // java.math.MutableBigInteger quotient
        start local 3 // boolean needRemainder
         0: .line 1481
            aload 1 /* div */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* div */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            istore 4 /* shift */
        start local 4 // int shift
         1: .line 1483
            aload 1 /* div */
            getfield java.math.MutableBigInteger.intLen:I
            istore 5 /* dlen */
        start local 5 // int dlen
         2: .line 1486
            iload 4 /* shift */
            ifle 28
         3: .line 1487
            iload 5 /* dlen */
            newarray 10
            astore 6 /* divisor */
        start local 6 // int[] divisor
         4: .line 1488
            aload 1 /* div */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* div */
            getfield java.math.MutableBigInteger.offset:I
            iload 5 /* dlen */
            aload 6 /* divisor */
            iconst_0
            iload 4 /* shift */
            invokestatic java.math.MutableBigInteger.copyAndShift:([III[III)V
         5: .line 1489
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            iload 4 /* shift */
            if_icmplt 12
         6: .line 1490
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            newarray 10
            astore 8 /* remarr */
        start local 8 // int[] remarr
         7: .line 1491
            new java.math.MutableBigInteger
            dup
            aload 8 /* remarr */
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 7 /* rem */
        start local 7 // java.math.MutableBigInteger rem
         8: .line 1492
            aload 7 /* rem */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
         9: .line 1493
            aload 7 /* rem */
            iconst_1
            putfield java.math.MutableBigInteger.offset:I
        10: .line 1494
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            aload 8 /* remarr */
            iconst_1
            iload 4 /* shift */
            invokestatic java.math.MutableBigInteger.copyAndShift:([III[III)V
        end local 8 // int[] remarr
        11: .line 1495
            goto 33
        end local 7 // java.math.MutableBigInteger rem
        12: .line 1496
      StackMap locals: int int int[]
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            iadd
            newarray 10
            astore 8 /* remarr */
        start local 8 // int[] remarr
        13: .line 1497
            new java.math.MutableBigInteger
            dup
            aload 8 /* remarr */
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 7 /* rem */
        start local 7 // java.math.MutableBigInteger rem
        14: .line 1498
            aload 7 /* rem */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            putfield java.math.MutableBigInteger.intLen:I
        15: .line 1499
            aload 7 /* rem */
            iconst_1
            putfield java.math.MutableBigInteger.offset:I
        16: .line 1500
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            istore 9 /* rFrom */
        start local 9 // int rFrom
        17: .line 1501
            iconst_0
            istore 10 /* c */
        start local 10 // int c
        18: .line 1502
            bipush 32
            iload 4 /* shift */
            isub
            istore 11 /* n2 */
        start local 11 // int n2
        19: .line 1503
            iconst_1
            istore 12 /* i */
        start local 12 // int i
        20: goto 25
        21: .line 1504
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] java.math.MutableBigInteger int[] int int int int
      StackMap stack:
            iload 10 /* c */
            istore 13 /* b */
        start local 13 // int b
        22: .line 1505
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* rFrom */
            iaload
            istore 10 /* c */
        23: .line 1506
            aload 8 /* remarr */
            iload 12 /* i */
            iload 13 /* b */
            iload 4 /* shift */
            ishl
            iload 10 /* c */
            iload 11 /* n2 */
            iushr
            ior
            iastore
        end local 13 // int b
        24: .line 1503
            iinc 12 /* i */ 1
            iinc 9 /* rFrom */ 1
      StackMap locals:
      StackMap stack:
        25: iload 12 /* i */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            if_icmplt 21
        end local 12 // int i
        26: .line 1508
            aload 8 /* remarr */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            iload 10 /* c */
            iload 4 /* shift */
            ishl
            iastore
        end local 11 // int n2
        end local 10 // int c
        end local 9 // int rFrom
        end local 8 // int[] remarr
        27: .line 1510
            goto 33
        end local 7 // java.math.MutableBigInteger rem
        end local 6 // int[] divisor
        28: .line 1511
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int
      StackMap stack:
            aload 1 /* div */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* div */
            getfield java.math.MutableBigInteger.offset:I
            aload 1 /* div */
            getfield java.math.MutableBigInteger.offset:I
            aload 1 /* div */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            astore 6 /* divisor */
        start local 6 // int[] divisor
        29: .line 1512
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            newarray 10
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 7 /* rem */
        start local 7 // java.math.MutableBigInteger rem
        30: .line 1513
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iconst_1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 1514
            aload 7 /* rem */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
        32: .line 1515
            aload 7 /* rem */
            iconst_1
            putfield java.math.MutableBigInteger.offset:I
        33: .line 1518
      StackMap locals: int[] java.math.MutableBigInteger
      StackMap stack:
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.intLen:I
            istore 8 /* nlen */
        start local 8 // int nlen
        34: .line 1521
            iload 8 /* nlen */
            iload 5 /* dlen */
            isub
            iconst_1
            iadd
            istore 9 /* limit */
        start local 9 // int limit
        35: .line 1522
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 9 /* limit */
            if_icmpge 38
        36: .line 1523
            aload 2 /* quotient */
            iload 9 /* limit */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
        37: .line 1524
            aload 2 /* quotient */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        38: .line 1526
      StackMap locals: int int
      StackMap stack:
            aload 2 /* quotient */
            iload 9 /* limit */
            putfield java.math.MutableBigInteger.intLen:I
        39: .line 1527
            aload 2 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            astore 10 /* q */
        start local 10 // int[] q
        40: .line 1531
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.intLen:I
            iload 8 /* nlen */
            if_icmpne 44
        41: .line 1532
            aload 7 /* rem */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        42: .line 1533
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iconst_0
            iastore
        43: .line 1534
            aload 7 /* rem */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            putfield java.math.MutableBigInteger.intLen:I
        44: .line 1537
      StackMap locals: int[]
      StackMap stack:
            aload 6 /* divisor */
            iconst_0
            iaload
            istore 11 /* dh */
        start local 11 // int dh
        45: .line 1538
            iload 11 /* dh */
            i2l
            ldc 4294967295
            land
            lstore 12 /* dhLong */
        start local 12 // long dhLong
        46: .line 1539
            aload 6 /* divisor */
            iconst_1
            iaload
            istore 14 /* dl */
        start local 14 // int dl
        47: .line 1542
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        48: goto 91
        49: .line 1545
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] java.math.MutableBigInteger int int int[] int long int int
      StackMap stack:
            iconst_0
            istore 16 /* qhat */
        start local 16 // int qhat
        50: .line 1546
            iconst_0
            istore 17 /* qrem */
        start local 17 // int qrem
        51: .line 1547
            iconst_0
            istore 18 /* skipCorrection */
        start local 18 // boolean skipCorrection
        52: .line 1548
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 15 /* j */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 19 /* nh */
        start local 19 // int nh
        53: .line 1549
            iload 19 /* nh */
            ldc -2147483648
            iadd
            istore 20 /* nh2 */
        start local 20 // int nh2
        54: .line 1550
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 15 /* j */
            iconst_1
            iadd
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 21 /* nm */
        start local 21 // int nm
        55: .line 1552
            iload 19 /* nh */
            iload 11 /* dh */
            if_icmpne 62
        56: .line 1553
            iconst_m1
            istore 16 /* qhat */
        57: .line 1554
            iload 19 /* nh */
            iload 21 /* nm */
            iadd
            istore 17 /* qrem */
        58: .line 1555
            iload 17 /* qrem */
            ldc -2147483648
            iadd
            iload 20 /* nh2 */
            if_icmpge 59
            iconst_1
            goto 60
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] java.math.MutableBigInteger int int int[] int long int int int int int int int int
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: istore 18 /* skipCorrection */
        61: .line 1556
            goto 70
        62: .line 1557
      StackMap locals:
      StackMap stack:
            iload 19 /* nh */
            i2l
            bipush 32
            lshl
            iload 21 /* nm */
            i2l
            ldc 4294967295
            land
            lor
            lstore 22 /* nChunk */
        start local 22 // long nChunk
        63: .line 1558
            lload 22 /* nChunk */
            lconst_0
            lcmp
            iflt 67
        64: .line 1559
            lload 22 /* nChunk */
            lload 12 /* dhLong */
            ldiv
            l2i
            istore 16 /* qhat */
        65: .line 1560
            lload 22 /* nChunk */
            iload 16 /* qhat */
            i2l
            lload 12 /* dhLong */
            lmul
            lsub
            l2i
            istore 17 /* qrem */
        66: .line 1561
            goto 70
        67: .line 1562
      StackMap locals: long
      StackMap stack:
            lload 22 /* nChunk */
            iload 11 /* dh */
            invokestatic java.math.MutableBigInteger.divWord:(JI)J
            lstore 24 /* tmp */
        start local 24 // long tmp
        68: .line 1563
            lload 24 /* tmp */
            ldc 4294967295
            land
            l2i
            istore 16 /* qhat */
        69: .line 1564
            lload 24 /* tmp */
            bipush 32
            lushr
            l2i
            istore 17 /* qrem */
        end local 24 // long tmp
        end local 22 // long nChunk
        70: .line 1568
      StackMap locals:
      StackMap stack:
            iload 16 /* qhat */
            ifne 72
        71: .line 1569
            goto 90
        72: .line 1571
      StackMap locals:
      StackMap stack:
            iload 18 /* skipCorrection */
            ifne 84
        73: .line 1572
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 15 /* j */
            iconst_2
            iadd
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lstore 22 /* nl */
        start local 22 // long nl
        74: .line 1573
            iload 17 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 22 /* nl */
            lor
            lstore 24 /* rs */
        start local 24 // long rs
        75: .line 1574
            iload 14 /* dl */
            i2l
            ldc 4294967295
            land
            iload 16 /* qhat */
            i2l
            ldc 4294967295
            land
            lmul
            lstore 26 /* estProduct */
        start local 26 // long estProduct
        76: .line 1576
            aload 0 /* this */
            lload 26 /* estProduct */
            lload 24 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 84
        77: .line 1577
            iinc 16 /* qhat */ -1
        78: .line 1578
            iload 17 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 12 /* dhLong */
            ladd
            l2i
            istore 17 /* qrem */
        79: .line 1579
            iload 17 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 12 /* dhLong */
            lcmp
            iflt 84
        80: .line 1580
            lload 26 /* estProduct */
            iload 14 /* dl */
            i2l
            ldc 4294967295
            land
            lsub
            lstore 26 /* estProduct */
        81: .line 1581
            iload 17 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 22 /* nl */
            lor
            lstore 24 /* rs */
        82: .line 1582
            aload 0 /* this */
            lload 26 /* estProduct */
            lload 24 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 84
        83: .line 1583
            iinc 16 /* qhat */ -1
        end local 26 // long estProduct
        end local 24 // long rs
        end local 22 // long nl
        84: .line 1589
      StackMap locals:
      StackMap stack:
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 15 /* j */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iconst_0
            iastore
        85: .line 1590
            aload 0 /* this */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            aload 6 /* divisor */
            iload 16 /* qhat */
            iload 5 /* dlen */
            iload 15 /* j */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.mulsub:([I[IIII)I
            istore 22 /* borrow */
        start local 22 // int borrow
        86: .line 1593
            iload 22 /* borrow */
            ldc -2147483648
            iadd
            iload 20 /* nh2 */
            if_icmple 89
        87: .line 1595
            aload 0 /* this */
            aload 6 /* divisor */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 15 /* j */
            iconst_1
            iadd
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.divadd:([I[II)I
            pop
        88: .line 1596
            iinc 16 /* qhat */ -1
        89: .line 1600
      StackMap locals: int
      StackMap stack:
            aload 10 /* q */
            iload 15 /* j */
            iload 16 /* qhat */
            iastore
        end local 22 // int borrow
        end local 21 // int nm
        end local 20 // int nh2
        end local 19 // int nh
        end local 18 // boolean skipCorrection
        end local 17 // int qrem
        end local 16 // int qhat
        90: .line 1542
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] java.math.MutableBigInteger int int int[] int long int int
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        91: iload 15 /* j */
            iload 9 /* limit */
            iconst_1
            isub
            if_icmplt 49
        end local 15 // int j
        92: .line 1604
            iconst_0
            istore 15 /* qhat */
        start local 15 // int qhat
        93: .line 1605
            iconst_0
            istore 16 /* qrem */
        start local 16 // int qrem
        94: .line 1606
            iconst_0
            istore 17 /* skipCorrection */
        start local 17 // boolean skipCorrection
        95: .line 1607
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* limit */
            iconst_1
            isub
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 18 /* nh */
        start local 18 // int nh
        96: .line 1608
            iload 18 /* nh */
            ldc -2147483648
            iadd
            istore 19 /* nh2 */
        start local 19 // int nh2
        97: .line 1609
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* limit */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 20 /* nm */
        start local 20 // int nm
        98: .line 1611
            iload 18 /* nh */
            iload 11 /* dh */
            if_icmpne 105
        99: .line 1612
            iconst_m1
            istore 15 /* qhat */
       100: .line 1613
            iload 18 /* nh */
            iload 20 /* nm */
            iadd
            istore 16 /* qrem */
       101: .line 1614
            iload 16 /* qrem */
            ldc -2147483648
            iadd
            iload 19 /* nh2 */
            if_icmpge 102
            iconst_1
            goto 103
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int int int[] java.math.MutableBigInteger int int int[] int long int int int int int int int
      StackMap stack:
       102: iconst_0
      StackMap locals:
      StackMap stack: int
       103: istore 17 /* skipCorrection */
       104: .line 1615
            goto 113
       105: .line 1616
      StackMap locals:
      StackMap stack:
            iload 18 /* nh */
            i2l
            bipush 32
            lshl
            iload 20 /* nm */
            i2l
            ldc 4294967295
            land
            lor
            lstore 21 /* nChunk */
        start local 21 // long nChunk
       106: .line 1617
            lload 21 /* nChunk */
            lconst_0
            lcmp
            iflt 110
       107: .line 1618
            lload 21 /* nChunk */
            lload 12 /* dhLong */
            ldiv
            l2i
            istore 15 /* qhat */
       108: .line 1619
            lload 21 /* nChunk */
            iload 15 /* qhat */
            i2l
            lload 12 /* dhLong */
            lmul
            lsub
            l2i
            istore 16 /* qrem */
       109: .line 1620
            goto 113
       110: .line 1621
      StackMap locals: long
      StackMap stack:
            lload 21 /* nChunk */
            iload 11 /* dh */
            invokestatic java.math.MutableBigInteger.divWord:(JI)J
            lstore 23 /* tmp */
        start local 23 // long tmp
       111: .line 1622
            lload 23 /* tmp */
            ldc 4294967295
            land
            l2i
            istore 15 /* qhat */
       112: .line 1623
            lload 23 /* tmp */
            bipush 32
            lushr
            l2i
            istore 16 /* qrem */
        end local 23 // long tmp
        end local 21 // long nChunk
       113: .line 1626
      StackMap locals:
      StackMap stack:
            iload 15 /* qhat */
            ifeq 136
       114: .line 1627
            iload 17 /* skipCorrection */
            ifne 126
       115: .line 1628
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* limit */
            iconst_1
            iadd
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lstore 21 /* nl */
        start local 21 // long nl
       116: .line 1629
            iload 16 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 21 /* nl */
            lor
            lstore 23 /* rs */
        start local 23 // long rs
       117: .line 1630
            iload 14 /* dl */
            i2l
            ldc 4294967295
            land
            iload 15 /* qhat */
            i2l
            ldc 4294967295
            land
            lmul
            lstore 25 /* estProduct */
        start local 25 // long estProduct
       118: .line 1632
            aload 0 /* this */
            lload 25 /* estProduct */
            lload 23 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 126
       119: .line 1633
            iinc 15 /* qhat */ -1
       120: .line 1634
            iload 16 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 12 /* dhLong */
            ladd
            l2i
            istore 16 /* qrem */
       121: .line 1635
            iload 16 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 12 /* dhLong */
            lcmp
            iflt 126
       122: .line 1636
            lload 25 /* estProduct */
            iload 14 /* dl */
            i2l
            ldc 4294967295
            land
            lsub
            lstore 25 /* estProduct */
       123: .line 1637
            iload 16 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 21 /* nl */
            lor
            lstore 23 /* rs */
       124: .line 1638
            aload 0 /* this */
            lload 25 /* estProduct */
            lload 23 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 126
       125: .line 1639
            iinc 15 /* qhat */ -1
        end local 25 // long estProduct
        end local 23 // long rs
        end local 21 // long nl
       126: .line 1647
      StackMap locals:
      StackMap stack:
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* limit */
            iconst_1
            isub
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iconst_0
            iastore
       127: .line 1648
            iload 3 /* needRemainder */
            ifeq 130
       128: .line 1649
            aload 0 /* this */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            aload 6 /* divisor */
            iload 15 /* qhat */
            iload 5 /* dlen */
            iload 9 /* limit */
            iconst_1
            isub
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.mulsub:([I[IIII)I
            istore 21 /* borrow */
        start local 21 // int borrow
       129: goto 131
        end local 21 // int borrow
       130: .line 1651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            aload 6 /* divisor */
            iload 15 /* qhat */
            iload 5 /* dlen */
            iload 9 /* limit */
            iconst_1
            isub
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.mulsubBorrow:([I[IIII)I
            istore 21 /* borrow */
        start local 21 // int borrow
       131: .line 1654
      StackMap locals: int
      StackMap stack:
            iload 21 /* borrow */
            ldc -2147483648
            iadd
            iload 19 /* nh2 */
            if_icmple 135
       132: .line 1656
            iload 3 /* needRemainder */
            ifeq 134
       133: .line 1657
            aload 0 /* this */
            aload 6 /* divisor */
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* limit */
            iconst_1
            isub
            iconst_1
            iadd
            aload 7 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.divadd:([I[II)I
            pop
       134: .line 1658
      StackMap locals:
      StackMap stack:
            iinc 15 /* qhat */ -1
       135: .line 1662
      StackMap locals:
      StackMap stack:
            aload 10 /* q */
            iload 9 /* limit */
            iconst_1
            isub
            iload 15 /* qhat */
            iastore
        end local 21 // int borrow
       136: .line 1666
      StackMap locals:
      StackMap stack:
            iload 3 /* needRemainder */
            ifeq 140
       137: .line 1668
            iload 4 /* shift */
            ifle 139
       138: .line 1669
            aload 7 /* rem */
            iload 4 /* shift */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
       139: .line 1670
      StackMap locals:
      StackMap stack:
            aload 7 /* rem */
            invokevirtual java.math.MutableBigInteger.normalize:()V
       140: .line 1672
      StackMap locals:
      StackMap stack:
            aload 2 /* quotient */
            invokevirtual java.math.MutableBigInteger.normalize:()V
       141: .line 1673
            iload 3 /* needRemainder */
            ifeq 142
            aload 7 /* rem */
            goto 143
      StackMap locals:
      StackMap stack:
       142: aconst_null
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
       143: areturn
        end local 20 // int nm
        end local 19 // int nh2
        end local 18 // int nh
        end local 17 // boolean skipCorrection
        end local 16 // int qrem
        end local 15 // int qhat
        end local 14 // int dl
        end local 12 // long dhLong
        end local 11 // int dh
        end local 10 // int[] q
        end local 9 // int limit
        end local 8 // int nlen
        end local 7 // java.math.MutableBigInteger rem
        end local 6 // int[] divisor
        end local 5 // int dlen
        end local 4 // int shift
        end local 3 // boolean needRemainder
        end local 2 // java.math.MutableBigInteger quotient
        end local 1 // java.math.MutableBigInteger div
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  144     0            this  Ljava/math/MutableBigInteger;
            0  144     1             div  Ljava/math/MutableBigInteger;
            0  144     2        quotient  Ljava/math/MutableBigInteger;
            0  144     3   needRemainder  Z
            1  144     4           shift  I
            2  144     5            dlen  I
            4   28     6         divisor  [I
           29  144     6         divisor  [I
            8   12     7             rem  Ljava/math/MutableBigInteger;
           14   28     7             rem  Ljava/math/MutableBigInteger;
           30  144     7             rem  Ljava/math/MutableBigInteger;
            7   11     8          remarr  [I
           13   27     8          remarr  [I
           17   27     9           rFrom  I
           18   27    10               c  I
           19   27    11              n2  I
           20   26    12               i  I
           22   24    13               b  I
           34  144     8            nlen  I
           35  144     9           limit  I
           40  144    10               q  [I
           45  144    11              dh  I
           46  144    12          dhLong  J
           47  144    14              dl  I
           48   92    15               j  I
           50   90    16            qhat  I
           51   90    17            qrem  I
           52   90    18  skipCorrection  Z
           53   90    19              nh  I
           54   90    20             nh2  I
           55   90    21              nm  I
           63   70    22          nChunk  J
           68   70    24             tmp  J
           74   84    22              nl  J
           75   84    24              rs  J
           76   84    26      estProduct  J
           86   90    22          borrow  I
           93  144    15            qhat  I
           94  144    16            qrem  I
           95  144    17  skipCorrection  Z
           96  144    18              nh  I
           97  144    19             nh2  I
           98  144    20              nm  I
          106  113    21          nChunk  J
          111  113    23             tmp  J
          116  126    21              nl  J
          117  126    23              rs  J
          118  126    25      estProduct  J
          129  130    21          borrow  I
          131  136    21          borrow  I
    MethodParameters:
               Name  Flags
      div            
      quotient       
      needRemainder  

  private java.math.MutableBigInteger divideLongMagnitude(long, java.math.MutableBigInteger);
    descriptor: (JLjava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=26, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // long ldivisor
        start local 3 // java.math.MutableBigInteger quotient
         0: .line 1683
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            newarray 10
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 4 /* rem */
        start local 4 // java.math.MutableBigInteger rem
         1: .line 1684
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iconst_1
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1685
            aload 4 /* rem */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            putfield java.math.MutableBigInteger.intLen:I
         3: .line 1686
            aload 4 /* rem */
            iconst_1
            putfield java.math.MutableBigInteger.offset:I
         4: .line 1688
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.intLen:I
            istore 5 /* nlen */
        start local 5 // int nlen
         5: .line 1690
            iload 5 /* nlen */
            iconst_2
            isub
            iconst_1
            iadd
            istore 6 /* limit */
        start local 6 // int limit
         6: .line 1691
            aload 3 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iload 6 /* limit */
            if_icmpge 9
         7: .line 1692
            aload 3 /* quotient */
            iload 6 /* limit */
            newarray 10
            putfield java.math.MutableBigInteger.value:[I
         8: .line 1693
            aload 3 /* quotient */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
         9: .line 1695
      StackMap locals: java.math.MutableBigInteger int int
      StackMap stack:
            aload 3 /* quotient */
            iload 6 /* limit */
            putfield java.math.MutableBigInteger.intLen:I
        10: .line 1696
            aload 3 /* quotient */
            getfield java.math.MutableBigInteger.value:[I
            astore 7 /* q */
        start local 7 // int[] q
        11: .line 1699
            lload 1 /* ldivisor */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            istore 8 /* shift */
        start local 8 // int shift
        12: .line 1700
            iload 8 /* shift */
            ifle 15
        13: .line 1701
            lload 1 /* ldivisor */
            iload 8 /* shift */
            lshl
            lstore 1 /* ldivisor */
        14: .line 1702
            aload 4 /* rem */
            iload 8 /* shift */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        15: .line 1706
      StackMap locals: int[] int
      StackMap stack:
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.intLen:I
            iload 5 /* nlen */
            if_icmpne 19
        16: .line 1707
            aload 4 /* rem */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        17: .line 1708
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iconst_0
            iastore
        18: .line 1709
            aload 4 /* rem */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            iadd
            putfield java.math.MutableBigInteger.intLen:I
        19: .line 1712
      StackMap locals:
      StackMap stack:
            lload 1 /* ldivisor */
            bipush 32
            lushr
            l2i
            istore 9 /* dh */
        start local 9 // int dh
        20: .line 1713
            iload 9 /* dh */
            i2l
            ldc 4294967295
            land
            lstore 10 /* dhLong */
        start local 10 // long dhLong
        21: .line 1714
            lload 1 /* ldivisor */
            ldc 4294967295
            land
            l2i
            istore 12 /* dl */
        start local 12 // int dl
        22: .line 1717
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        23: goto 66
        24: .line 1720
      StackMap locals: java.math.MutableBigInteger long java.math.MutableBigInteger java.math.MutableBigInteger int int int[] int int long int int
      StackMap stack:
            iconst_0
            istore 14 /* qhat */
        start local 14 // int qhat
        25: .line 1721
            iconst_0
            istore 15 /* qrem */
        start local 15 // int qrem
        26: .line 1722
            iconst_0
            istore 16 /* skipCorrection */
        start local 16 // boolean skipCorrection
        27: .line 1723
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 13 /* j */
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 17 /* nh */
        start local 17 // int nh
        28: .line 1724
            iload 17 /* nh */
            ldc -2147483648
            iadd
            istore 18 /* nh2 */
        start local 18 // int nh2
        29: .line 1725
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 13 /* j */
            iconst_1
            iadd
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            istore 19 /* nm */
        start local 19 // int nm
        30: .line 1727
            iload 17 /* nh */
            iload 9 /* dh */
            if_icmpne 37
        31: .line 1728
            iconst_m1
            istore 14 /* qhat */
        32: .line 1729
            iload 17 /* nh */
            iload 19 /* nm */
            iadd
            istore 15 /* qrem */
        33: .line 1730
            iload 15 /* qrem */
            ldc -2147483648
            iadd
            iload 18 /* nh2 */
            if_icmpge 34
            iconst_1
            goto 35
      StackMap locals: java.math.MutableBigInteger long java.math.MutableBigInteger java.math.MutableBigInteger int int int[] int int long int int int int int int int int
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 16 /* skipCorrection */
        36: .line 1731
            goto 45
        37: .line 1732
      StackMap locals:
      StackMap stack:
            iload 17 /* nh */
            i2l
            bipush 32
            lshl
            iload 19 /* nm */
            i2l
            ldc 4294967295
            land
            lor
            lstore 20 /* nChunk */
        start local 20 // long nChunk
        38: .line 1733
            lload 20 /* nChunk */
            lconst_0
            lcmp
            iflt 42
        39: .line 1734
            lload 20 /* nChunk */
            lload 10 /* dhLong */
            ldiv
            l2i
            istore 14 /* qhat */
        40: .line 1735
            lload 20 /* nChunk */
            iload 14 /* qhat */
            i2l
            lload 10 /* dhLong */
            lmul
            lsub
            l2i
            istore 15 /* qrem */
        41: .line 1736
            goto 45
        42: .line 1737
      StackMap locals: long
      StackMap stack:
            lload 20 /* nChunk */
            iload 9 /* dh */
            invokestatic java.math.MutableBigInteger.divWord:(JI)J
            lstore 22 /* tmp */
        start local 22 // long tmp
        43: .line 1738
            lload 22 /* tmp */
            ldc 4294967295
            land
            l2i
            istore 14 /* qhat */
        44: .line 1739
            lload 22 /* tmp */
            bipush 32
            lushr
            l2i
            istore 15 /* qrem */
        end local 22 // long tmp
        end local 20 // long nChunk
        45: .line 1743
      StackMap locals:
      StackMap stack:
            iload 14 /* qhat */
            ifne 47
        46: .line 1744
            goto 65
        47: .line 1746
      StackMap locals:
      StackMap stack:
            iload 16 /* skipCorrection */
            ifne 59
        48: .line 1747
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 13 /* j */
            iconst_2
            iadd
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            lstore 20 /* nl */
        start local 20 // long nl
        49: .line 1748
            iload 15 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 20 /* nl */
            lor
            lstore 22 /* rs */
        start local 22 // long rs
        50: .line 1749
            iload 12 /* dl */
            i2l
            ldc 4294967295
            land
            iload 14 /* qhat */
            i2l
            ldc 4294967295
            land
            lmul
            lstore 24 /* estProduct */
        start local 24 // long estProduct
        51: .line 1751
            aload 0 /* this */
            lload 24 /* estProduct */
            lload 22 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 59
        52: .line 1752
            iinc 14 /* qhat */ -1
        53: .line 1753
            iload 15 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 10 /* dhLong */
            ladd
            l2i
            istore 15 /* qrem */
        54: .line 1754
            iload 15 /* qrem */
            i2l
            ldc 4294967295
            land
            lload 10 /* dhLong */
            lcmp
            iflt 59
        55: .line 1755
            lload 24 /* estProduct */
            iload 12 /* dl */
            i2l
            ldc 4294967295
            land
            lsub
            lstore 24 /* estProduct */
        56: .line 1756
            iload 15 /* qrem */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            lload 20 /* nl */
            lor
            lstore 22 /* rs */
        57: .line 1757
            aload 0 /* this */
            lload 24 /* estProduct */
            lload 22 /* rs */
            invokevirtual java.math.MutableBigInteger.unsignedLongCompare:(JJ)Z
            ifeq 59
        58: .line 1758
            iinc 14 /* qhat */ -1
        end local 24 // long estProduct
        end local 22 // long rs
        end local 20 // long nl
        59: .line 1764
      StackMap locals:
      StackMap stack:
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 13 /* j */
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            iconst_0
            iastore
        60: .line 1765
            aload 0 /* this */
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 9 /* dh */
            iload 12 /* dl */
            iload 14 /* qhat */
            iload 13 /* j */
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.mulsubLong:([IIIII)I
            istore 20 /* borrow */
        start local 20 // int borrow
        61: .line 1768
            iload 20 /* borrow */
            ldc -2147483648
            iadd
            iload 18 /* nh2 */
            if_icmple 64
        62: .line 1770
            aload 0 /* this */
            iload 9 /* dh */
            iload 12 /* dl */
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.value:[I
            iload 13 /* j */
            iconst_1
            iadd
            aload 4 /* rem */
            getfield java.math.MutableBigInteger.offset:I
            iadd
            invokevirtual java.math.MutableBigInteger.divaddLong:(II[II)I
            pop
        63: .line 1771
            iinc 14 /* qhat */ -1
        64: .line 1775
      StackMap locals: int
      StackMap stack:
            aload 7 /* q */
            iload 13 /* j */
            iload 14 /* qhat */
            iastore
        end local 20 // int borrow
        end local 19 // int nm
        end local 18 // int nh2
        end local 17 // int nh
        end local 16 // boolean skipCorrection
        end local 15 // int qrem
        end local 14 // int qhat
        65: .line 1717
      StackMap locals: java.math.MutableBigInteger long java.math.MutableBigInteger java.math.MutableBigInteger int int int[] int int long int int
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        66: iload 13 /* j */
            iload 6 /* limit */
            if_icmplt 24
        end local 13 // int j
        67: .line 1779
            iload 8 /* shift */
            ifle 69
        68: .line 1780
            aload 4 /* rem */
            iload 8 /* shift */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        69: .line 1782
      StackMap locals:
      StackMap stack:
            aload 3 /* quotient */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        70: .line 1783
            aload 4 /* rem */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        71: .line 1784
            aload 4 /* rem */
            areturn
        end local 12 // int dl
        end local 10 // long dhLong
        end local 9 // int dh
        end local 8 // int shift
        end local 7 // int[] q
        end local 6 // int limit
        end local 5 // int nlen
        end local 4 // java.math.MutableBigInteger rem
        end local 3 // java.math.MutableBigInteger quotient
        end local 1 // long ldivisor
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   72     0            this  Ljava/math/MutableBigInteger;
            0   72     1        ldivisor  J
            0   72     3        quotient  Ljava/math/MutableBigInteger;
            1   72     4             rem  Ljava/math/MutableBigInteger;
            5   72     5            nlen  I
            6   72     6           limit  I
           11   72     7               q  [I
           12   72     8           shift  I
           20   72     9              dh  I
           21   72    10          dhLong  J
           22   72    12              dl  I
           23   67    13               j  I
           25   65    14            qhat  I
           26   65    15            qrem  I
           27   65    16  skipCorrection  Z
           28   65    17              nh  I
           29   65    18             nh2  I
           30   65    19              nm  I
           38   45    20          nChunk  J
           43   45    22             tmp  J
           49   59    20              nl  J
           50   59    22              rs  J
           51   59    24      estProduct  J
           61   65    20          borrow  I
    MethodParameters:
          Name  Flags
      ldivisor  
      quotient  

  private int divaddLong(int, int, int[], int);
    descriptor: (II[II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int dh
        start local 2 // int dl
        start local 3 // int[] result
        start local 4 // int offset
         0: .line 1793
            lconst_0
            lstore 5 /* carry */
        start local 5 // long carry
         1: .line 1795
            iload 2 /* dl */
            i2l
            ldc 4294967295
            land
            aload 3 /* result */
            iconst_1
            iload 4 /* offset */
            iadd
            iaload
            i2l
            ldc 4294967295
            land
            ladd
            lstore 7 /* sum */
        start local 7 // long sum
         2: .line 1796
            aload 3 /* result */
            iconst_1
            iload 4 /* offset */
            iadd
            lload 7 /* sum */
            l2i
            iastore
         3: .line 1798
            iload 1 /* dh */
            i2l
            ldc 4294967295
            land
            aload 3 /* result */
            iload 4 /* offset */
            iaload
            i2l
            ldc 4294967295
            land
            ladd
            lload 5 /* carry */
            ladd
            lstore 7 /* sum */
         4: .line 1799
            aload 3 /* result */
            iload 4 /* offset */
            lload 7 /* sum */
            l2i
            iastore
         5: .line 1800
            lload 7 /* sum */
            bipush 32
            lushr
            lstore 5 /* carry */
         6: .line 1801
            lload 5 /* carry */
            l2i
            ireturn
        end local 7 // long sum
        end local 5 // long carry
        end local 4 // int offset
        end local 3 // int[] result
        end local 2 // int dl
        end local 1 // int dh
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljava/math/MutableBigInteger;
            0    7     1      dh  I
            0    7     2      dl  I
            0    7     3  result  [I
            0    7     4  offset  I
            1    7     5   carry  J
            2    7     7     sum  J
    MethodParameters:
        Name  Flags
      dh      
      dl      
      result  
      offset  

  private int mulsubLong(int[], int, int, int, int);
    descriptor: ([IIIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=6
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int[] q
        start local 2 // int dh
        start local 3 // int dl
        start local 4 // int x
        start local 5 // int offset
         0: .line 1810
            iload 4 /* x */
            i2l
            ldc 4294967295
            land
            lstore 6 /* xLong */
        start local 6 // long xLong
         1: .line 1811
            iinc 5 /* offset */ 2
         2: .line 1812
            iload 3 /* dl */
            i2l
            ldc 4294967295
            land
            lload 6 /* xLong */
            lmul
            lstore 8 /* product */
        start local 8 // long product
         3: .line 1813
            aload 1 /* q */
            iload 5 /* offset */
            iaload
            i2l
            lload 8 /* product */
            lsub
            lstore 10 /* difference */
        start local 10 // long difference
         4: .line 1814
            aload 1 /* q */
            iload 5 /* offset */
            iinc 5 /* offset */ -1
            lload 10 /* difference */
            l2i
            iastore
         5: .line 1815
            lload 8 /* product */
            bipush 32
            lushr
         6: .line 1816
            lload 10 /* difference */
            ldc 4294967295
            land
         7: .line 1817
            lload 8 /* product */
            l2i
            iconst_m1
            ixor
            i2l
            ldc 4294967295
            land
            lcmp
            ifle 8
            iconst_1
            goto 9
      StackMap locals: java.math.MutableBigInteger int[] int int int int long long long
      StackMap stack: long
         8: iconst_0
         9: .line 1816
      StackMap locals: java.math.MutableBigInteger int[] int int int int long long long
      StackMap stack: long int
            i2l
        10: .line 1815
            ladd
            lstore 12 /* carry */
        start local 12 // long carry
        11: .line 1818
            iload 2 /* dh */
            i2l
            ldc 4294967295
            land
            lload 6 /* xLong */
            lmul
            lload 12 /* carry */
            ladd
            lstore 8 /* product */
        12: .line 1819
            aload 1 /* q */
            iload 5 /* offset */
            iaload
            i2l
            lload 8 /* product */
            lsub
            lstore 10 /* difference */
        13: .line 1820
            aload 1 /* q */
            iload 5 /* offset */
            iinc 5 /* offset */ -1
            lload 10 /* difference */
            l2i
            iastore
        14: .line 1821
            lload 8 /* product */
            bipush 32
            lushr
        15: .line 1822
            lload 10 /* difference */
            ldc 4294967295
            land
        16: .line 1823
            lload 8 /* product */
            l2i
            iconst_m1
            ixor
            i2l
            ldc 4294967295
            land
            lcmp
            ifle 17
            iconst_1
            goto 18
      StackMap locals: java.math.MutableBigInteger int[] int int int int long long long long
      StackMap stack: long
        17: iconst_0
        18: .line 1822
      StackMap locals: java.math.MutableBigInteger int[] int int int int long long long long
      StackMap stack: long int
            i2l
        19: .line 1821
            ladd
            lstore 12 /* carry */
        20: .line 1824
            lload 12 /* carry */
            l2i
            ireturn
        end local 12 // long carry
        end local 10 // long difference
        end local 8 // long product
        end local 6 // long xLong
        end local 5 // int offset
        end local 4 // int x
        end local 3 // int dl
        end local 2 // int dh
        end local 1 // int[] q
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljava/math/MutableBigInteger;
            0   21     1           q  [I
            0   21     2          dh  I
            0   21     3          dl  I
            0   21     4           x  I
            0   21     5      offset  I
            1   21     6       xLong  J
            3   21     8     product  J
            4   21    10  difference  J
           11   21    12       carry  J
    MethodParameters:
        Name  Flags
      q       
      dh      
      dl      
      x       
      offset  

  private boolean unsignedLongCompare(long, long);
    descriptor: (JJ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.math.MutableBigInteger this
        start local 1 // long one
        start local 3 // long two
         0: .line 1832
            lload 1 /* one */
            ldc -9223372036854775808
            ladd
            lload 3 /* two */
            ldc -9223372036854775808
            ladd
            lcmp
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // long two
        end local 1 // long one
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/MutableBigInteger;
            0    2     1   one  J
            0    2     3   two  J
    MethodParameters:
      Name  Flags
      one   
      two   

  static long divWord(long, int);
    descriptor: (JI)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // long n
        start local 2 // int d
         0: .line 1843
            iload 2 /* d */
            i2l
            ldc 4294967295
            land
            lstore 3 /* dLong */
        start local 3 // long dLong
         1: .line 1846
            lload 3 /* dLong */
            lconst_1
            lcmp
            ifne 5
         2: .line 1847
            lload 0 /* n */
            l2i
            i2l
            lstore 7 /* q */
        start local 7 // long q
         3: .line 1848
            lconst_0
            lstore 5 /* r */
        start local 5 // long r
         4: .line 1849
            lload 5 /* r */
            bipush 32
            lshl
            lload 7 /* q */
            ldc 4294967295
            land
            lor
            lreturn
        end local 7 // long q
        end local 5 // long r
         5: .line 1853
      StackMap locals: long
      StackMap stack:
            lload 0 /* n */
            iconst_1
            lushr
            lload 3 /* dLong */
            iconst_1
            lushr
            ldiv
            lstore 7 /* q */
        start local 7 // long q
         6: .line 1854
            lload 0 /* n */
            lload 7 /* q */
            lload 3 /* dLong */
            lmul
            lsub
            lstore 5 /* r */
        start local 5 // long r
         7: .line 1857
            goto 10
         8: .line 1858
      StackMap locals: long long
      StackMap stack:
            lload 5 /* r */
            lload 3 /* dLong */
            ladd
            lstore 5 /* r */
         9: .line 1859
            lload 7 /* q */
            lconst_1
            lsub
            lstore 7 /* q */
        10: .line 1857
      StackMap locals:
      StackMap stack:
            lload 5 /* r */
            lconst_0
            lcmp
            iflt 8
        11: .line 1861
            goto 14
        12: .line 1862
      StackMap locals:
      StackMap stack:
            lload 5 /* r */
            lload 3 /* dLong */
            lsub
            lstore 5 /* r */
        13: .line 1863
            lload 7 /* q */
            lconst_1
            ladd
            lstore 7 /* q */
        14: .line 1861
      StackMap locals:
      StackMap stack:
            lload 5 /* r */
            lload 3 /* dLong */
            lcmp
            ifge 12
        15: .line 1866
            lload 5 /* r */
            bipush 32
            lshl
            lload 7 /* q */
            ldc 4294967295
            land
            lor
            lreturn
        end local 7 // long q
        end local 5 // long r
        end local 3 // long dLong
        end local 2 // int d
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0      n  J
            0   16     2      d  I
            1   16     3  dLong  J
            4    5     5      r  J
            7   16     5      r  J
            3    5     7      q  J
            6   16     7      q  J
    MethodParameters:
      Name  Flags
      n     
      d     

  java.math.MutableBigInteger sqrt();
    descriptor: ()Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=9, locals=8, args_size=1
        start local 0 // java.math.MutableBigInteger this
         0: .line 1885
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 2
         1: .line 1886
            new java.math.MutableBigInteger
            dup
            iconst_0
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            areturn
         2: .line 1887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            arraylength
            iconst_1
            if_icmpne 5
         3: .line 1888
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iaload
            i2l
            ldc 4294967295
            land
            ldc 4
            lcmp
            ifge 5
         4: .line 1889
            getstatic java.math.MutableBigInteger.ONE:Ljava/math/MutableBigInteger;
            areturn
         5: .line 1892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.bitLength:()J
            ldc 63
            lcmp
            ifgt 15
         6: .line 1894
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            iconst_1
            invokespecial java.math.BigInteger.<init>:([II)V
            invokevirtual java.math.BigInteger.longValueExact:()J
            lstore 1 /* v */
        start local 1 // long v
         7: .line 1895
            lload 1 /* v */
            l2d
            invokestatic java.lang.Math.sqrt:(D)D
            invokestatic java.lang.Math.floor:(D)D
            d2l
            lstore 3 /* xk */
        start local 3 // long xk
         8: .line 1899
      StackMap locals: long long
      StackMap stack:
            lload 3 /* xk */
            lload 1 /* v */
            lload 3 /* xk */
            ldiv
            ladd
            ldc 2
            ldiv
            lstore 5 /* xk1 */
        start local 5 // long xk1
         9: .line 1902
            lload 5 /* xk1 */
            lload 3 /* xk */
            lcmp
            iflt 13
        10: .line 1903
            new java.math.MutableBigInteger
            dup
            iconst_2
            newarray 10
            dup
            iconst_0
        11: .line 1904
            lload 3 /* xk */
            bipush 32
            lushr
            l2i
            iastore
            dup
            iconst_1
            lload 3 /* xk */
            ldc 4294967295
            land
            l2i
            iastore
        12: .line 1903
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            areturn
        13: .line 1908
      StackMap locals: long
      StackMap stack:
            lload 5 /* xk1 */
            lstore 3 /* xk */
        end local 5 // long xk1
        14: .line 1909
            goto 8
        end local 3 // long xk
        end local 1 // long v
        15: .line 1914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.bitLength:()J
            l2i
            istore 1 /* bitLength */
        start local 1 // int bitLength
        16: .line 1915
            iload 1 /* bitLength */
            i2l
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.bitLength:()J
            lcmp
            ifeq 18
        17: .line 1916
            new java.lang.ArithmeticException
            dup
            ldc "bitLength() integer overflow"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1920
      StackMap locals: int
      StackMap stack:
            iload 1 /* bitLength */
            bipush 63
            isub
            istore 2 /* shift */
        start local 2 // int shift
        19: .line 1921
            iload 2 /* shift */
            iconst_2
            irem
            iconst_1
            if_icmpne 21
        20: .line 1922
            iinc 2 /* shift */ 1
        21: .line 1926
      StackMap locals: int
      StackMap stack:
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 3 /* xk */
        start local 3 // java.math.MutableBigInteger xk
        22: .line 1927
            aload 3 /* xk */
            iload 2 /* shift */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        23: .line 1928
            aload 3 /* xk */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        24: .line 1931
            new java.math.BigInteger
            dup
            aload 3 /* xk */
            getfield java.math.MutableBigInteger.value:[I
            iconst_1
            invokespecial java.math.BigInteger.<init>:([II)V
            invokevirtual java.math.BigInteger.doubleValue:()D
            dstore 4 /* d */
        start local 4 // double d
        25: .line 1932
            dload 4 /* d */
            invokestatic java.lang.Math.sqrt:(D)D
            invokestatic java.lang.Math.ceil:(D)D
            d2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 6 /* bi */
        start local 6 // java.math.BigInteger bi
        26: .line 1933
            new java.math.MutableBigInteger
            dup
            aload 6 /* bi */
            getfield java.math.BigInteger.mag:[I
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 3 /* xk */
        27: .line 1936
            aload 3 /* xk */
            iload 2 /* shift */
            iconst_2
            idiv
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        28: .line 1939
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 7 /* xk1 */
        start local 7 // java.math.MutableBigInteger xk1
        29: .line 1942
      StackMap locals: java.math.MutableBigInteger int int java.math.MutableBigInteger double java.math.BigInteger java.math.MutableBigInteger
      StackMap stack:
            aload 0 /* this */
            aload 3 /* xk */
            aload 7 /* xk1 */
            iconst_0
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;Z)Ljava/math/MutableBigInteger;
            pop
        30: .line 1943
            aload 7 /* xk1 */
            aload 3 /* xk */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        31: .line 1944
            aload 7 /* xk1 */
            iconst_1
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        32: .line 1947
            aload 7 /* xk1 */
            aload 3 /* xk */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            iflt 34
        33: .line 1948
            aload 3 /* xk */
            areturn
        34: .line 1952
      StackMap locals:
      StackMap stack:
            aload 3 /* xk */
            aload 7 /* xk1 */
            invokevirtual java.math.MutableBigInteger.copyValue:(Ljava/math/MutableBigInteger;)V
        35: .line 1954
            aload 7 /* xk1 */
            invokevirtual java.math.MutableBigInteger.reset:()V
        36: .line 1955
            goto 29
        end local 7 // java.math.MutableBigInteger xk1
        end local 6 // java.math.BigInteger bi
        end local 4 // double d
        end local 3 // java.math.MutableBigInteger xk
        end local 2 // int shift
        end local 1 // int bitLength
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Ljava/math/MutableBigInteger;
            7   15     1          v  J
            8   15     3         xk  J
            9   14     5        xk1  J
           16   37     1  bitLength  I
           19   37     2      shift  I
           22   37     3         xk  Ljava/math/MutableBigInteger;
           25   37     4          d  D
           26   37     6         bi  Ljava/math/BigInteger;
           29   37     7        xk1  Ljava/math/MutableBigInteger;

  java.math.MutableBigInteger hybridGCD(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger b
         0: .line 1965
            aload 0 /* this */
            astore 2 /* a */
        start local 2 // java.math.MutableBigInteger a
         1: .line 1966
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 3 /* q */
        start local 3 // java.math.MutableBigInteger q
         2: .line 1968
            goto 8
         3: .line 1969
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger
      StackMap stack:
            aload 2 /* a */
            getfield java.math.MutableBigInteger.intLen:I
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            iconst_2
            if_icmpge 5
         4: .line 1970
            aload 2 /* a */
            aload 1 /* b */
            invokevirtual java.math.MutableBigInteger.binaryGCD:(Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            areturn
         5: .line 1972
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            aload 1 /* b */
            aload 3 /* q */
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 4 /* r */
        start local 4 // java.math.MutableBigInteger r
         6: .line 1973
            aload 1 /* b */
            astore 2 /* a */
         7: .line 1974
            aload 4 /* r */
            astore 1 /* b */
        end local 4 // java.math.MutableBigInteger r
         8: .line 1968
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 3
         9: .line 1976
            aload 2 /* a */
            areturn
        end local 3 // java.math.MutableBigInteger q
        end local 2 // java.math.MutableBigInteger a
        end local 1 // java.math.MutableBigInteger b
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/math/MutableBigInteger;
            0   10     1     b  Ljava/math/MutableBigInteger;
            1   10     2     a  Ljava/math/MutableBigInteger;
            2   10     3     q  Ljava/math/MutableBigInteger;
            6    8     4     r  Ljava/math/MutableBigInteger;
    MethodParameters:
      Name  Flags
      b     

  private java.math.MutableBigInteger binaryGCD(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger v
         0: .line 1985
            aload 0 /* this */
            astore 2 /* u */
        start local 2 // java.math.MutableBigInteger u
         1: .line 1986
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 3 /* r */
        start local 3 // java.math.MutableBigInteger r
         2: .line 1989
            aload 2 /* u */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            istore 4 /* s1 */
        start local 4 // int s1
         3: .line 1990
            aload 1 /* v */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            istore 5 /* s2 */
        start local 5 // int s2
         4: .line 1991
            iload 4 /* s1 */
            iload 5 /* s2 */
            if_icmpge 5
            iload 4 /* s1 */
            goto 6
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger int int
      StackMap stack:
         5: iload 5 /* s2 */
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* k */
        start local 6 // int k
         7: .line 1992
            iload 6 /* k */
            ifeq 10
         8: .line 1993
            aload 2 /* u */
            iload 6 /* k */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
         9: .line 1994
            aload 1 /* v */
            iload 6 /* k */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        10: .line 1998
      StackMap locals: int
      StackMap stack:
            iload 6 /* k */
            iload 4 /* s1 */
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 7 /* uOdd */
        start local 7 // boolean uOdd
        13: .line 1999
            iload 7 /* uOdd */
            ifeq 14
            aload 1 /* v */
            goto 15
      StackMap locals: int
      StackMap stack:
        14: aload 2 /* u */
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
        15: astore 8 /* t */
        start local 8 // java.math.MutableBigInteger t
        16: .line 2000
            iload 7 /* uOdd */
            ifeq 17
            iconst_m1
            goto 18
      StackMap locals: java.math.MutableBigInteger
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 9 /* tsign */
        start local 9 // int tsign
        19: .line 2003
            goto 39
        start local 10 // int lb
        20: .line 2005
      StackMap locals: int int
      StackMap stack:
            aload 8 /* t */
            iload 10 /* lb */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        21: .line 2007
            iload 9 /* tsign */
            ifle 23
        22: .line 2008
            aload 8 /* t */
            astore 2 /* u */
            goto 24
        23: .line 2010
      StackMap locals:
      StackMap stack:
            aload 8 /* t */
            astore 1 /* v */
        24: .line 2013
      StackMap locals:
      StackMap stack:
            aload 2 /* u */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            if_icmpge 34
            aload 1 /* v */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_2
            if_icmpge 34
        25: .line 2014
            aload 2 /* u */
            getfield java.math.MutableBigInteger.value:[I
            aload 2 /* u */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            istore 11 /* x */
        start local 11 // int x
        26: .line 2015
            aload 1 /* v */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* v */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            istore 12 /* y */
        start local 12 // int y
        27: .line 2016
            iload 11 /* x */
            iload 12 /* y */
            invokestatic java.math.MutableBigInteger.binaryGcd:(II)I
            istore 11 /* x */
        28: .line 2017
            aload 3 /* r */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            iload 11 /* x */
            iastore
        29: .line 2018
            aload 3 /* r */
            iconst_1
            putfield java.math.MutableBigInteger.intLen:I
        30: .line 2019
            aload 3 /* r */
            iconst_0
            putfield java.math.MutableBigInteger.offset:I
        31: .line 2020
            iload 6 /* k */
            ifle 33
        32: .line 2021
            aload 3 /* r */
            iload 6 /* k */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        33: .line 2022
      StackMap locals: int int
      StackMap stack:
            aload 3 /* r */
            areturn
        end local 12 // int y
        end local 11 // int x
        34: .line 2026
      StackMap locals:
      StackMap stack:
            aload 2 /* u */
            aload 1 /* v */
            invokevirtual java.math.MutableBigInteger.difference:(Ljava/math/MutableBigInteger;)I
            dup
            istore 9 /* tsign */
            ifne 36
        35: .line 2027
            goto 41
        36: .line 2028
      StackMap locals:
      StackMap stack:
            iload 9 /* tsign */
            iflt 37
            aload 2 /* u */
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 1 /* v */
      StackMap locals:
      StackMap stack: java.math.MutableBigInteger
        38: astore 8 /* t */
        end local 10 // int lb
        39: .line 2003
      StackMap locals:
      StackMap stack:
            aload 8 /* t */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            dup
            istore 10 /* lb */
        start local 10 // int lb
        40: ifge 20
        41: .line 2031
      StackMap locals: int
      StackMap stack:
            iload 6 /* k */
            ifle 43
        42: .line 2032
            aload 2 /* u */
            iload 6 /* k */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        43: .line 2033
      StackMap locals:
      StackMap stack:
            aload 2 /* u */
            areturn
        end local 10 // int lb
        end local 9 // int tsign
        end local 8 // java.math.MutableBigInteger t
        end local 7 // boolean uOdd
        end local 6 // int k
        end local 5 // int s2
        end local 4 // int s1
        end local 3 // java.math.MutableBigInteger r
        end local 2 // java.math.MutableBigInteger u
        end local 1 // java.math.MutableBigInteger v
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   44     0   this  Ljava/math/MutableBigInteger;
            0   44     1      v  Ljava/math/MutableBigInteger;
            1   44     2      u  Ljava/math/MutableBigInteger;
            2   44     3      r  Ljava/math/MutableBigInteger;
            3   44     4     s1  I
            4   44     5     s2  I
            7   44     6      k  I
           13   44     7   uOdd  Z
           16   44     8      t  Ljava/math/MutableBigInteger;
           19   44     9  tsign  I
           20   39    10     lb  I
           40   44    10     lb  I
           26   34    11      x  I
           27   34    12      y  I
    MethodParameters:
      Name  Flags
      v     

  static int binaryGcd(int, int);
    descriptor: (II)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // int a
        start local 1 // int b
         0: .line 2040
            iload 1 /* b */
            ifne 2
         1: .line 2041
            iload 0 /* a */
            ireturn
         2: .line 2042
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifne 4
         3: .line 2043
            iload 1 /* b */
            ireturn
         4: .line 2046
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
            istore 2 /* aZeros */
        start local 2 // int aZeros
         5: .line 2047
            iload 1 /* b */
            invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
            istore 3 /* bZeros */
        start local 3 // int bZeros
         6: .line 2048
            iload 0 /* a */
            iload 2 /* aZeros */
            iushr
            istore 0 /* a */
         7: .line 2049
            iload 1 /* b */
            iload 3 /* bZeros */
            iushr
            istore 1 /* b */
         8: .line 2051
            iload 2 /* aZeros */
            iload 3 /* bZeros */
            if_icmpge 9
            iload 2 /* aZeros */
            goto 10
      StackMap locals: int int
      StackMap stack:
         9: iload 3 /* bZeros */
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* t */
        start local 4 // int t
        11: .line 2053
            goto 18
        12: .line 2054
      StackMap locals: int
      StackMap stack:
            iload 0 /* a */
            ldc -2147483648
            iadd
            iload 1 /* b */
            ldc -2147483648
            iadd
            if_icmple 16
        13: .line 2055
            iload 0 /* a */
            iload 1 /* b */
            isub
            istore 0 /* a */
        14: .line 2056
            iload 0 /* a */
            iload 0 /* a */
            invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
            iushr
            istore 0 /* a */
        15: .line 2057
            goto 18
        16: .line 2058
      StackMap locals:
      StackMap stack:
            iload 1 /* b */
            iload 0 /* a */
            isub
            istore 1 /* b */
        17: .line 2059
            iload 1 /* b */
            iload 1 /* b */
            invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
            iushr
            istore 1 /* b */
        18: .line 2053
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            iload 1 /* b */
            if_icmpne 12
        19: .line 2062
            iload 0 /* a */
            iload 4 /* t */
            ishl
            ireturn
        end local 4 // int t
        end local 3 // int bZeros
        end local 2 // int aZeros
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0       a  I
            0   20     1       b  I
            5   20     2  aZeros  I
            6   20     3  bZeros  I
           11   20     4       t  I
    MethodParameters:
      Name  Flags
      a     
      b     

  java.math.MutableBigInteger mutableModInverse(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger p
         0: .line 2071
            aload 1 /* p */
            invokevirtual java.math.MutableBigInteger.isOdd:()Z
            ifeq 2
         1: .line 2072
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual java.math.MutableBigInteger.modInverse:(Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            areturn
         2: .line 2075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isEven:()Z
            ifeq 4
         3: .line 2076
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger not invertible."
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2079
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            istore 2 /* powersOf2 */
        start local 2 // int powersOf2
         5: .line 2082
            new java.math.MutableBigInteger
            dup
            aload 1 /* p */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 3 /* oddMod */
        start local 3 // java.math.MutableBigInteger oddMod
         6: .line 2083
            aload 3 /* oddMod */
            iload 2 /* powersOf2 */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
         7: .line 2085
            aload 3 /* oddMod */
            invokevirtual java.math.MutableBigInteger.isOne:()Z
            ifeq 9
         8: .line 2086
            aload 0 /* this */
            iload 2 /* powersOf2 */
            invokevirtual java.math.MutableBigInteger.modInverseMP2:(I)Ljava/math/MutableBigInteger;
            areturn
         9: .line 2089
      StackMap locals: int java.math.MutableBigInteger
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oddMod */
            invokevirtual java.math.MutableBigInteger.modInverse:(Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 4 /* oddPart */
        start local 4 // java.math.MutableBigInteger oddPart
        10: .line 2092
            aload 0 /* this */
            iload 2 /* powersOf2 */
            invokevirtual java.math.MutableBigInteger.modInverseMP2:(I)Ljava/math/MutableBigInteger;
            astore 5 /* evenPart */
        start local 5 // java.math.MutableBigInteger evenPart
        11: .line 2095
            aload 3 /* oddMod */
            iload 2 /* powersOf2 */
            invokestatic java.math.MutableBigInteger.modInverseBP2:(Ljava/math/MutableBigInteger;I)Ljava/math/MutableBigInteger;
            astore 6 /* y1 */
        start local 6 // java.math.MutableBigInteger y1
        12: .line 2096
            aload 3 /* oddMod */
            iload 2 /* powersOf2 */
            invokevirtual java.math.MutableBigInteger.modInverseMP2:(I)Ljava/math/MutableBigInteger;
            astore 7 /* y2 */
        start local 7 // java.math.MutableBigInteger y2
        13: .line 2098
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 8 /* temp1 */
        start local 8 // java.math.MutableBigInteger temp1
        14: .line 2099
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 9 /* temp2 */
        start local 9 // java.math.MutableBigInteger temp2
        15: .line 2100
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 10 /* result */
        start local 10 // java.math.MutableBigInteger result
        16: .line 2102
            aload 4 /* oddPart */
            iload 2 /* powersOf2 */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
        17: .line 2103
            aload 4 /* oddPart */
            aload 6 /* y1 */
            aload 10 /* result */
            invokevirtual java.math.MutableBigInteger.multiply:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
        18: .line 2105
            aload 5 /* evenPart */
            aload 3 /* oddMod */
            aload 8 /* temp1 */
            invokevirtual java.math.MutableBigInteger.multiply:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
        19: .line 2106
            aload 8 /* temp1 */
            aload 7 /* y2 */
            aload 9 /* temp2 */
            invokevirtual java.math.MutableBigInteger.multiply:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
        20: .line 2108
            aload 10 /* result */
            aload 9 /* temp2 */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        21: .line 2109
            aload 10 /* result */
            aload 1 /* p */
            aload 8 /* temp1 */
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            areturn
        end local 10 // java.math.MutableBigInteger result
        end local 9 // java.math.MutableBigInteger temp2
        end local 8 // java.math.MutableBigInteger temp1
        end local 7 // java.math.MutableBigInteger y2
        end local 6 // java.math.MutableBigInteger y1
        end local 5 // java.math.MutableBigInteger evenPart
        end local 4 // java.math.MutableBigInteger oddPart
        end local 3 // java.math.MutableBigInteger oddMod
        end local 2 // int powersOf2
        end local 1 // java.math.MutableBigInteger p
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Ljava/math/MutableBigInteger;
            0   22     1          p  Ljava/math/MutableBigInteger;
            5   22     2  powersOf2  I
            6   22     3     oddMod  Ljava/math/MutableBigInteger;
           10   22     4    oddPart  Ljava/math/MutableBigInteger;
           11   22     5   evenPart  Ljava/math/MutableBigInteger;
           12   22     6         y1  Ljava/math/MutableBigInteger;
           13   22     7         y2  Ljava/math/MutableBigInteger;
           14   22     8      temp1  Ljava/math/MutableBigInteger;
           15   22     9      temp2  Ljava/math/MutableBigInteger;
           16   22    10     result  Ljava/math/MutableBigInteger;
    MethodParameters:
      Name  Flags
      p     

  java.math.MutableBigInteger modInverseMP2(int);
    descriptor: (I)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int k
         0: .line 2116
            aload 0 /* this */
            invokevirtual java.math.MutableBigInteger.isEven:()Z
            ifeq 2
         1: .line 2117
            new java.lang.ArithmeticException
            dup
            ldc "Non-invertible. (GCD != 1)"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2119
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            bipush 64
            if_icmple 4
         3: .line 2120
            aload 0 /* this */
            iload 1 /* k */
            invokevirtual java.math.MutableBigInteger.euclidModInverse:(I)Ljava/math/MutableBigInteger;
            areturn
         4: .line 2122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            invokestatic java.math.MutableBigInteger.inverseMod32:(I)I
            istore 2 /* t */
        start local 2 // int t
         5: .line 2124
            iload 1 /* k */
            bipush 33
            if_icmpge 10
         6: .line 2125
            iload 1 /* k */
            bipush 32
            if_icmpne 7
            iload 2 /* t */
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iload 2 /* t */
            iconst_1
            iload 1 /* k */
            ishl
            iconst_1
            isub
            iand
      StackMap locals:
      StackMap stack: int
         8: istore 2 /* t */
         9: .line 2126
            new java.math.MutableBigInteger
            dup
            iload 2 /* t */
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            areturn
        10: .line 2129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            i2l
            ldc 4294967295
            land
            lstore 3 /* pLong */
        start local 3 // long pLong
        11: .line 2130
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmple 13
        12: .line 2131
            lload 3 /* pLong */
            aload 0 /* this */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* this */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_2
            isub
            iaload
            i2l
            bipush 32
            lshl
            lor
            lstore 3 /* pLong */
        13: .line 2132
      StackMap locals: long
      StackMap stack:
            iload 2 /* t */
            i2l
            ldc 4294967295
            land
            lstore 5 /* tLong */
        start local 5 // long tLong
        14: .line 2133
            lload 5 /* tLong */
            ldc 2
            lload 3 /* pLong */
            lload 5 /* tLong */
            lmul
            lsub
            lmul
            lstore 5 /* tLong */
        15: .line 2134
            iload 1 /* k */
            bipush 64
            if_icmpne 16
            lload 5 /* tLong */
            goto 17
      StackMap locals: long
      StackMap stack:
        16: lload 5 /* tLong */
            lconst_1
            iload 1 /* k */
            lshl
            lconst_1
            lsub
            land
      StackMap locals:
      StackMap stack: long
        17: lstore 5 /* tLong */
        18: .line 2136
            new java.math.MutableBigInteger
            dup
            iconst_2
            newarray 10
            invokespecial java.math.MutableBigInteger.<init>:([I)V
            astore 7 /* result */
        start local 7 // java.math.MutableBigInteger result
        19: .line 2137
            aload 7 /* result */
            getfield java.math.MutableBigInteger.value:[I
            iconst_0
            lload 5 /* tLong */
            bipush 32
            lushr
            l2i
            iastore
        20: .line 2138
            aload 7 /* result */
            getfield java.math.MutableBigInteger.value:[I
            iconst_1
            lload 5 /* tLong */
            l2i
            iastore
        21: .line 2139
            aload 7 /* result */
            iconst_2
            putfield java.math.MutableBigInteger.intLen:I
        22: .line 2140
            aload 7 /* result */
            invokevirtual java.math.MutableBigInteger.normalize:()V
        23: .line 2141
            aload 7 /* result */
            areturn
        end local 7 // java.math.MutableBigInteger result
        end local 5 // long tLong
        end local 3 // long pLong
        end local 2 // int t
        end local 1 // int k
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Ljava/math/MutableBigInteger;
            0   24     1       k  I
            5   24     2       t  I
           11   24     3   pLong  J
           14   24     5   tLong  J
           19   24     7  result  Ljava/math/MutableBigInteger;
    MethodParameters:
      Name  Flags
      k     

  static int inverseMod32(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int val
         0: .line 2149
            iload 0 /* val */
            istore 1 /* t */
        start local 1 // int t
         1: .line 2150
            iload 1 /* t */
            iconst_2
            iload 0 /* val */
            iload 1 /* t */
            imul
            isub
            imul
            istore 1 /* t */
         2: .line 2151
            iload 1 /* t */
            iconst_2
            iload 0 /* val */
            iload 1 /* t */
            imul
            isub
            imul
            istore 1 /* t */
         3: .line 2152
            iload 1 /* t */
            iconst_2
            iload 0 /* val */
            iload 1 /* t */
            imul
            isub
            imul
            istore 1 /* t */
         4: .line 2153
            iload 1 /* t */
            iconst_2
            iload 0 /* val */
            iload 1 /* t */
            imul
            isub
            imul
            istore 1 /* t */
         5: .line 2154
            iload 1 /* t */
            ireturn
        end local 1 // int t
        end local 0 // int val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   val  I
            1    6     1     t  I
    MethodParameters:
      Name  Flags
      val   

  static long inverseMod64(long);
    descriptor: (J)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // long val
         0: .line 2162
            lload 0 /* val */
            lstore 2 /* t */
        start local 2 // long t
         1: .line 2163
            lload 2 /* t */
            ldc 2
            lload 0 /* val */
            lload 2 /* t */
            lmul
            lsub
            lmul
            lstore 2 /* t */
         2: .line 2164
            lload 2 /* t */
            ldc 2
            lload 0 /* val */
            lload 2 /* t */
            lmul
            lsub
            lmul
            lstore 2 /* t */
         3: .line 2165
            lload 2 /* t */
            ldc 2
            lload 0 /* val */
            lload 2 /* t */
            lmul
            lsub
            lmul
            lstore 2 /* t */
         4: .line 2166
            lload 2 /* t */
            ldc 2
            lload 0 /* val */
            lload 2 /* t */
            lmul
            lsub
            lmul
            lstore 2 /* t */
         5: .line 2167
            lload 2 /* t */
            ldc 2
            lload 0 /* val */
            lload 2 /* t */
            lmul
            lsub
            lmul
            lstore 2 /* t */
         6: .line 2168
            getstatic java.math.MutableBigInteger.$assertionsDisabled:Z
            ifne 7
            lload 2 /* t */
            lload 0 /* val */
            lmul
            lconst_1
            lcmp
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2169
      StackMap locals: long
      StackMap stack:
            lload 2 /* t */
            lreturn
        end local 2 // long t
        end local 0 // long val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   val  J
            1    8     2     t  J
    MethodParameters:
      Name  Flags
      val   

  static java.math.MutableBigInteger modInverseBP2(java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;I)Ljava/math/MutableBigInteger;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.MutableBigInteger mod
        start local 1 // int k
         0: .line 2177
            new java.math.MutableBigInteger
            dup
            iconst_1
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            new java.math.MutableBigInteger
            dup
            aload 0 /* mod */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            iload 1 /* k */
            invokestatic java.math.MutableBigInteger.fixup:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;I)Ljava/math/MutableBigInteger;
            areturn
        end local 1 // int k
        end local 0 // java.math.MutableBigInteger mod
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   mod  Ljava/math/MutableBigInteger;
            0    1     1     k  I
    MethodParameters:
      Name  Flags
      mod   
      k     

  private java.math.MutableBigInteger modInverse(java.math.MutableBigInteger);
    descriptor: (Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // java.math.MutableBigInteger mod
         0: .line 2190
            new java.math.MutableBigInteger
            dup
            aload 1 /* mod */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 2 /* p */
        start local 2 // java.math.MutableBigInteger p
         1: .line 2191
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 3 /* f */
        start local 3 // java.math.MutableBigInteger f
         2: .line 2192
            new java.math.MutableBigInteger
            dup
            aload 2 /* p */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 4 /* g */
        start local 4 // java.math.MutableBigInteger g
         3: .line 2193
            new java.math.SignedMutableBigInteger
            dup
            iconst_1
            invokespecial java.math.SignedMutableBigInteger.<init>:(I)V
            astore 5 /* c */
        start local 5 // java.math.SignedMutableBigInteger c
         4: .line 2194
            new java.math.SignedMutableBigInteger
            dup
            invokespecial java.math.SignedMutableBigInteger.<init>:()V
            astore 6 /* d */
        start local 6 // java.math.SignedMutableBigInteger d
         5: .line 2195
            aconst_null
            astore 7 /* temp */
        start local 7 // java.math.MutableBigInteger temp
         6: .line 2196
            aconst_null
            astore 8 /* sTemp */
        start local 8 // java.math.SignedMutableBigInteger sTemp
         7: .line 2198
            iconst_0
            istore 9 /* k */
        start local 9 // int k
         8: .line 2200
            aload 3 /* f */
            invokevirtual java.math.MutableBigInteger.isEven:()Z
            ifeq 33
         9: .line 2201
            aload 3 /* f */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            istore 10 /* trailingZeros */
        start local 10 // int trailingZeros
        10: .line 2202
            aload 3 /* f */
            iload 10 /* trailingZeros */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        11: .line 2203
            aload 6 /* d */
            iload 10 /* trailingZeros */
            invokevirtual java.math.SignedMutableBigInteger.leftShift:(I)V
        12: .line 2204
            iload 10 /* trailingZeros */
            istore 9 /* k */
        end local 10 // int trailingZeros
        13: .line 2208
            goto 33
        14: .line 2210
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.SignedMutableBigInteger java.math.SignedMutableBigInteger java.math.MutableBigInteger java.math.SignedMutableBigInteger int
      StackMap stack:
            aload 3 /* f */
            invokevirtual java.math.MutableBigInteger.isZero:()Z
            ifeq 16
        15: .line 2211
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger not invertible."
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 2214
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 4 /* g */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            ifge 19
        17: .line 2215
            aload 3 /* f */
            astore 7 /* temp */
            aload 4 /* g */
            astore 3 /* f */
            aload 7 /* temp */
            astore 4 /* g */
        18: .line 2216
            aload 6 /* d */
            astore 8 /* sTemp */
            aload 5 /* c */
            astore 6 /* d */
            aload 8 /* sTemp */
            astore 5 /* c */
        19: .line 2220
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            getfield java.math.MutableBigInteger.value:[I
            aload 3 /* f */
            getfield java.math.MutableBigInteger.offset:I
            aload 3 /* f */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
        20: .line 2221
            aload 4 /* g */
            getfield java.math.MutableBigInteger.value:[I
            aload 4 /* g */
            getfield java.math.MutableBigInteger.offset:I
            aload 4 /* g */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
        21: .line 2220
            ixor
        22: .line 2221
            iconst_3
        23: .line 2220
            iand
            ifne 27
        24: .line 2222
            aload 3 /* f */
            aload 4 /* g */
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        25: .line 2223
            aload 5 /* c */
            aload 6 /* d */
            invokevirtual java.math.SignedMutableBigInteger.signedSubtract:(Ljava/math/SignedMutableBigInteger;)V
        26: .line 2224
            goto 29
        27: .line 2225
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 4 /* g */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        28: .line 2226
            aload 5 /* c */
            aload 6 /* d */
            invokevirtual java.math.SignedMutableBigInteger.signedAdd:(Ljava/math/SignedMutableBigInteger;)V
        29: .line 2230
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokevirtual java.math.MutableBigInteger.getLowestSetBit:()I
            istore 10 /* trailingZeros */
        start local 10 // int trailingZeros
        30: .line 2231
            aload 3 /* f */
            iload 10 /* trailingZeros */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        31: .line 2232
            aload 6 /* d */
            iload 10 /* trailingZeros */
            invokevirtual java.math.SignedMutableBigInteger.leftShift:(I)V
        32: .line 2233
            iload 9 /* k */
            iload 10 /* trailingZeros */
            iadd
            istore 9 /* k */
        end local 10 // int trailingZeros
        33: .line 2208
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokevirtual java.math.MutableBigInteger.isOne:()Z
            ifeq 14
        34: .line 2236
            goto 36
        35: .line 2237
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            aload 2 /* p */
            invokevirtual java.math.SignedMutableBigInteger.signedAdd:(Ljava/math/MutableBigInteger;)V
        36: .line 2236
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            getfield java.math.SignedMutableBigInteger.sign:I
            iflt 35
        37: .line 2239
            aload 5 /* c */
            aload 2 /* p */
            iload 9 /* k */
            invokestatic java.math.MutableBigInteger.fixup:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;I)Ljava/math/MutableBigInteger;
            areturn
        end local 9 // int k
        end local 8 // java.math.SignedMutableBigInteger sTemp
        end local 7 // java.math.MutableBigInteger temp
        end local 6 // java.math.SignedMutableBigInteger d
        end local 5 // java.math.SignedMutableBigInteger c
        end local 4 // java.math.MutableBigInteger g
        end local 3 // java.math.MutableBigInteger f
        end local 2 // java.math.MutableBigInteger p
        end local 1 // java.math.MutableBigInteger mod
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Ljava/math/MutableBigInteger;
            0   38     1            mod  Ljava/math/MutableBigInteger;
            1   38     2              p  Ljava/math/MutableBigInteger;
            2   38     3              f  Ljava/math/MutableBigInteger;
            3   38     4              g  Ljava/math/MutableBigInteger;
            4   38     5              c  Ljava/math/SignedMutableBigInteger;
            5   38     6              d  Ljava/math/SignedMutableBigInteger;
            6   38     7           temp  Ljava/math/MutableBigInteger;
            7   38     8          sTemp  Ljava/math/SignedMutableBigInteger;
            8   38     9              k  I
           10   13    10  trailingZeros  I
           30   33    10  trailingZeros  I
    MethodParameters:
      Name  Flags
      mod   

  static java.math.MutableBigInteger fixup(java.math.MutableBigInteger, java.math.MutableBigInteger, int);
    descriptor: (Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;I)Ljava/math/MutableBigInteger;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.math.MutableBigInteger c
        start local 1 // java.math.MutableBigInteger p
        start local 2 // int k
         0: .line 2249
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 3 /* temp */
        start local 3 // java.math.MutableBigInteger temp
         1: .line 2251
            aload 1 /* p */
            getfield java.math.MutableBigInteger.value:[I
            aload 1 /* p */
            getfield java.math.MutableBigInteger.offset:I
            aload 1 /* p */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            invokestatic java.math.MutableBigInteger.inverseMod32:(I)I
            ineg
            istore 4 /* r */
        start local 4 // int r
         2: .line 2253
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: iload 2 /* k */
            iconst_5
            ishr
            istore 6 /* numWords */
        start local 6 // int numWords
         4: goto 10
         5: .line 2255
      StackMap locals: java.math.MutableBigInteger java.math.MutableBigInteger int java.math.MutableBigInteger int int int
      StackMap stack:
            iload 4 /* r */
            aload 0 /* c */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* c */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* c */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            imul
            istore 7 /* v */
        start local 7 // int v
         6: .line 2257
            aload 1 /* p */
            iload 7 /* v */
            aload 3 /* temp */
            invokevirtual java.math.MutableBigInteger.mul:(ILjava/math/MutableBigInteger;)V
         7: .line 2258
            aload 0 /* c */
            aload 3 /* temp */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
         8: .line 2260
            aload 0 /* c */
            dup
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            isub
            putfield java.math.MutableBigInteger.intLen:I
        end local 7 // int v
         9: .line 2253
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 6 /* numWords */
            if_icmplt 5
        end local 6 // int numWords
        end local 5 // int i
        11: .line 2262
            iload 2 /* k */
            bipush 31
            iand
            istore 5 /* numBits */
        start local 5 // int numBits
        12: .line 2263
            iload 5 /* numBits */
            ifeq 20
        13: .line 2265
            iload 4 /* r */
            aload 0 /* c */
            getfield java.math.MutableBigInteger.value:[I
            aload 0 /* c */
            getfield java.math.MutableBigInteger.offset:I
            aload 0 /* c */
            getfield java.math.MutableBigInteger.intLen:I
            iadd
            iconst_1
            isub
            iaload
            imul
            istore 6 /* v */
        start local 6 // int v
        14: .line 2266
            iload 6 /* v */
            iconst_1
            iload 5 /* numBits */
            ishl
            iconst_1
            isub
            iand
            istore 6 /* v */
        15: .line 2268
            aload 1 /* p */
            iload 6 /* v */
            aload 3 /* temp */
            invokevirtual java.math.MutableBigInteger.mul:(ILjava/math/MutableBigInteger;)V
        16: .line 2269
            aload 0 /* c */
            aload 3 /* temp */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        17: .line 2271
            aload 0 /* c */
            iload 5 /* numBits */
            invokevirtual java.math.MutableBigInteger.rightShift:(I)V
        end local 6 // int v
        18: .line 2275
            goto 20
        19: .line 2276
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            aload 1 /* p */
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        20: .line 2275
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            aload 1 /* p */
            invokevirtual java.math.MutableBigInteger.compare:(Ljava/math/MutableBigInteger;)I
            ifge 19
        21: .line 2278
            aload 0 /* c */
            areturn
        end local 5 // int numBits
        end local 4 // int r
        end local 3 // java.math.MutableBigInteger temp
        end local 2 // int k
        end local 1 // java.math.MutableBigInteger p
        end local 0 // java.math.MutableBigInteger c
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0         c  Ljava/math/MutableBigInteger;
            0   22     1         p  Ljava/math/MutableBigInteger;
            0   22     2         k  I
            1   22     3      temp  Ljava/math/MutableBigInteger;
            2   22     4         r  I
            3   11     5         i  I
            4   11     6  numWords  I
            6    9     7         v  I
           12   22     5   numBits  I
           14   18     6         v  I
    MethodParameters:
      Name  Flags
      c     
      p     
      k     

  java.math.MutableBigInteger euclidModInverse(int);
    descriptor: (I)Ljava/math/MutableBigInteger;
    flags: (0x0000) 
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // java.math.MutableBigInteger this
        start local 1 // int k
         0: .line 2286
            new java.math.MutableBigInteger
            dup
            iconst_1
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            astore 2 /* b */
        start local 2 // java.math.MutableBigInteger b
         1: .line 2287
            aload 2 /* b */
            iload 1 /* k */
            invokevirtual java.math.MutableBigInteger.leftShift:(I)V
         2: .line 2288
            new java.math.MutableBigInteger
            dup
            aload 2 /* b */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 3 /* mod */
        start local 3 // java.math.MutableBigInteger mod
         3: .line 2290
            new java.math.MutableBigInteger
            dup
            aload 0 /* this */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 4 /* a */
        start local 4 // java.math.MutableBigInteger a
         4: .line 2291
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 5 /* q */
        start local 5 // java.math.MutableBigInteger q
         5: .line 2292
            aload 2 /* b */
            aload 4 /* a */
            aload 5 /* q */
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 6 /* r */
        start local 6 // java.math.MutableBigInteger r
         6: .line 2294
            aload 2 /* b */
            astore 7 /* swapper */
        start local 7 // java.math.MutableBigInteger swapper
         7: .line 2296
            aload 6 /* r */
            astore 2 /* b */
         8: .line 2297
            aload 7 /* swapper */
            astore 6 /* r */
         9: .line 2299
            new java.math.MutableBigInteger
            dup
            aload 5 /* q */
            invokespecial java.math.MutableBigInteger.<init>:(Ljava/math/MutableBigInteger;)V
            astore 8 /* t1 */
        start local 8 // java.math.MutableBigInteger t1
        10: .line 2300
            new java.math.MutableBigInteger
            dup
            iconst_1
            invokespecial java.math.MutableBigInteger.<init>:(I)V
            astore 9 /* t0 */
        start local 9 // java.math.MutableBigInteger t0
        11: .line 2301
            new java.math.MutableBigInteger
            dup
            invokespecial java.math.MutableBigInteger.<init>:()V
            astore 10 /* temp */
        start local 10 // java.math.MutableBigInteger temp
        12: .line 2303
            goto 37
        13: .line 2304
      StackMap locals: java.math.MutableBigInteger int java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger java.math.MutableBigInteger
      StackMap stack:
            aload 4 /* a */
            aload 2 /* b */
            aload 5 /* q */
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 6 /* r */
        14: .line 2306
            aload 6 /* r */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 16
        15: .line 2307
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger not invertible."
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 2309
      StackMap locals:
      StackMap stack:
            aload 6 /* r */
            astore 7 /* swapper */
        17: .line 2310
            aload 7 /* swapper */
            astore 4 /* a */
        18: .line 2312
            aload 5 /* q */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmpne 20
        19: .line 2313
            aload 8 /* t1 */
            aload 5 /* q */
            getfield java.math.MutableBigInteger.value:[I
            aload 5 /* q */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            aload 10 /* temp */
            invokevirtual java.math.MutableBigInteger.mul:(ILjava/math/MutableBigInteger;)V
            goto 21
        20: .line 2315
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            aload 8 /* t1 */
            aload 10 /* temp */
            invokevirtual java.math.MutableBigInteger.multiply:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
        21: .line 2316
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            astore 7 /* swapper */
        22: .line 2317
            aload 10 /* temp */
            astore 5 /* q */
        23: .line 2318
            aload 7 /* swapper */
            astore 10 /* temp */
        24: .line 2319
            aload 9 /* t0 */
            aload 5 /* q */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        25: .line 2321
            aload 4 /* a */
            invokevirtual java.math.MutableBigInteger.isOne:()Z
            ifeq 27
        26: .line 2322
            aload 9 /* t0 */
            areturn
        27: .line 2324
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            aload 4 /* a */
            aload 5 /* q */
            invokevirtual java.math.MutableBigInteger.divide:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)Ljava/math/MutableBigInteger;
            astore 6 /* r */
        28: .line 2326
            aload 6 /* r */
            getfield java.math.MutableBigInteger.intLen:I
            ifne 30
        29: .line 2327
            new java.lang.ArithmeticException
            dup
            ldc "BigInteger not invertible."
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 2329
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            astore 7 /* swapper */
        31: .line 2330
            aload 6 /* r */
            astore 2 /* b */
        32: .line 2332
            aload 5 /* q */
            getfield java.math.MutableBigInteger.intLen:I
            iconst_1
            if_icmpne 34
        33: .line 2333
            aload 9 /* t0 */
            aload 5 /* q */
            getfield java.math.MutableBigInteger.value:[I
            aload 5 /* q */
            getfield java.math.MutableBigInteger.offset:I
            iaload
            aload 10 /* temp */
            invokevirtual java.math.MutableBigInteger.mul:(ILjava/math/MutableBigInteger;)V
            goto 35
        34: .line 2335
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            aload 9 /* t0 */
            aload 10 /* temp */
            invokevirtual java.math.MutableBigInteger.multiply:(Ljava/math/MutableBigInteger;Ljava/math/MutableBigInteger;)V
        35: .line 2336
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            astore 7 /* swapper */
            aload 10 /* temp */
            astore 5 /* q */
            aload 7 /* swapper */
            astore 10 /* temp */
        36: .line 2338
            aload 8 /* t1 */
            aload 5 /* q */
            invokevirtual java.math.MutableBigInteger.add:(Ljava/math/MutableBigInteger;)V
        37: .line 2303
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.math.MutableBigInteger.isOne:()Z
            ifeq 13
        38: .line 2340
            aload 3 /* mod */
            aload 8 /* t1 */
            invokevirtual java.math.MutableBigInteger.subtract:(Ljava/math/MutableBigInteger;)I
            pop
        39: .line 2341
            aload 3 /* mod */
            areturn
        end local 10 // java.math.MutableBigInteger temp
        end local 9 // java.math.MutableBigInteger t0
        end local 8 // java.math.MutableBigInteger t1
        end local 7 // java.math.MutableBigInteger swapper
        end local 6 // java.math.MutableBigInteger r
        end local 5 // java.math.MutableBigInteger q
        end local 4 // java.math.MutableBigInteger a
        end local 3 // java.math.MutableBigInteger mod
        end local 2 // java.math.MutableBigInteger b
        end local 1 // int k
        end local 0 // java.math.MutableBigInteger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   40     0     this  Ljava/math/MutableBigInteger;
            0   40     1        k  I
            1   40     2        b  Ljava/math/MutableBigInteger;
            3   40     3      mod  Ljava/math/MutableBigInteger;
            4   40     4        a  Ljava/math/MutableBigInteger;
            5   40     5        q  Ljava/math/MutableBigInteger;
            6   40     6        r  Ljava/math/MutableBigInteger;
            7   40     7  swapper  Ljava/math/MutableBigInteger;
           10   40     8       t1  Ljava/math/MutableBigInteger;
           11   40     9       t0  Ljava/math/MutableBigInteger;
           12   40    10     temp  Ljava/math/MutableBigInteger;
    MethodParameters:
      Name  Flags
      k     
}
SourceFile: "MutableBigInteger.java"