abstract class sun.security.util.math.intpoly.IntegerPolynomial$Element extends sun.security.util.math.AbstractElement
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.util.math.intpoly.IntegerPolynomial$Element
  super_class: sun.security.util.math.AbstractElement
{
  protected long[] limbs;
    descriptor: [J
    flags: (0x0004) ACC_PROTECTED

  protected int numAdds;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  final sun.security.util.math.intpoly.IntegerPolynomial this$0;
    descriptor: Lsun/security/util/math/intpoly/IntegerPolynomial;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(sun.security.util.math.intpoly.IntegerPolynomial, java.math.BigInteger);
    descriptor: (Lsun/security/util/math/intpoly/IntegerPolynomial;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 2 // java.math.BigInteger v
         0: .line 495
            aload 0 /* this */
            aload 1
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            invokespecial sun.security.util.math.AbstractElement.<init>:()V
         1: .line 496
            aload 0 /* this */
            aload 1
            getfield sun.security.util.math.intpoly.IntegerPolynomial.numLimbs:I
            newarray 11
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
         2: .line 497
            aload 0 /* this */
            aload 2 /* v */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.setValue:(Ljava/math/BigInteger;)V
         3: .line 498
            return
        end local 2 // java.math.BigInteger v
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    4     2     v  Ljava/math/BigInteger;
    MethodParameters:
        Name  Flags
      this$0  final
      v       

  public void <init>(sun.security.util.math.intpoly.IntegerPolynomial, boolean);
    descriptor: (Lsun/security/util/math/intpoly/IntegerPolynomial;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 2 // boolean v
         0: .line 500
            aload 0 /* this */
            aload 1
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            invokespecial sun.security.util.math.AbstractElement.<init>:()V
         1: .line 501
            aload 0 /* this */
            aload 1
            getfield sun.security.util.math.intpoly.IntegerPolynomial.numLimbs:I
            newarray 11
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
         2: .line 502
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            iconst_0
            iload 2 /* v */
            ifeq 3
            lconst_1
            goto 4
      StackMap locals: sun.security.util.math.intpoly.IntegerPolynomial$Element sun.security.util.math.intpoly.IntegerPolynomial int
      StackMap stack: long[] int
         3: lconst_0
      StackMap locals: sun.security.util.math.intpoly.IntegerPolynomial$Element sun.security.util.math.intpoly.IntegerPolynomial int
      StackMap stack: long[] int long
         4: lastore
         5: .line 503
            aload 0 /* this */
            iconst_0
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
         6: .line 504
            return
        end local 2 // boolean v
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    7     2     v  Z
    MethodParameters:
        Name  Flags
      this$0  final
      v       

  private void <init>(sun.security.util.math.intpoly.IntegerPolynomial, long[], int);
    descriptor: (Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 2 // long[] limbs
        start local 3 // int numAdds
         0: .line 506
            aload 0 /* this */
            aload 1
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            invokespecial sun.security.util.math.AbstractElement.<init>:()V
         1: .line 507
            aload 0 /* this */
            aload 2 /* limbs */
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
         2: .line 508
            aload 0 /* this */
            iload 3 /* numAdds */
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
         3: .line 509
            return
        end local 3 // int numAdds
        end local 2 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    4     2    limbs  [J
            0    4     3  numAdds  I
    MethodParameters:
         Name  Flags
      this$0   final
      limbs    
      numAdds  

  private void setValue(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // java.math.BigInteger v
         0: .line 512
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 1 /* v */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.setLimbsValue:(Ljava/math/BigInteger;[J)V
         1: .line 513
            aload 0 /* this */
            iconst_0
            putfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
         2: .line 514
            return
        end local 1 // java.math.BigInteger v
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    3     1     v  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      v     

  public sun.security.util.math.IntegerFieldModuloP getField();
    descriptor: ()Lsun/security/util/math/IntegerFieldModuloP;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 518
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            areturn
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;

  public java.math.BigInteger asBigInteger();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 523
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.evaluate:([J)Ljava/math/BigInteger;
            areturn
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;

  public sun.security.util.math.intpoly.IntegerPolynomial$MutableElement mutable();
    descriptor: ()Lsun/security/util/math/intpoly/IntegerPolynomial$MutableElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 528
            new sun.security.util.math.intpoly.IntegerPolynomial$MutableElement
            dup
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            invokevirtual long[].clone:()Ljava/lang/Object;
            checkcast long[]
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial$MutableElement.<init>:(Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
            areturn
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;

  protected boolean isSummand();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 532
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            getfield sun.security.util.math.intpoly.IntegerPolynomial.maxAdds:I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;

  public sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement add(sun.security.util.math.IntegerModuloP);
    descriptor: (Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // sun.security.util.math.IntegerModuloP genB
         0: .line 538
            aload 1 /* genB */
            checkcast sun.security.util.math.intpoly.IntegerPolynomial$Element
            astore 2 /* b */
        start local 2 // sun.security.util.math.intpoly.IntegerPolynomial$Element b
         1: .line 539
            aload 0 /* this */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.isSummand:()Z
            ifeq 2
            aload 2 /* b */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.isSummand:()Z
            ifne 3
         2: .line 540
      StackMap locals: sun.security.util.math.intpoly.IntegerPolynomial$Element
      StackMap stack:
            new java.lang.ArithmeticException
            dup
            ldc "Not a valid summand"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            newarray 11
            astore 3 /* newLimbs */
        start local 3 // long[] newLimbs
         4: .line 544
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 545
      StackMap locals: long[] int
      StackMap stack:
            aload 3 /* newLimbs */
            iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            iload 4 /* i */
            laload
            aload 2 /* b */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            iload 4 /* i */
            laload
            ladd
            lastore
         7: .line 544
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            if_icmplt 6
        end local 4 // int i
         9: .line 548
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
            aload 2 /* b */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
            invokestatic java.lang.Math.max:(II)I
            iconst_1
            iadd
            istore 4 /* newNumAdds */
        start local 4 // int newNumAdds
        10: .line 549
            new sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement
            dup
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 3 /* newLimbs */
            iload 4 /* newNumAdds */
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement.<init>:(Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
            areturn
        end local 4 // int newNumAdds
        end local 3 // long[] newLimbs
        end local 2 // sun.security.util.math.intpoly.IntegerPolynomial$Element b
        end local 1 // sun.security.util.math.IntegerModuloP genB
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0   11     1        genB  Lsun/security/util/math/IntegerModuloP;
            1   11     2           b  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            4   11     3    newLimbs  [J
            5    9     4           i  I
           10   11     4  newNumAdds  I
    MethodParameters:
      Name  Flags
      genB  

  public sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement additiveInverse();
    descriptor: ()Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 555
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            newarray 11
            astore 1 /* newLimbs */
        start local 1 // long[] newLimbs
         1: .line 556
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 557
      StackMap locals: long[] int
      StackMap stack:
            aload 1 /* newLimbs */
            iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            iload 2 /* i */
            laload
            lneg
            lastore
         4: .line 556
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 560
            new sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement
            dup
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 1 /* newLimbs */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.numAdds:I
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement.<init>:(Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
            astore 2 /* result */
        start local 2 // sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement result
         7: .line 561
            aload 2 /* result */
            areturn
        end local 2 // sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement result
        end local 1 // long[] newLimbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            1    8     1  newLimbs  [J
            2    6     2         i  I
            7    8     2    result  Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;

  protected long[] cloneLow(long[]);
    descriptor: ([J)[J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // long[] limbs
         0: .line 565
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            getfield sun.security.util.math.intpoly.IntegerPolynomial.numLimbs:I
            newarray 11
            astore 2 /* newLimbs */
        start local 2 // long[] newLimbs
         1: .line 566
            aload 0 /* this */
            aload 1 /* limbs */
            aload 2 /* newLimbs */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.copyLow:([J[J)V
         2: .line 567
            aload 2 /* newLimbs */
            areturn
        end local 2 // long[] newLimbs
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    3     1     limbs  [J
            1    3     2  newLimbs  [J
    MethodParameters:
       Name  Flags
      limbs  

  protected void copyLow(long[], long[]);
    descriptor: ([J[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // long[] limbs
        start local 2 // long[] out
         0: .line 570
            aload 1 /* limbs */
            iconst_0
            aload 2 /* out */
            iconst_0
            aload 2 /* out */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 571
            return
        end local 2 // long[] out
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    2     1  limbs  [J
            0    2     2    out  [J
    MethodParameters:
       Name  Flags
      limbs  
      out    

  public sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement multiply(sun.security.util.math.IntegerModuloP);
    descriptor: (Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // sun.security.util.math.IntegerModuloP genB
         0: .line 576
            aload 1 /* genB */
            checkcast sun.security.util.math.intpoly.IntegerPolynomial$Element
            astore 2 /* b */
        start local 2 // sun.security.util.math.intpoly.IntegerPolynomial$Element b
         1: .line 578
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            newarray 11
            astore 3 /* newLimbs */
        start local 3 // long[] newLimbs
         2: .line 579
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 2 /* b */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 3 /* newLimbs */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.mult:([J[J[J)V
         3: .line 580
            new sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement
            dup
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 3 /* newLimbs */
            iconst_0
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement.<init>:(Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
            areturn
        end local 3 // long[] newLimbs
        end local 2 // sun.security.util.math.intpoly.IntegerPolynomial$Element b
        end local 1 // sun.security.util.math.IntegerModuloP genB
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    4     1      genB  Lsun/security/util/math/IntegerModuloP;
            1    4     2         b  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            2    4     3  newLimbs  [J
    MethodParameters:
      Name  Flags
      genB  

  public sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement square();
    descriptor: ()Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
         0: .line 585
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            arraylength
            newarray 11
            astore 1 /* newLimbs */
        start local 1 // long[] newLimbs
         1: .line 586
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 1 /* newLimbs */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.square:([J[J)V
         2: .line 587
            new sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement
            dup
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 1 /* newLimbs */
            iconst_0
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement.<init>:(Lsun/security/util/math/intpoly/IntegerPolynomial;[JI)V
            areturn
        end local 1 // long[] newLimbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            1    3     1  newLimbs  [J

  public void addModPowerTwo(sun.security.util.math.IntegerModuloP, byte[]);
    descriptor: (Lsun/security/util/math/IntegerModuloP;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // sun.security.util.math.IntegerModuloP arg
        start local 2 // byte[] result
         0: .line 592
            aload 1 /* arg */
            checkcast sun.security.util.math.intpoly.IntegerPolynomial$Element
            astore 3 /* other */
        start local 3 // sun.security.util.math.intpoly.IntegerPolynomial$Element other
         1: .line 593
            aload 0 /* this */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.isSummand:()Z
            ifeq 2
            aload 3 /* other */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.isSummand:()Z
            ifne 3
         2: .line 594
      StackMap locals: sun.security.util.math.intpoly.IntegerPolynomial$Element
      StackMap stack:
            new java.lang.ArithmeticException
            dup
            ldc "Not a valid summand"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 3 /* other */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 2 /* result */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.addLimbsModPowerTwo:([J[J[B)V
         4: .line 597
            return
        end local 3 // sun.security.util.math.intpoly.IntegerPolynomial$Element other
        end local 2 // byte[] result
        end local 1 // sun.security.util.math.IntegerModuloP arg
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    5     1     arg  Lsun/security/util/math/IntegerModuloP;
            0    5     2  result  [B
            1    5     3   other  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
    MethodParameters:
        Name  Flags
      arg     
      result  

  public void asByteArray(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
        start local 1 // byte[] result
         0: .line 600
            aload 0 /* this */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.isSummand:()Z
            ifne 2
         1: .line 601
            new java.lang.ArithmeticException
            dup
            ldc "Not a valid summand"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.this$0:Lsun/security/util/math/intpoly/IntegerPolynomial;
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial$Element.limbs:[J
            aload 1 /* result */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial.limbsToByteArray:([J[B)V
         3: .line 604
            return
        end local 1 // byte[] result
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial$Element this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/util/math/intpoly/IntegerPolynomial$Element;
            0    4     1  result  [B
    MethodParameters:
        Name  Flags
      result  

  public sun.security.util.math.ImmutableIntegerModuloP square();
    descriptor: ()Lsun/security/util/math/ImmutableIntegerModuloP;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.square:()Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.security.util.math.MutableIntegerModuloP mutable();
    descriptor: ()Lsun/security/util/math/MutableIntegerModuloP;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.mutable:()Lsun/security/util/math/intpoly/IntegerPolynomial$MutableElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.security.util.math.ImmutableIntegerModuloP multiply(sun.security.util.math.IntegerModuloP);
    descriptor: (Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/ImmutableIntegerModuloP;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.multiply:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.security.util.math.ImmutableIntegerModuloP additiveInverse();
    descriptor: ()Lsun/security/util/math/ImmutableIntegerModuloP;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.additiveInverse:()Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.security.util.math.ImmutableIntegerModuloP add(sun.security.util.math.IntegerModuloP);
    descriptor: (Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/ImmutableIntegerModuloP;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial$Element.add:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/intpoly/IntegerPolynomial$ImmutableElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "IntegerPolynomial.java"
NestHost: sun.security.util.math.intpoly.IntegerPolynomial
InnerClasses:
  private abstract Element = sun.security.util.math.intpoly.IntegerPolynomial$Element of sun.security.util.math.intpoly.IntegerPolynomial
  ImmutableElement = sun.security.util.math.intpoly.IntegerPolynomial$ImmutableElement of sun.security.util.math.intpoly.IntegerPolynomial
  protected MutableElement = sun.security.util.math.intpoly.IntegerPolynomial$MutableElement of sun.security.util.math.intpoly.IntegerPolynomial