public class sun.security.util.math.intpoly.IntegerPolynomial1305 extends sun.security.util.math.intpoly.IntegerPolynomial
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.util.math.intpoly.IntegerPolynomial1305
  super_class: sun.security.util.math.intpoly.IntegerPolynomial
{
  protected static final int SUBTRAHEND;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected static final int NUM_LIMBS;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int POWER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 130

  private static final int BITS_PER_LIMB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 26

  private static final java.math.BigInteger MODULUS;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 44
            getstatic sun.security.util.math.intpoly.IntegerPolynomial1305.TWO:Ljava/math/BigInteger;
            sipush 130
            invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
            ldc 5
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
         1: .line 43
            putstatic sun.security.util.math.intpoly.IntegerPolynomial1305.MODULUS:Ljava/math/BigInteger;
         2: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
         0: .line 47
            aload 0 /* this */
            bipush 26
            iconst_5
            iconst_1
            getstatic sun.security.util.math.intpoly.IntegerPolynomial1305.MODULUS:Ljava/math/BigInteger;
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial.<init>:(IIILjava/math/BigInteger;)V
         1: .line 48
            return
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;

  protected void mult(long[], long[], long[]);
    descriptor: ([J[J[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=20, locals=22, args_size=4
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] a
        start local 2 // long[] b
        start local 3 // long[] r
         0: .line 62
            aload 1 /* a */
            iconst_0
            laload
            aload 2 /* b */
            iconst_0
            laload
            lmul
            lstore 4 /* c0 */
        start local 4 // long c0
         1: .line 63
            aload 1 /* a */
            iconst_0
            laload
            aload 2 /* b */
            iconst_1
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 2 /* b */
            iconst_0
            laload
            lmul
            ladd
            lstore 6 /* c1 */
        start local 6 // long c1
         2: .line 64
            aload 1 /* a */
            iconst_0
            laload
            aload 2 /* b */
            iconst_2
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 2 /* b */
            iconst_1
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_2
            laload
            aload 2 /* b */
            iconst_0
            laload
            lmul
            ladd
            lstore 8 /* c2 */
        start local 8 // long c2
         3: .line 65
            aload 1 /* a */
            iconst_0
            laload
            aload 2 /* b */
            iconst_3
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 2 /* b */
            iconst_2
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_2
            laload
            aload 2 /* b */
            iconst_1
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_3
            laload
            aload 2 /* b */
            iconst_0
            laload
            lmul
            ladd
            lstore 10 /* c3 */
        start local 10 // long c3
         4: .line 66
            aload 1 /* a */
            iconst_0
            laload
            aload 2 /* b */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 2 /* b */
            iconst_3
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_2
            laload
            aload 2 /* b */
            iconst_2
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_3
            laload
            aload 2 /* b */
            iconst_1
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_4
            laload
            aload 2 /* b */
            iconst_0
            laload
            lmul
            ladd
            lstore 12 /* c4 */
        start local 12 // long c4
         5: .line 67
            aload 1 /* a */
            iconst_1
            laload
            aload 2 /* b */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_2
            laload
            aload 2 /* b */
            iconst_3
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_3
            laload
            aload 2 /* b */
            iconst_2
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_4
            laload
            aload 2 /* b */
            iconst_1
            laload
            lmul
            ladd
            lstore 14 /* c5 */
        start local 14 // long c5
         6: .line 68
            aload 1 /* a */
            iconst_2
            laload
            aload 2 /* b */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_3
            laload
            aload 2 /* b */
            iconst_3
            laload
            lmul
            ladd
            aload 1 /* a */
            iconst_4
            laload
            aload 2 /* b */
            iconst_2
            laload
            lmul
            ladd
            lstore 16 /* c6 */
        start local 16 // long c6
         7: .line 69
            aload 1 /* a */
            iconst_3
            laload
            aload 2 /* b */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_4
            laload
            aload 2 /* b */
            iconst_3
            laload
            lmul
            ladd
            lstore 18 /* c7 */
        start local 18 // long c7
         8: .line 70
            aload 1 /* a */
            iconst_4
            laload
            aload 2 /* b */
            iconst_4
            laload
            lmul
            lstore 20 /* c8 */
        start local 20 // long c8
         9: .line 72
            aload 0 /* this */
            aload 3 /* r */
            lload 4 /* c0 */
            lload 6 /* c1 */
            lload 8 /* c2 */
            lload 10 /* c3 */
            lload 12 /* c4 */
            lload 14 /* c5 */
            lload 16 /* c6 */
            lload 18 /* c7 */
            lload 20 /* c8 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryReduce:([JJJJJJJJJJ)V
        10: .line 73
            return
        end local 20 // long c8
        end local 18 // long c7
        end local 16 // long c6
        end local 14 // long c5
        end local 12 // long c4
        end local 10 // long c3
        end local 8 // long c2
        end local 6 // long c1
        end local 4 // long c0
        end local 3 // long[] r
        end local 2 // long[] b
        end local 1 // long[] a
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0   11     1     a  [J
            0   11     2     b  [J
            0   11     3     r  [J
            1   11     4    c0  J
            2   11     6    c1  J
            3   11     8    c2  J
            4   11    10    c3  J
            5   11    12    c4  J
            6   11    14    c5  J
            7   11    16    c6  J
            8   11    18    c7  J
            9   11    20    c8  J
    MethodParameters:
      Name  Flags
      a     
      b     
      r     

  private void carryReduce(long[], long, long, long, long, long, long, long, long, long);
    descriptor: ([JJJJJJJJJJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=24, args_size=11
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] r
        start local 2 // long c0
        start local 4 // long c1
        start local 6 // long c2
        start local 8 // long c3
        start local 10 // long c4
        start local 12 // long c5
        start local 14 // long c6
        start local 16 // long c7
        start local 18 // long c8
         0: .line 78
            aload 1 /* r */
            iconst_2
            lload 6 /* c2 */
            lload 16 /* c7 */
            ldc 5
            lmul
            ladd
            lastore
         1: .line 79
            lload 8 /* c3 */
            lload 18 /* c8 */
            ldc 5
            lmul
            ladd
            lstore 8 /* c3 */
         2: .line 82
            aload 0 /* this */
            lload 8 /* c3 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryValue:(J)J
            lstore 20 /* carry3 */
        start local 20 // long carry3
         3: .line 83
            aload 1 /* r */
            iconst_3
            lload 8 /* c3 */
            lload 20 /* carry3 */
            bipush 26
            lshl
            lsub
            lastore
         4: .line 84
            lload 10 /* c4 */
            lload 20 /* carry3 */
            ladd
            lstore 10 /* c4 */
         5: .line 86
            aload 0 /* this */
            lload 10 /* c4 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryValue:(J)J
            lstore 22 /* carry4 */
        start local 22 // long carry4
         6: .line 87
            aload 1 /* r */
            iconst_4
            lload 10 /* c4 */
            lload 22 /* carry4 */
            bipush 26
            lshl
            lsub
            lastore
         7: .line 88
            lload 12 /* c5 */
            lload 22 /* carry4 */
            ladd
            lstore 12 /* c5 */
         8: .line 91
            aload 1 /* r */
            iconst_0
            lload 2 /* c0 */
            lload 12 /* c5 */
            ldc 5
            lmul
            ladd
            lastore
         9: .line 92
            aload 1 /* r */
            iconst_1
            lload 4 /* c1 */
            lload 14 /* c6 */
            ldc 5
            lmul
            ladd
            lastore
        10: .line 95
            aload 0 /* this */
            aload 1 /* r */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carry:([J)V
        11: .line 96
            return
        end local 22 // long carry4
        end local 20 // long carry3
        end local 18 // long c8
        end local 16 // long c7
        end local 14 // long c6
        end local 12 // long c5
        end local 10 // long c4
        end local 8 // long c3
        end local 6 // long c2
        end local 4 // long c1
        end local 2 // long c0
        end local 1 // long[] r
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0   12     1       r  [J
            0   12     2      c0  J
            0   12     4      c1  J
            0   12     6      c2  J
            0   12     8      c3  J
            0   12    10      c4  J
            0   12    12      c5  J
            0   12    14      c6  J
            0   12    16      c7  J
            0   12    18      c8  J
            3   12    20  carry3  J
            6   12    22  carry4  J
    MethodParameters:
      Name  Flags
      r     
      c0    
      c1    
      c2    
      c3    
      c4    
      c5    
      c6    
      c7    
      c8    

  protected void square(long[], long[]);
    descriptor: ([J[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=20, locals=21, args_size=3
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] a
        start local 2 // long[] r
         0: .line 111
            aload 1 /* a */
            iconst_0
            laload
            aload 1 /* a */
            iconst_0
            laload
            lmul
            lstore 3 /* c0 */
        start local 3 // long c0
         1: .line 112
            ldc 2
            aload 1 /* a */
            iconst_0
            laload
            aload 1 /* a */
            iconst_1
            laload
            lmul
            lmul
            lstore 5 /* c1 */
        start local 5 // long c1
         2: .line 113
            ldc 2
            aload 1 /* a */
            iconst_0
            laload
            aload 1 /* a */
            iconst_2
            laload
            lmul
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 1 /* a */
            iconst_1
            laload
            lmul
            ladd
            lstore 7 /* c2 */
        start local 7 // long c2
         3: .line 114
            ldc 2
            aload 1 /* a */
            iconst_0
            laload
            aload 1 /* a */
            iconst_3
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 1 /* a */
            iconst_2
            laload
            lmul
            ladd
            lmul
            lstore 9 /* c3 */
        start local 9 // long c3
         4: .line 115
            ldc 2
            aload 1 /* a */
            iconst_0
            laload
            aload 1 /* a */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_1
            laload
            aload 1 /* a */
            iconst_3
            laload
            lmul
            ladd
            lmul
            aload 1 /* a */
            iconst_2
            laload
            aload 1 /* a */
            iconst_2
            laload
            lmul
            ladd
            lstore 11 /* c4 */
        start local 11 // long c4
         5: .line 116
            ldc 2
            aload 1 /* a */
            iconst_1
            laload
            aload 1 /* a */
            iconst_4
            laload
            lmul
            aload 1 /* a */
            iconst_2
            laload
            aload 1 /* a */
            iconst_3
            laload
            lmul
            ladd
            lmul
            lstore 13 /* c5 */
        start local 13 // long c5
         6: .line 117
            ldc 2
            aload 1 /* a */
            iconst_2
            laload
            aload 1 /* a */
            iconst_4
            laload
            lmul
            lmul
            aload 1 /* a */
            iconst_3
            laload
            aload 1 /* a */
            iconst_3
            laload
            lmul
            ladd
            lstore 15 /* c6 */
        start local 15 // long c6
         7: .line 118
            ldc 2
            aload 1 /* a */
            iconst_3
            laload
            aload 1 /* a */
            iconst_4
            laload
            lmul
            lmul
            lstore 17 /* c7 */
        start local 17 // long c7
         8: .line 119
            aload 1 /* a */
            iconst_4
            laload
            aload 1 /* a */
            iconst_4
            laload
            lmul
            lstore 19 /* c8 */
        start local 19 // long c8
         9: .line 121
            aload 0 /* this */
            aload 2 /* r */
            lload 3 /* c0 */
            lload 5 /* c1 */
            lload 7 /* c2 */
            lload 9 /* c3 */
            lload 11 /* c4 */
            lload 13 /* c5 */
            lload 15 /* c6 */
            lload 17 /* c7 */
            lload 19 /* c8 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryReduce:([JJJJJJJJJJ)V
        10: .line 122
            return
        end local 19 // long c8
        end local 17 // long c7
        end local 15 // long c6
        end local 13 // long c5
        end local 11 // long c4
        end local 9 // long c3
        end local 7 // long c2
        end local 5 // long c1
        end local 3 // long c0
        end local 2 // long[] r
        end local 1 // long[] a
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0   11     1     a  [J
            0   11     2     r  [J
            1   11     3    c0  J
            2   11     5    c1  J
            3   11     7    c2  J
            4   11     9    c3  J
            5   11    11    c4  J
            6   11    13    c5  J
            7   11    15    c6  J
            8   11    17    c7  J
            9   11    19    c8  J
    MethodParameters:
      Name  Flags
      a     
      r     

  protected void encode(java.nio.ByteBuffer, int, byte, long[]);
    descriptor: (Ljava/nio/ByteBuffer;IB[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // java.nio.ByteBuffer buf
        start local 2 // int length
        start local 3 // byte highByte
        start local 4 // long[] result
         0: .line 127
            iload 2 /* length */
            bipush 16
            if_icmpne 5
         1: .line 128
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 5 /* low */
        start local 5 // long low
         2: .line 129
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 7 /* high */
        start local 7 // long high
         3: .line 130
            aload 0 /* this */
            lload 7 /* high */
            lload 5 /* low */
            iload 3 /* highByte */
            aload 4 /* result */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.encode:(JJB[J)V
        end local 7 // long high
        end local 5 // long low
         4: .line 131
            goto 6
         5: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            iload 2 /* length */
            iload 3 /* highByte */
            aload 4 /* result */
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial.encode:(Ljava/nio/ByteBuffer;IB[J)V
         6: .line 134
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long[] result
        end local 3 // byte highByte
        end local 2 // int length
        end local 1 // java.nio.ByteBuffer buf
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    7     1       buf  Ljava/nio/ByteBuffer;
            0    7     2    length  I
            0    7     3  highByte  B
            0    7     4    result  [J
            2    4     5       low  J
            3    4     7      high  J
    MethodParameters:
          Name  Flags
      buf       
      length    
      highByte  
      result    

  protected void encode(long, long, byte, long[]);
    descriptor: (JJB[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long high
        start local 3 // long low
        start local 5 // byte highByte
        start local 6 // long[] result
         0: .line 137
            aload 6 /* result */
            iconst_0
            lload 3 /* low */
            ldc 67108863
            land
            lastore
         1: .line 138
            aload 6 /* result */
            iconst_1
            lload 3 /* low */
            bipush 26
            lushr
            ldc 67108863
            land
            lastore
         2: .line 139
            aload 6 /* result */
            iconst_2
            lload 3 /* low */
            bipush 52
            lushr
            lload 1 /* high */
            ldc 16383
            land
            bipush 12
            lshl
            ladd
            lastore
         3: .line 140
            aload 6 /* result */
            iconst_3
            lload 1 /* high */
            bipush 14
            lushr
            ldc 67108863
            land
            lastore
         4: .line 141
            aload 6 /* result */
            iconst_4
            lload 1 /* high */
            bipush 40
            lushr
            iload 5 /* highByte */
            bipush 24
            ishl
            i2l
            ladd
            lastore
         5: .line 142
            return
        end local 6 // long[] result
        end local 5 // byte highByte
        end local 3 // long low
        end local 1 // long high
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    6     1      high  J
            0    6     3       low  J
            0    6     5  highByte  B
            0    6     6    result  [J
    MethodParameters:
          Name  Flags
      high      
      low       
      highByte  
      result    

  protected void encode(byte[], int, int, byte, long[]);
    descriptor: ([BIIB[J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // byte[] v
        start local 2 // int offset
        start local 3 // int length
        start local 4 // byte highByte
        start local 5 // long[] result
         0: .line 146
            iload 3 /* length */
            bipush 16
            if_icmpne 8
         1: .line 147
            aload 1 /* v */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
         2: .line 148
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
         3: .line 147
            astore 6 /* asLongLEBuffer */
        start local 6 // java.nio.ByteBuffer asLongLEBuffer
         4: .line 149
            aload 6 /* asLongLEBuffer */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 7 /* low */
        start local 7 // long low
         5: .line 150
            aload 6 /* asLongLEBuffer */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 9 /* high */
        start local 9 // long high
         6: .line 151
            aload 0 /* this */
            lload 9 /* high */
            lload 7 /* low */
            iload 4 /* highByte */
            aload 5 /* result */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.encode:(JJB[J)V
        end local 9 // long high
        end local 7 // long low
        end local 6 // java.nio.ByteBuffer asLongLEBuffer
         7: .line 152
            goto 9
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v */
            iload 2 /* offset */
            iload 3 /* length */
            iload 4 /* highByte */
            aload 5 /* result */
            invokespecial sun.security.util.math.intpoly.IntegerPolynomial.encode:([BIIB[J)V
         9: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 5 // long[] result
        end local 4 // byte highByte
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] v
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0   10     1               v  [B
            0   10     2          offset  I
            0   10     3          length  I
            0   10     4        highByte  B
            0   10     5          result  [J
            4    7     6  asLongLEBuffer  Ljava/nio/ByteBuffer;
            5    7     7             low  J
            6    7     9            high  J
    MethodParameters:
          Name  Flags
      v         
      offset    
      length    
      highByte  
      result    

  private void modReduceIn(long[], int, long);
    descriptor: ([JIJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] limbs
        start local 2 // int index
        start local 3 // long x
         0: .line 159
            lload 3 /* x */
            ldc 5
            lmul
            lstore 5 /* reducedValue */
        start local 5 // long reducedValue
         1: .line 160
            aload 1 /* limbs */
            iload 2 /* index */
            iconst_5
            isub
            dup2
            laload
            lload 5 /* reducedValue */
            ladd
            lastore
         2: .line 161
            return
        end local 5 // long reducedValue
        end local 3 // long x
        end local 2 // int index
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    3     1         limbs  [J
            0    3     2         index  I
            0    3     3             x  J
            1    3     5  reducedValue  J
    MethodParameters:
       Name  Flags
      limbs  
      index  
      x      

  protected void finalCarryReduceLast(long[]);
    descriptor: ([J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] limbs
         0: .line 165
            aload 1 /* limbs */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial1305.numLimbs:I
            iconst_1
            isub
            laload
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial1305.bitsPerLimb:I
            lshr
            lstore 2 /* carry */
        start local 2 // long carry
         1: .line 166
            aload 1 /* limbs */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial1305.numLimbs:I
            iconst_1
            isub
            dup2
            laload
            lload 2 /* carry */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial1305.bitsPerLimb:I
            lshl
            lsub
            lastore
         2: .line 167
            aload 0 /* this */
            aload 1 /* limbs */
            aload 0 /* this */
            getfield sun.security.util.math.intpoly.IntegerPolynomial1305.numLimbs:I
            lload 2 /* carry */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.modReduceIn:([JIJ)V
         3: .line 168
            return
        end local 2 // long carry
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    4     1  limbs  [J
            1    4     2  carry  J
    MethodParameters:
       Name  Flags
      limbs  

  protected final void modReduce(long[], int, int);
    descriptor: ([JII)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] limbs
        start local 2 // int start
        start local 3 // int end
         0: .line 172
            iload 2 /* start */
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 173
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* limbs */
            iload 4 /* i */
            aload 1 /* limbs */
            iload 4 /* i */
            laload
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.modReduceIn:([JIJ)V
         3: .line 174
            aload 1 /* limbs */
            iload 4 /* i */
            lconst_0
            lastore
         4: .line 172
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* end */
            if_icmplt 2
        end local 4 // int i
         6: .line 176
            return
        end local 3 // int end
        end local 2 // int start
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    7     1  limbs  [J
            0    7     2  start  I
            0    7     3    end  I
            1    6     4      i  I
    MethodParameters:
       Name  Flags
      limbs  
      start  
      end    

  protected void modReduce(long[]);
    descriptor: ([J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] limbs
         0: .line 180
            aload 0 /* this */
            aload 1 /* limbs */
            iconst_5
            iconst_4
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.modReduce:([JII)V
         1: .line 181
            return
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    2     1  limbs  [J
    MethodParameters:
       Name  Flags
      limbs  

  protected long carryValue(long);
    descriptor: (J)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long x
         0: .line 188
            lload 1 /* x */
            bipush 26
            lshr
            lreturn
        end local 1 // long x
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    1     1     x  J
    MethodParameters:
      Name  Flags
      x     

  protected void postEncodeCarry(long[]);
    descriptor: ([J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] v
         0: .line 194
            return
        end local 1 // long[] v
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    1     1     v  [J
    MethodParameters:
      Name  Flags
      v     

  protected void reduce(long[]);
    descriptor: ([J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
        start local 1 // long[] limbs
         0: .line 198
            aload 0 /* this */
            aload 1 /* limbs */
            iconst_3
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryOut:([JI)J
            lstore 2 /* carry3 */
        start local 2 // long carry3
         1: .line 199
            lload 2 /* carry3 */
            aload 1 /* limbs */
            iconst_4
            laload
            ladd
            lstore 4 /* new4 */
        start local 4 // long new4
         2: .line 201
            aload 0 /* this */
            lload 4 /* new4 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carryValue:(J)J
            lstore 6 /* carry4 */
        start local 6 // long carry4
         3: .line 202
            aload 1 /* limbs */
            iconst_4
            lload 4 /* new4 */
            lload 6 /* carry4 */
            bipush 26
            lshl
            lsub
            lastore
         4: .line 204
            aload 0 /* this */
            aload 1 /* limbs */
            iconst_5
            lload 6 /* carry4 */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.modReduceIn:([JIJ)V
         5: .line 205
            aload 0 /* this */
            aload 1 /* limbs */
            invokevirtual sun.security.util.math.intpoly.IntegerPolynomial1305.carry:([J)V
         6: .line 206
            return
        end local 6 // long carry4
        end local 4 // long new4
        end local 2 // long carry3
        end local 1 // long[] limbs
        end local 0 // sun.security.util.math.intpoly.IntegerPolynomial1305 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/util/math/intpoly/IntegerPolynomial1305;
            0    7     1   limbs  [J
            1    7     2  carry3  J
            2    7     4    new4  J
            3    7     6  carry4  J
    MethodParameters:
       Name  Flags
      limbs  
}
SourceFile: "IntegerPolynomial1305.java"