public class org.bouncycastle.math.ec.custom.sec.SecT283Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecT283Field
super_class: java.lang.Object
{
private static final long M27;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 134217727
private static final long M57;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 144115188075855871
private static final long[] ROOT_Z;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: .line 14
iconst_5
newarray 11
dup
iconst_0
ldc 878416384462358536
lastore
dup
iconst_1
ldc 3513665537849438403
lastore
dup
iconst_2
ldc -9076969306111048948
lastore
dup
iconst_3
ldc 585610922974906400
lastore
dup
iconst_4
ldc 34087042
lastore
putstatic org.bouncycastle.math.ec.custom.sec.SecT283Field.ROOT_Z:[J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.custom.sec.SecT283Field this
0: .line 9
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecT283Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT283Field;
public static void add(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] z
0: .line 18
aload 2 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
aload 1 /* y */
iconst_0
laload
lxor
lastore
1: .line 19
aload 2 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
aload 1 /* y */
iconst_1
laload
lxor
lastore
2: .line 20
aload 2 /* z */
iconst_2
aload 0 /* x */
iconst_2
laload
aload 1 /* y */
iconst_2
laload
lxor
lastore
3: .line 21
aload 2 /* z */
iconst_3
aload 0 /* x */
iconst_3
laload
aload 1 /* y */
iconst_3
laload
lxor
lastore
4: .line 22
aload 2 /* z */
iconst_4
aload 0 /* x */
iconst_4
laload
aload 1 /* y */
iconst_4
laload
lxor
lastore
5: .line 23
return
end local 2 // long[] z
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [J
0 6 1 y [J
0 6 2 z [J
MethodParameters:
Name Flags
x
y
z
public static void addExt(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // long[] xx
start local 1 // long[] yy
start local 2 // long[] zz
0: .line 27
aload 2 /* zz */
iconst_0
aload 0 /* xx */
iconst_0
laload
aload 1 /* yy */
iconst_0
laload
lxor
lastore
1: .line 28
aload 2 /* zz */
iconst_1
aload 0 /* xx */
iconst_1
laload
aload 1 /* yy */
iconst_1
laload
lxor
lastore
2: .line 29
aload 2 /* zz */
iconst_2
aload 0 /* xx */
iconst_2
laload
aload 1 /* yy */
iconst_2
laload
lxor
lastore
3: .line 30
aload 2 /* zz */
iconst_3
aload 0 /* xx */
iconst_3
laload
aload 1 /* yy */
iconst_3
laload
lxor
lastore
4: .line 31
aload 2 /* zz */
iconst_4
aload 0 /* xx */
iconst_4
laload
aload 1 /* yy */
iconst_4
laload
lxor
lastore
5: .line 32
aload 2 /* zz */
iconst_5
aload 0 /* xx */
iconst_5
laload
aload 1 /* yy */
iconst_5
laload
lxor
lastore
6: .line 33
aload 2 /* zz */
bipush 6
aload 0 /* xx */
bipush 6
laload
aload 1 /* yy */
bipush 6
laload
lxor
lastore
7: .line 34
aload 2 /* zz */
bipush 7
aload 0 /* xx */
bipush 7
laload
aload 1 /* yy */
bipush 7
laload
lxor
lastore
8: .line 35
aload 2 /* zz */
bipush 8
aload 0 /* xx */
bipush 8
laload
aload 1 /* yy */
bipush 8
laload
lxor
lastore
9: .line 36
return
end local 2 // long[] zz
end local 1 // long[] yy
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 10 0 xx [J
0 10 1 yy [J
0 10 2 zz [J
MethodParameters:
Name Flags
xx
yy
zz
public static void addOne(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 40
aload 1 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
lconst_1
lxor
lastore
1: .line 41
aload 1 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
lastore
2: .line 42
aload 1 /* z */
iconst_2
aload 0 /* x */
iconst_2
laload
lastore
3: .line 43
aload 1 /* z */
iconst_3
aload 0 /* x */
iconst_3
laload
lastore
4: .line 44
aload 1 /* z */
iconst_4
aload 0 /* x */
iconst_4
laload
lastore
5: .line 45
return
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [J
0 6 1 z [J
MethodParameters:
Name Flags
x
z
public static long[] fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.math.BigInteger x
0: .line 49
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat320.fromBigInteger64:(Ljava/math/BigInteger;)[J
astore 1 /* z */
start local 1 // long[] z
1: .line 50
aload 1 /* z */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.reduce37:([JI)V
2: .line 51
aload 1 /* z */
areturn
end local 1 // long[] z
end local 0 // java.math.BigInteger x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/math/BigInteger;
1 3 1 z [J
MethodParameters:
Name Flags
x
public static void invert(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 56
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat320.isZero64:([J)Z
ifeq 2
1: .line 58
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 63
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat320.create64:()[J
astore 2 /* t0 */
start local 2 // long[] t0
3: .line 64
invokestatic org.bouncycastle.math.raw.Nat320.create64:()[J
astore 3 /* t1 */
start local 3 // long[] t1
4: .line 66
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.square:([J[J)V
5: .line 67
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
6: .line 68
aload 2 /* t0 */
iconst_2
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
7: .line 69
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
8: .line 70
aload 3 /* t1 */
iconst_4
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
9: .line 71
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
10: .line 72
aload 2 /* t0 */
bipush 8
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
11: .line 73
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
12: .line 74
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.square:([J[J)V
13: .line 75
aload 3 /* t1 */
aload 0 /* x */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
14: .line 76
aload 3 /* t1 */
bipush 17
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
15: .line 77
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
16: .line 78
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.square:([J[J)V
17: .line 79
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
18: .line 80
aload 2 /* t0 */
bipush 35
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
19: .line 81
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
20: .line 82
aload 3 /* t1 */
bipush 70
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
21: .line 83
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
22: .line 84
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.square:([J[J)V
23: .line 85
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
24: .line 86
aload 2 /* t0 */
sipush 141
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.squareN:([JI[J)V
25: .line 87
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
26: .line 88
aload 3 /* t1 */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.square:([J[J)V
27: .line 89
return
end local 3 // long[] t1
end local 2 // long[] t0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 28 0 x [J
0 28 1 z [J
3 28 2 t0 [J
4 28 3 t1 [J
MethodParameters:
Name Flags
x
z
public static void multiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] z
0: .line 93
invokestatic org.bouncycastle.math.raw.Nat320.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 94
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMultiply:([J[J[J)V
2: .line 95
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.reduce:([J[J)V
3: .line 96
return
end local 3 // long[] tt
end local 2 // long[] z
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 y [J
0 4 2 z [J
1 4 3 tt [J
MethodParameters:
Name Flags
x
y
z
public static void multiplyAddToExt(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 100
invokestatic org.bouncycastle.math.raw.Nat320.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 101
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMultiply:([J[J[J)V
2: .line 102
aload 2 /* zz */
aload 3 /* tt */
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.addExt:([J[J[J)V
3: .line 103
return
end local 3 // long[] tt
end local 2 // long[] zz
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 y [J
0 4 2 zz [J
1 4 3 tt [J
MethodParameters:
Name Flags
x
y
zz
public static void reduce(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=22, args_size=2
start local 0 // long[] xx
start local 1 // long[] z
0: .line 107
aload 0 /* xx */
iconst_0
laload
lstore 2 /* x0 */
start local 2 // long x0
1: aload 0 /* xx */
iconst_1
laload
lstore 4 /* x1 */
start local 4 // long x1
2: aload 0 /* xx */
iconst_2
laload
lstore 6 /* x2 */
start local 6 // long x2
3: aload 0 /* xx */
iconst_3
laload
lstore 8 /* x3 */
start local 8 // long x3
4: aload 0 /* xx */
iconst_4
laload
lstore 10 /* x4 */
start local 10 // long x4
5: .line 108
aload 0 /* xx */
iconst_5
laload
lstore 12 /* x5 */
start local 12 // long x5
6: aload 0 /* xx */
bipush 6
laload
lstore 14 /* x6 */
start local 14 // long x6
7: aload 0 /* xx */
bipush 7
laload
lstore 16 /* x7 */
start local 16 // long x7
8: aload 0 /* xx */
bipush 8
laload
lstore 18 /* x8 */
start local 18 // long x8
9: .line 110
lload 8 /* x3 */
lload 18 /* x8 */
bipush 37
lshl
lload 18 /* x8 */
bipush 42
lshl
lxor
lload 18 /* x8 */
bipush 44
lshl
lxor
lload 18 /* x8 */
bipush 49
lshl
lxor
lxor
lstore 8 /* x3 */
10: .line 111
lload 10 /* x4 */
lload 18 /* x8 */
bipush 27
lushr
lload 18 /* x8 */
bipush 22
lushr
lxor
lload 18 /* x8 */
bipush 20
lushr
lxor
lload 18 /* x8 */
bipush 15
lushr
lxor
lxor
lstore 10 /* x4 */
11: .line 113
lload 6 /* x2 */
lload 16 /* x7 */
bipush 37
lshl
lload 16 /* x7 */
bipush 42
lshl
lxor
lload 16 /* x7 */
bipush 44
lshl
lxor
lload 16 /* x7 */
bipush 49
lshl
lxor
lxor
lstore 6 /* x2 */
12: .line 114
lload 8 /* x3 */
lload 16 /* x7 */
bipush 27
lushr
lload 16 /* x7 */
bipush 22
lushr
lxor
lload 16 /* x7 */
bipush 20
lushr
lxor
lload 16 /* x7 */
bipush 15
lushr
lxor
lxor
lstore 8 /* x3 */
13: .line 116
lload 4 /* x1 */
lload 14 /* x6 */
bipush 37
lshl
lload 14 /* x6 */
bipush 42
lshl
lxor
lload 14 /* x6 */
bipush 44
lshl
lxor
lload 14 /* x6 */
bipush 49
lshl
lxor
lxor
lstore 4 /* x1 */
14: .line 117
lload 6 /* x2 */
lload 14 /* x6 */
bipush 27
lushr
lload 14 /* x6 */
bipush 22
lushr
lxor
lload 14 /* x6 */
bipush 20
lushr
lxor
lload 14 /* x6 */
bipush 15
lushr
lxor
lxor
lstore 6 /* x2 */
15: .line 119
lload 2 /* x0 */
lload 12 /* x5 */
bipush 37
lshl
lload 12 /* x5 */
bipush 42
lshl
lxor
lload 12 /* x5 */
bipush 44
lshl
lxor
lload 12 /* x5 */
bipush 49
lshl
lxor
lxor
lstore 2 /* x0 */
16: .line 120
lload 4 /* x1 */
lload 12 /* x5 */
bipush 27
lushr
lload 12 /* x5 */
bipush 22
lushr
lxor
lload 12 /* x5 */
bipush 20
lushr
lxor
lload 12 /* x5 */
bipush 15
lushr
lxor
lxor
lstore 4 /* x1 */
17: .line 122
lload 10 /* x4 */
bipush 27
lushr
lstore 20 /* t */
start local 20 // long t
18: .line 123
aload 1 /* z */
iconst_0
lload 2 /* x0 */
lload 20 /* t */
lxor
lload 20 /* t */
iconst_5
lshl
lxor
lload 20 /* t */
bipush 7
lshl
lxor
lload 20 /* t */
bipush 12
lshl
lxor
lastore
19: .line 124
aload 1 /* z */
iconst_1
lload 4 /* x1 */
lastore
20: .line 125
aload 1 /* z */
iconst_2
lload 6 /* x2 */
lastore
21: .line 126
aload 1 /* z */
iconst_3
lload 8 /* x3 */
lastore
22: .line 127
aload 1 /* z */
iconst_4
lload 10 /* x4 */
ldc 134217727
land
lastore
23: .line 128
return
end local 20 // long t
end local 18 // long x8
end local 16 // long x7
end local 14 // long x6
end local 12 // long x5
end local 10 // long x4
end local 8 // long x3
end local 6 // long x2
end local 4 // long x1
end local 2 // long x0
end local 1 // long[] z
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 24 0 xx [J
0 24 1 z [J
1 24 2 x0 J
2 24 4 x1 J
3 24 6 x2 J
4 24 8 x3 J
5 24 10 x4 J
6 24 12 x5 J
7 24 14 x6 J
8 24 16 x7 J
9 24 18 x8 J
18 24 20 t J
MethodParameters:
Name Flags
xx
z
public static void reduce37(long[], int);
descriptor: ([JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=6, args_size=2
start local 0 // long[] z
start local 1 // int zOff
0: .line 132
aload 0 /* z */
iload 1 /* zOff */
iconst_4
iadd
laload
lstore 2 /* z4 */
start local 2 // long z4
1: lload 2 /* z4 */
bipush 27
lushr
lstore 4 /* t */
start local 4 // long t
2: .line 133
aload 0 /* z */
iload 1 /* zOff */
dup2
laload
lload 4 /* t */
lload 4 /* t */
iconst_5
lshl
lxor
lload 4 /* t */
bipush 7
lshl
lxor
lload 4 /* t */
bipush 12
lshl
lxor
lxor
lastore
3: .line 134
aload 0 /* z */
iload 1 /* zOff */
iconst_4
iadd
lload 2 /* z4 */
ldc 134217727
land
lastore
4: .line 135
return
end local 4 // long t
end local 2 // long z4
end local 1 // int zOff
end local 0 // long[] z
LocalVariableTable:
Start End Slot Name Signature
0 5 0 z [J
0 5 1 zOff I
1 5 2 z4 J
2 5 4 t J
MethodParameters:
Name Flags
z
zOff
public static void sqrt(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=13, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 139
invokestatic org.bouncycastle.math.raw.Nat320.create64:()[J
astore 2 /* odd */
start local 2 // long[] odd
1: .line 142
aload 0 /* x */
iconst_0
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 3 /* u0 */
start local 3 // long u0
2: aload 0 /* x */
iconst_1
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 5 /* u1 */
start local 5 // long u1
3: .line 143
lload 3 /* u0 */
ldc 4294967295
land
lload 5 /* u1 */
bipush 32
lshl
lor
lstore 7 /* e0 */
start local 7 // long e0
4: .line 144
aload 2 /* odd */
iconst_0
lload 3 /* u0 */
bipush 32
lushr
lload 5 /* u1 */
ldc -4294967296
land
lor
lastore
5: .line 146
aload 0 /* x */
iconst_2
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 3 /* u0 */
aload 0 /* x */
iconst_3
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 5 /* u1 */
6: .line 147
lload 3 /* u0 */
ldc 4294967295
land
lload 5 /* u1 */
bipush 32
lshl
lor
lstore 9 /* e1 */
start local 9 // long e1
7: .line 148
aload 2 /* odd */
iconst_1
lload 3 /* u0 */
bipush 32
lushr
lload 5 /* u1 */
ldc -4294967296
land
lor
lastore
8: .line 150
aload 0 /* x */
iconst_4
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 3 /* u0 */
9: .line 151
lload 3 /* u0 */
ldc 4294967295
land
lstore 11 /* e2 */
start local 11 // long e2
10: .line 152
aload 2 /* odd */
iconst_2
lload 3 /* u0 */
bipush 32
lushr
lastore
11: .line 154
aload 2 /* odd */
getstatic org.bouncycastle.math.ec.custom.sec.SecT283Field.ROOT_Z:[J
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.multiply:([J[J[J)V
12: .line 156
aload 1 /* z */
iconst_0
dup2
laload
lload 7 /* e0 */
lxor
lastore
13: .line 157
aload 1 /* z */
iconst_1
dup2
laload
lload 9 /* e1 */
lxor
lastore
14: .line 158
aload 1 /* z */
iconst_2
dup2
laload
lload 11 /* e2 */
lxor
lastore
15: .line 159
return
end local 11 // long e2
end local 9 // long e1
end local 7 // long e0
end local 5 // long u1
end local 3 // long u0
end local 2 // long[] odd
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 16 0 x [J
0 16 1 z [J
1 16 2 odd [J
2 16 3 u0 J
3 16 5 u1 J
4 16 7 e0 J
7 16 9 e1 J
10 16 11 e2 J
MethodParameters:
Name Flags
x
z
public static void square(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 163
bipush 9
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 164
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implSquare:([J[J)V
2: .line 165
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.reduce:([J[J)V
3: .line 166
return
end local 2 // long[] tt
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 z [J
1 4 2 tt [J
MethodParameters:
Name Flags
x
z
public static void squareAddToExt(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 170
bipush 9
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 171
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implSquare:([J[J)V
2: .line 172
aload 1 /* zz */
aload 2 /* tt */
aload 1 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.addExt:([J[J[J)V
3: .line 173
return
end local 2 // long[] tt
end local 1 // long[] zz
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 zz [J
1 4 2 tt [J
MethodParameters:
Name Flags
x
zz
public static void squareN(long[], int, long[]);
descriptor: ([JI[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 // long[] x
start local 1 // int n
start local 2 // long[] z
0: .line 179
bipush 9
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 180
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implSquare:([J[J)V
2: .line 181
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.reduce:([J[J)V
3: .line 183
goto 6
4: .line 185
StackMap locals: long[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implSquare:([J[J)V
5: .line 186
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.reduce:([J[J)V
6: .line 183
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 188
return
end local 3 // long[] tt
end local 2 // long[] z
end local 1 // int n
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 8 0 x [J
0 8 1 n I
0 8 2 z [J
1 8 3 tt [J
MethodParameters:
Name Flags
x
n
z
public static int trace(long[]);
descriptor: ([J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 // long[] x
0: .line 193
aload 0 /* x */
iconst_0
laload
aload 0 /* x */
iconst_4
laload
bipush 15
lushr
lxor
l2i
iconst_1
iand
ireturn
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x [J
MethodParameters:
Name Flags
x
protected static void implCompactExt(long[]);
descriptor: ([J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=21, args_size=1
start local 0 // long[] zz
0: .line 198
aload 0 /* zz */
iconst_0
laload
lstore 1 /* z0 */
start local 1 // long z0
1: aload 0 /* zz */
iconst_1
laload
lstore 3 /* z1 */
start local 3 // long z1
2: aload 0 /* zz */
iconst_2
laload
lstore 5 /* z2 */
start local 5 // long z2
3: aload 0 /* zz */
iconst_3
laload
lstore 7 /* z3 */
start local 7 // long z3
4: aload 0 /* zz */
iconst_4
laload
lstore 9 /* z4 */
start local 9 // long z4
5: .line 199
aload 0 /* zz */
iconst_5
laload
lstore 11 /* z5 */
start local 11 // long z5
6: aload 0 /* zz */
bipush 6
laload
lstore 13 /* z6 */
start local 13 // long z6
7: aload 0 /* zz */
bipush 7
laload
lstore 15 /* z7 */
start local 15 // long z7
8: aload 0 /* zz */
bipush 8
laload
lstore 17 /* z8 */
start local 17 // long z8
9: aload 0 /* zz */
bipush 9
laload
lstore 19 /* z9 */
start local 19 // long z9
10: .line 200
aload 0 /* zz */
iconst_0
lload 1 /* z0 */
lload 3 /* z1 */
bipush 57
lshl
lxor
lastore
11: .line 201
aload 0 /* zz */
iconst_1
lload 3 /* z1 */
bipush 7
lushr
lload 5 /* z2 */
bipush 50
lshl
lxor
lastore
12: .line 202
aload 0 /* zz */
iconst_2
lload 5 /* z2 */
bipush 14
lushr
lload 7 /* z3 */
bipush 43
lshl
lxor
lastore
13: .line 203
aload 0 /* zz */
iconst_3
lload 7 /* z3 */
bipush 21
lushr
lload 9 /* z4 */
bipush 36
lshl
lxor
lastore
14: .line 204
aload 0 /* zz */
iconst_4
lload 9 /* z4 */
bipush 28
lushr
lload 11 /* z5 */
bipush 29
lshl
lxor
lastore
15: .line 205
aload 0 /* zz */
iconst_5
lload 11 /* z5 */
bipush 35
lushr
lload 13 /* z6 */
bipush 22
lshl
lxor
lastore
16: .line 206
aload 0 /* zz */
bipush 6
lload 13 /* z6 */
bipush 42
lushr
lload 15 /* z7 */
bipush 15
lshl
lxor
lastore
17: .line 207
aload 0 /* zz */
bipush 7
lload 15 /* z7 */
bipush 49
lushr
lload 17 /* z8 */
bipush 8
lshl
lxor
lastore
18: .line 208
aload 0 /* zz */
bipush 8
lload 17 /* z8 */
bipush 56
lushr
lload 19 /* z9 */
iconst_1
lshl
lxor
lastore
19: .line 209
aload 0 /* zz */
bipush 9
lload 19 /* z9 */
bipush 63
lushr
lastore
20: .line 210
return
end local 19 // long z9
end local 17 // long z8
end local 15 // long z7
end local 13 // long z6
end local 11 // long z5
end local 9 // long z4
end local 7 // long z3
end local 5 // long z2
end local 3 // long z1
end local 1 // long z0
end local 0 // long[] zz
LocalVariableTable:
Start End Slot Name Signature
0 21 0 zz [J
1 21 1 z0 J
2 21 3 z1 J
3 21 5 z2 J
4 21 7 z3 J
5 21 9 z4 J
6 21 11 z5 J
7 21 13 z6 J
8 21 15 z7 J
9 21 17 z8 J
10 21 19 z9 J
MethodParameters:
Name Flags
zz
protected static void implExpand(long[], long[]);
descriptor: ([J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=12, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 214
aload 0 /* x */
iconst_0
laload
lstore 2 /* x0 */
start local 2 // long x0
1: aload 0 /* x */
iconst_1
laload
lstore 4 /* x1 */
start local 4 // long x1
2: aload 0 /* x */
iconst_2
laload
lstore 6 /* x2 */
start local 6 // long x2
3: aload 0 /* x */
iconst_3
laload
lstore 8 /* x3 */
start local 8 // long x3
4: aload 0 /* x */
iconst_4
laload
lstore 10 /* x4 */
start local 10 // long x4
5: .line 215
aload 1 /* z */
iconst_0
lload 2 /* x0 */
ldc 144115188075855871
land
lastore
6: .line 216
aload 1 /* z */
iconst_1
lload 2 /* x0 */
bipush 57
lushr
lload 4 /* x1 */
bipush 7
lshl
lxor
ldc 144115188075855871
land
lastore
7: .line 217
aload 1 /* z */
iconst_2
lload 4 /* x1 */
bipush 50
lushr
lload 6 /* x2 */
bipush 14
lshl
lxor
ldc 144115188075855871
land
lastore
8: .line 218
aload 1 /* z */
iconst_3
lload 6 /* x2 */
bipush 43
lushr
lload 8 /* x3 */
bipush 21
lshl
lxor
ldc 144115188075855871
land
lastore
9: .line 219
aload 1 /* z */
iconst_4
lload 8 /* x3 */
bipush 36
lushr
lload 10 /* x4 */
bipush 28
lshl
lxor
lastore
10: .line 220
return
end local 10 // long x4
end local 8 // long x3
end local 6 // long x2
end local 4 // long x1
end local 2 // long x0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 11 0 x [J
0 11 1 z [J
1 11 2 x0 J
2 11 4 x1 J
3 11 6 x2 J
4 11 8 x3 J
5 11 10 x4 J
MethodParameters:
Name Flags
x
z
protected static void implMultiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=108, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 243
iconst_5
newarray 11
astore 3 /* a */
start local 3 // long[] a
1: iconst_5
newarray 11
astore 4 /* b */
start local 4 // long[] b
2: .line 244
aload 0 /* x */
aload 3 /* a */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implExpand:([J[J)V
3: .line 245
aload 1 /* y */
aload 4 /* b */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implExpand:([J[J)V
4: .line 247
bipush 26
newarray 11
astore 5 /* p */
start local 5 // long[] p
5: .line 249
aload 3 /* a */
iconst_0
laload
aload 4 /* b */
iconst_0
laload
aload 5 /* p */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
6: .line 250
aload 3 /* a */
iconst_1
laload
aload 4 /* b */
iconst_1
laload
aload 5 /* p */
iconst_2
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
7: .line 251
aload 3 /* a */
iconst_2
laload
aload 4 /* b */
iconst_2
laload
aload 5 /* p */
iconst_4
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
8: .line 252
aload 3 /* a */
iconst_3
laload
aload 4 /* b */
iconst_3
laload
aload 5 /* p */
bipush 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
9: .line 253
aload 3 /* a */
iconst_4
laload
aload 4 /* b */
iconst_4
laload
aload 5 /* p */
bipush 8
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
10: .line 255
aload 3 /* a */
iconst_0
laload
aload 3 /* a */
iconst_1
laload
lxor
lstore 6 /* u0 */
start local 6 // long u0
11: aload 4 /* b */
iconst_0
laload
aload 4 /* b */
iconst_1
laload
lxor
lstore 8 /* v0 */
start local 8 // long v0
12: .line 256
aload 3 /* a */
iconst_0
laload
aload 3 /* a */
iconst_2
laload
lxor
lstore 10 /* u1 */
start local 10 // long u1
13: aload 4 /* b */
iconst_0
laload
aload 4 /* b */
iconst_2
laload
lxor
lstore 12 /* v1 */
start local 12 // long v1
14: .line 257
aload 3 /* a */
iconst_2
laload
aload 3 /* a */
iconst_4
laload
lxor
lstore 14 /* u2 */
start local 14 // long u2
15: aload 4 /* b */
iconst_2
laload
aload 4 /* b */
iconst_4
laload
lxor
lstore 16 /* v2 */
start local 16 // long v2
16: .line 258
aload 3 /* a */
iconst_3
laload
aload 3 /* a */
iconst_4
laload
lxor
lstore 18 /* u3 */
start local 18 // long u3
17: aload 4 /* b */
iconst_3
laload
aload 4 /* b */
iconst_4
laload
lxor
lstore 20 /* v3 */
start local 20 // long v3
18: .line 260
lload 10 /* u1 */
aload 3 /* a */
iconst_3
laload
lxor
lload 12 /* v1 */
aload 4 /* b */
iconst_3
laload
lxor
aload 5 /* p */
bipush 18
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
19: .line 261
lload 14 /* u2 */
aload 3 /* a */
iconst_1
laload
lxor
lload 16 /* v2 */
aload 4 /* b */
iconst_1
laload
lxor
aload 5 /* p */
bipush 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
20: .line 263
lload 6 /* u0 */
lload 18 /* u3 */
lxor
lstore 22 /* A4 */
start local 22 // long A4
21: lload 8 /* v0 */
lload 20 /* v3 */
lxor
lstore 24 /* B4 */
start local 24 // long B4
22: .line 264
lload 22 /* A4 */
aload 3 /* a */
iconst_2
laload
lxor
lstore 26 /* A5 */
start local 26 // long A5
23: lload 24 /* B4 */
aload 4 /* b */
iconst_2
laload
lxor
lstore 28 /* B5 */
start local 28 // long B5
24: .line 266
lload 22 /* A4 */
lload 24 /* B4 */
aload 5 /* p */
bipush 22
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
25: .line 267
lload 26 /* A5 */
lload 28 /* B5 */
aload 5 /* p */
bipush 24
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
26: .line 269
lload 6 /* u0 */
lload 8 /* v0 */
aload 5 /* p */
bipush 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
27: .line 270
lload 10 /* u1 */
lload 12 /* v1 */
aload 5 /* p */
bipush 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
28: .line 271
lload 14 /* u2 */
lload 16 /* v2 */
aload 5 /* p */
bipush 14
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
29: .line 272
lload 18 /* u3 */
lload 20 /* v3 */
aload 5 /* p */
bipush 16
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implMulw:(JJ[JI)V
30: .line 289
aload 2 /* zz */
iconst_0
aload 5 /* p */
iconst_0
laload
lastore
31: .line 290
aload 2 /* zz */
bipush 9
aload 5 /* p */
bipush 9
laload
lastore
32: .line 292
aload 5 /* p */
iconst_0
laload
aload 5 /* p */
iconst_1
laload
lxor
lstore 30 /* t1 */
start local 30 // long t1
33: .line 293
lload 30 /* t1 */
aload 5 /* p */
iconst_2
laload
lxor
lstore 32 /* t2 */
start local 32 // long t2
34: .line 294
lload 32 /* t2 */
aload 5 /* p */
bipush 10
laload
lxor
lstore 34 /* t3 */
start local 34 // long t3
35: .line 296
aload 2 /* zz */
iconst_1
lload 34 /* t3 */
lastore
36: .line 298
aload 5 /* p */
iconst_3
laload
aload 5 /* p */
iconst_4
laload
lxor
lstore 36 /* t4 */
start local 36 // long t4
37: .line 299
aload 5 /* p */
bipush 11
laload
aload 5 /* p */
bipush 12
laload
lxor
lstore 38 /* t5 */
start local 38 // long t5
38: .line 300
lload 36 /* t4 */
lload 38 /* t5 */
lxor
lstore 40 /* t6 */
start local 40 // long t6
39: .line 301
lload 32 /* t2 */
lload 40 /* t6 */
lxor
lstore 42 /* t7 */
start local 42 // long t7
40: .line 303
aload 2 /* zz */
iconst_2
lload 42 /* t7 */
lastore
41: .line 305
lload 30 /* t1 */
lload 36 /* t4 */
lxor
lstore 44 /* t8 */
start local 44 // long t8
42: .line 306
aload 5 /* p */
iconst_5
laload
aload 5 /* p */
bipush 6
laload
lxor
lstore 46 /* t9 */
start local 46 // long t9
43: .line 307
lload 44 /* t8 */
lload 46 /* t9 */
lxor
lstore 48 /* t10 */
start local 48 // long t10
44: .line 308
lload 48 /* t10 */
aload 5 /* p */
bipush 8
laload
lxor
lstore 50 /* t11 */
start local 50 // long t11
45: .line 309
aload 5 /* p */
bipush 13
laload
aload 5 /* p */
bipush 14
laload
lxor
lstore 52 /* t12 */
start local 52 // long t12
46: .line 310
lload 50 /* t11 */
lload 52 /* t12 */
lxor
lstore 54 /* t13 */
start local 54 // long t13
47: .line 311
aload 5 /* p */
bipush 18
laload
aload 5 /* p */
bipush 22
laload
lxor
lstore 56 /* t14 */
start local 56 // long t14
48: .line 312
lload 56 /* t14 */
aload 5 /* p */
bipush 24
laload
lxor
lstore 58 /* t15 */
start local 58 // long t15
49: .line 313
lload 54 /* t13 */
lload 58 /* t15 */
lxor
lstore 60 /* t16 */
start local 60 // long t16
50: .line 315
aload 2 /* zz */
iconst_3
lload 60 /* t16 */
lastore
51: .line 317
aload 5 /* p */
bipush 7
laload
aload 5 /* p */
bipush 8
laload
lxor
lstore 62 /* t17 */
start local 62 // long t17
52: .line 318
lload 62 /* t17 */
aload 5 /* p */
bipush 9
laload
lxor
lstore 64 /* t18 */
start local 64 // long t18
53: .line 319
lload 64 /* t18 */
aload 5 /* p */
bipush 17
laload
lxor
lstore 66 /* t19 */
start local 66 // long t19
54: .line 321
aload 2 /* zz */
bipush 8
lload 66 /* t19 */
lastore
55: .line 323
lload 64 /* t18 */
lload 46 /* t9 */
lxor
lstore 68 /* t20 */
start local 68 // long t20
56: .line 324
aload 5 /* p */
bipush 15
laload
aload 5 /* p */
bipush 16
laload
lxor
lstore 70 /* t21 */
start local 70 // long t21
57: .line 325
lload 68 /* t20 */
lload 70 /* t21 */
lxor
lstore 72 /* t22 */
start local 72 // long t22
58: .line 327
aload 2 /* zz */
bipush 7
lload 72 /* t22 */
lastore
59: .line 329
lload 72 /* t22 */
lload 34 /* t3 */
lxor
lstore 74 /* t23 */
start local 74 // long t23
60: .line 330
aload 5 /* p */
bipush 19
laload
aload 5 /* p */
bipush 20
laload
lxor
lstore 76 /* t24 */
start local 76 // long t24
61: .line 332
aload 5 /* p */
bipush 25
laload
aload 5 /* p */
bipush 24
laload
lxor
lstore 78 /* t25 */
start local 78 // long t25
62: .line 333
aload 5 /* p */
bipush 18
laload
aload 5 /* p */
bipush 23
laload
lxor
lstore 80 /* t26 */
start local 80 // long t26
63: .line 334
lload 76 /* t24 */
lload 78 /* t25 */
lxor
lstore 82 /* t27 */
start local 82 // long t27
64: .line 335
lload 82 /* t27 */
lload 80 /* t26 */
lxor
lstore 84 /* t28 */
start local 84 // long t28
65: .line 336
lload 84 /* t28 */
lload 74 /* t23 */
lxor
lstore 86 /* t29 */
start local 86 // long t29
66: .line 338
aload 2 /* zz */
iconst_4
lload 86 /* t29 */
lastore
67: .line 340
lload 42 /* t7 */
lload 66 /* t19 */
lxor
lstore 88 /* t30 */
start local 88 // long t30
68: .line 341
lload 82 /* t27 */
lload 88 /* t30 */
lxor
lstore 90 /* t31 */
start local 90 // long t31
69: .line 342
aload 5 /* p */
bipush 21
laload
aload 5 /* p */
bipush 22
laload
lxor
lstore 92 /* t32 */
start local 92 // long t32
70: .line 343
lload 90 /* t31 */
lload 92 /* t32 */
lxor
lstore 94 /* t33 */
start local 94 // long t33
71: .line 345
aload 2 /* zz */
iconst_5
lload 94 /* t33 */
lastore
72: .line 347
lload 50 /* t11 */
aload 5 /* p */
iconst_0
laload
lxor
lstore 96 /* t34 */
start local 96 // long t34
73: .line 348
lload 96 /* t34 */
aload 5 /* p */
bipush 9
laload
lxor
lstore 98 /* t35 */
start local 98 // long t35
74: .line 349
lload 98 /* t35 */
lload 52 /* t12 */
lxor
lstore 100 /* t36 */
start local 100 // long t36
75: .line 350
lload 100 /* t36 */
aload 5 /* p */
bipush 21
laload
lxor
lstore 102 /* t37 */
start local 102 // long t37
76: .line 351
lload 102 /* t37 */
aload 5 /* p */
bipush 23
laload
lxor
lstore 104 /* t38 */
start local 104 // long t38
77: .line 352
lload 104 /* t38 */
aload 5 /* p */
bipush 25
laload
lxor
lstore 106 /* t39 */
start local 106 // long t39
78: .line 354
aload 2 /* zz */
bipush 6
lload 106 /* t39 */
lastore
79: .line 356
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT283Field.implCompactExt:([J)V
80: .line 357
return
end local 106 // long t39
end local 104 // long t38
end local 102 // long t37
end local 100 // long t36
end local 98 // long t35
end local 96 // long t34
end local 94 // long t33
end local 92 // long t32
end local 90 // long t31
end local 88 // long t30
end local 86 // long t29
end local 84 // long t28
end local 82 // long t27
end local 80 // long t26
end local 78 // long t25
end local 76 // long t24
end local 74 // long t23
end local 72 // long t22
end local 70 // long t21
end local 68 // long t20
end local 66 // long t19
end local 64 // long t18
end local 62 // long t17
end local 60 // long t16
end local 58 // long t15
end local 56 // long t14
end local 54 // long t13
end local 52 // long t12
end local 50 // long t11
end local 48 // long t10
end local 46 // long t9
end local 44 // long t8
end local 42 // long t7
end local 40 // long t6
end local 38 // long t5
end local 36 // long t4
end local 34 // long t3
end local 32 // long t2
end local 30 // long t1
end local 28 // long B5
end local 26 // long A5
end local 24 // long B4
end local 22 // long A4
end local 20 // long v3
end local 18 // long u3
end local 16 // long v2
end local 14 // long u2
end local 12 // long v1
end local 10 // long u1
end local 8 // long v0
end local 6 // long u0
end local 5 // long[] p
end local 4 // long[] b
end local 3 // long[] a
end local 2 // long[] zz
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 81 0 x [J
0 81 1 y [J
0 81 2 zz [J
1 81 3 a [J
2 81 4 b [J
5 81 5 p [J
11 81 6 u0 J
12 81 8 v0 J
13 81 10 u1 J
14 81 12 v1 J
15 81 14 u2 J
16 81 16 v2 J
17 81 18 u3 J
18 81 20 v3 J
21 81 22 A4 J
22 81 24 B4 J
23 81 26 A5 J
24 81 28 B5 J
33 81 30 t1 J
34 81 32 t2 J
35 81 34 t3 J
37 81 36 t4 J
38 81 38 t5 J
39 81 40 t6 J
40 81 42 t7 J
42 81 44 t8 J
43 81 46 t9 J
44 81 48 t10 J
45 81 50 t11 J
46 81 52 t12 J
47 81 54 t13 J
48 81 56 t14 J
49 81 58 t15 J
50 81 60 t16 J
52 81 62 t17 J
53 81 64 t18 J
54 81 66 t19 J
56 81 68 t20 J
57 81 70 t21 J
58 81 72 t22 J
60 81 74 t23 J
61 81 76 t24 J
62 81 78 t25 J
63 81 80 t26 J
64 81 82 t27 J
65 81 84 t28 J
66 81 86 t29 J
68 81 88 t30 J
69 81 90 t31 J
70 81 92 t32 J
71 81 94 t33 J
73 81 96 t34 J
74 81 98 t35 J
75 81 100 t36 J
76 81 102 t37 J
77 81 104 t38 J
78 81 106 t39 J
MethodParameters:
Name Flags
x
y
zz
protected static void implMulw(long, long, long[], int);
descriptor: (JJ[JI)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=15, args_size=4
start local 0 // long x
start local 2 // long y
start local 4 // long[] z
start local 5 // int zOff
0: .line 364
bipush 8
newarray 11
astore 6 /* u */
start local 6 // long[] u
1: .line 366
aload 6 /* u */
iconst_1
lload 2 /* y */
lastore
2: .line 367
aload 6 /* u */
iconst_2
aload 6 /* u */
iconst_1
laload
iconst_1
lshl
lastore
3: .line 368
aload 6 /* u */
iconst_3
aload 6 /* u */
iconst_2
laload
lload 2 /* y */
lxor
lastore
4: .line 369
aload 6 /* u */
iconst_4
aload 6 /* u */
iconst_2
laload
iconst_1
lshl
lastore
5: .line 370
aload 6 /* u */
iconst_5
aload 6 /* u */
iconst_4
laload
lload 2 /* y */
lxor
lastore
6: .line 371
aload 6 /* u */
bipush 6
aload 6 /* u */
iconst_3
laload
iconst_1
lshl
lastore
7: .line 372
aload 6 /* u */
bipush 7
aload 6 /* u */
bipush 6
laload
lload 2 /* y */
lxor
lastore
8: .line 374
lload 0 /* x */
l2i
istore 7 /* j */
start local 7 // int j
9: .line 375
lconst_0
lstore 10 /* h */
start local 10 // long h
10: aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
lstore 12 /* l */
start local 12 // long l
11: .line 376
bipush 48
istore 14 /* k */
start local 14 // int k
12: .line 379
StackMap locals: long long long[] int long[] int top top long long int
StackMap stack:
lload 0 /* x */
iload 14 /* k */
lushr
l2i
istore 7 /* j */
13: .line 380
aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
14: .line 381
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
15: .line 380
lxor
16: .line 382
aload 6 /* u */
iload 7 /* j */
bipush 6
iushr
bipush 7
iand
laload
bipush 6
lshl
17: .line 380
lxor
lstore 8 /* g */
start local 8 // long g
18: .line 383
lload 12 /* l */
lload 8 /* g */
iload 14 /* k */
lshl
lxor
lstore 12 /* l */
19: .line 384
lload 10 /* h */
lload 8 /* g */
iload 14 /* k */
ineg
lushr
lxor
lstore 10 /* h */
20: .line 386
iinc 14 /* k */ -9
iload 14 /* k */
21: .line 377
ifgt 12
22: .line 388
lload 10 /* h */
lload 0 /* x */
ldc 72198606942111744
land
lload 2 /* y */
bipush 7
lshl
bipush 63
lshr
land
bipush 8
lushr
lxor
lstore 10 /* h */
23: .line 392
aload 4 /* z */
iload 5 /* zOff */
lload 12 /* l */
ldc 144115188075855871
land
lastore
24: .line 393
aload 4 /* z */
iload 5 /* zOff */
iconst_1
iadd
lload 12 /* l */
bipush 57
lushr
lload 10 /* h */
bipush 7
lshl
lxor
lastore
25: .line 394
return
end local 14 // int k
end local 12 // long l
end local 10 // long h
end local 8 // long g
end local 7 // int j
end local 6 // long[] u
end local 5 // int zOff
end local 4 // long[] z
end local 2 // long y
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 26 0 x J
0 26 2 y J
0 26 4 z [J
0 26 5 zOff I
1 26 6 u [J
9 26 7 j I
18 26 8 g J
10 26 10 h J
11 26 12 l J
12 26 14 k I
MethodParameters:
Name Flags
x
y
z
zOff
protected static void implSquare(long[], long[]);
descriptor: ([J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 398
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 4
2: .line 400
StackMap locals: int
StackMap stack:
aload 0 /* x */
iload 2 /* i */
laload
aload 1 /* zz */
iload 2 /* i */
iconst_1
ishl
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
3: .line 398
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 2 /* i */
iconst_4
if_icmplt 2
end local 2 // int i
5: .line 402
aload 1 /* zz */
bipush 8
aload 0 /* x */
iconst_4
laload
l2i
invokestatic org.bouncycastle.math.raw.Interleave.expand32to64:(I)J
lastore
6: .line 403
return
end local 1 // long[] zz
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 7 0 x [J
0 7 1 zz [J
1 5 2 i I
MethodParameters:
Name Flags
x
zz
}
SourceFile: "SecT283Field.java"