public class org.bouncycastle.math.ec.custom.sec.SecT131Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecT131Field
super_class: java.lang.Object
{
private static final long M03;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final long M44;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 17592186044415
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_3
newarray 11
dup
iconst_0
ldc 2791191049453778211
lastore
dup
iconst_1
ldc 2791191049453778402
lastore
dup
iconst_2
ldc 6
lastore
putstatic org.bouncycastle.math.ec.custom.sec.SecT131Field.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.SecT131Field this
0: .line 9
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecT131Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT131Field;
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
return
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
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 25
aload 2 /* zz */
iconst_0
aload 0 /* xx */
iconst_0
laload
aload 1 /* yy */
iconst_0
laload
lxor
lastore
1: .line 26
aload 2 /* zz */
iconst_1
aload 0 /* xx */
iconst_1
laload
aload 1 /* yy */
iconst_1
laload
lxor
lastore
2: .line 27
aload 2 /* zz */
iconst_2
aload 0 /* xx */
iconst_2
laload
aload 1 /* yy */
iconst_2
laload
lxor
lastore
3: .line 28
aload 2 /* zz */
iconst_3
aload 0 /* xx */
iconst_3
laload
aload 1 /* yy */
iconst_3
laload
lxor
lastore
4: .line 29
aload 2 /* zz */
iconst_4
aload 0 /* xx */
iconst_4
laload
aload 1 /* yy */
iconst_4
laload
lxor
lastore
5: .line 30
return
end local 2 // long[] zz
end local 1 // long[] yy
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 6 0 xx [J
0 6 1 yy [J
0 6 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 34
aload 1 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
lconst_1
lxor
lastore
1: .line 35
aload 1 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
lastore
2: .line 36
aload 1 /* z */
iconst_2
aload 0 /* x */
iconst_2
laload
lastore
3: .line 37
return
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
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 41
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat192.fromBigInteger64:(Ljava/math/BigInteger;)[J
astore 1 /* z */
start local 1 // long[] z
1: .line 42
aload 1 /* z */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.reduce61:([JI)V
2: .line 43
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 48
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat192.isZero64:([J)Z
ifeq 2
1: .line 50
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 55
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat192.create64:()[J
astore 2 /* t0 */
start local 2 // long[] t0
3: .line 56
invokestatic org.bouncycastle.math.raw.Nat192.create64:()[J
astore 3 /* t1 */
start local 3 // long[] t1
4: .line 58
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.square:([J[J)V
5: .line 59
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
6: .line 60
aload 2 /* t0 */
iconst_2
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
7: .line 61
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
8: .line 62
aload 3 /* t1 */
iconst_4
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
9: .line 63
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
10: .line 64
aload 2 /* t0 */
bipush 8
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
11: .line 65
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
12: .line 66
aload 3 /* t1 */
bipush 16
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
13: .line 67
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
14: .line 68
aload 2 /* t0 */
bipush 32
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
15: .line 69
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
16: .line 70
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.square:([J[J)V
17: .line 71
aload 3 /* t1 */
aload 0 /* x */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
18: .line 72
aload 3 /* t1 */
bipush 65
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.squareN:([JI[J)V
19: .line 73
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
20: .line 74
aload 2 /* t0 */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.square:([J[J)V
21: .line 75
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 22 0 x [J
0 22 1 z [J
3 22 2 t0 [J
4 22 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 79
invokestatic org.bouncycastle.math.raw.Nat192.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 80
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMultiply:([J[J[J)V
2: .line 81
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.reduce:([J[J)V
3: .line 82
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 86
invokestatic org.bouncycastle.math.raw.Nat192.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 87
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMultiply:([J[J[J)V
2: .line 88
aload 2 /* zz */
aload 3 /* tt */
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.addExt:([J[J[J)V
3: .line 89
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=14, args_size=2
start local 0 // long[] xx
start local 1 // long[] z
0: .line 93
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 95
lload 4 /* x1 */
lload 10 /* x4 */
bipush 61
lshl
lload 10 /* x4 */
bipush 63
lshl
lxor
lxor
lstore 4 /* x1 */
6: .line 96
lload 6 /* x2 */
lload 10 /* x4 */
iconst_3
lushr
lload 10 /* x4 */
iconst_1
lushr
lxor
lload 10 /* x4 */
lxor
lload 10 /* x4 */
iconst_5
lshl
lxor
lxor
lstore 6 /* x2 */
7: .line 97
lload 8 /* x3 */
lload 10 /* x4 */
bipush 59
lushr
lxor
lstore 8 /* x3 */
8: .line 99
lload 2 /* x0 */
lload 8 /* x3 */
bipush 61
lshl
lload 8 /* x3 */
bipush 63
lshl
lxor
lxor
lstore 2 /* x0 */
9: .line 100
lload 4 /* x1 */
lload 8 /* x3 */
iconst_3
lushr
lload 8 /* x3 */
iconst_1
lushr
lxor
lload 8 /* x3 */
lxor
lload 8 /* x3 */
iconst_5
lshl
lxor
lxor
lstore 4 /* x1 */
10: .line 101
lload 6 /* x2 */
lload 8 /* x3 */
bipush 59
lushr
lxor
lstore 6 /* x2 */
11: .line 103
lload 6 /* x2 */
iconst_3
lushr
lstore 12 /* t */
start local 12 // long t
12: .line 104
aload 1 /* z */
iconst_0
lload 2 /* x0 */
lload 12 /* t */
lxor
lload 12 /* t */
iconst_2
lshl
lxor
lload 12 /* t */
iconst_3
lshl
lxor
lload 12 /* t */
bipush 8
lshl
lxor
lastore
13: .line 105
aload 1 /* z */
iconst_1
lload 4 /* x1 */
lload 12 /* t */
bipush 56
lushr
lxor
lastore
14: .line 106
aload 1 /* z */
iconst_2
lload 6 /* x2 */
ldc 7
land
lastore
15: .line 107
return
end local 12 // long t
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 16 0 xx [J
0 16 1 z [J
1 16 2 x0 J
2 16 4 x1 J
3 16 6 x2 J
4 16 8 x3 J
5 16 10 x4 J
12 16 12 t J
MethodParameters:
Name Flags
xx
z
public static void reduce61(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 111
aload 0 /* z */
iload 1 /* zOff */
iconst_2
iadd
laload
lstore 2 /* z2 */
start local 2 // long z2
1: lload 2 /* z2 */
iconst_3
lushr
lstore 4 /* t */
start local 4 // long t
2: .line 112
aload 0 /* z */
iload 1 /* zOff */
dup2
laload
lload 4 /* t */
lload 4 /* t */
iconst_2
lshl
lxor
lload 4 /* t */
iconst_3
lshl
lxor
lload 4 /* t */
bipush 8
lshl
lxor
lxor
lastore
3: .line 113
aload 0 /* z */
iload 1 /* zOff */
iconst_1
iadd
dup2
laload
lload 4 /* t */
bipush 56
lushr
lxor
lastore
4: .line 114
aload 0 /* z */
iload 1 /* zOff */
iconst_2
iadd
lload 2 /* z2 */
ldc 7
land
lastore
5: .line 115
return
end local 4 // long t
end local 2 // long z2
end local 1 // int zOff
end local 0 // long[] z
LocalVariableTable:
Start End Slot Name Signature
0 6 0 z [J
0 6 1 zOff I
1 6 2 z2 J
2 6 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=11, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 119
invokestatic org.bouncycastle.math.raw.Nat192.create64:()[J
astore 2 /* odd */
start local 2 // long[] odd
1: .line 122
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 123
lload 3 /* u0 */
ldc 4294967295
land
lload 5 /* u1 */
bipush 32
lshl
lor
lstore 7 /* e0 */
start local 7 // long e0
4: .line 124
aload 2 /* odd */
iconst_0
lload 3 /* u0 */
bipush 32
lushr
lload 5 /* u1 */
ldc -4294967296
land
lor
lastore
5: .line 126
aload 0 /* x */
iconst_2
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 3 /* u0 */
6: .line 127
lload 3 /* u0 */
ldc 4294967295
land
lstore 9 /* e1 */
start local 9 // long e1
7: .line 128
aload 2 /* odd */
iconst_1
lload 3 /* u0 */
bipush 32
lushr
lastore
8: .line 130
aload 2 /* odd */
getstatic org.bouncycastle.math.ec.custom.sec.SecT131Field.ROOT_Z:[J
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.multiply:([J[J[J)V
9: .line 132
aload 1 /* z */
iconst_0
dup2
laload
lload 7 /* e0 */
lxor
lastore
10: .line 133
aload 1 /* z */
iconst_1
dup2
laload
lload 9 /* e1 */
lxor
lastore
11: .line 134
return
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 12 0 x [J
0 12 1 z [J
1 12 2 odd [J
2 12 3 u0 J
3 12 5 u1 J
4 12 7 e0 J
7 12 9 e1 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 138
iconst_5
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 139
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implSquare:([J[J)V
2: .line 140
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.reduce:([J[J)V
3: .line 141
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 145
iconst_5
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 146
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implSquare:([J[J)V
2: .line 147
aload 1 /* zz */
aload 2 /* tt */
aload 1 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.addExt:([J[J[J)V
3: .line 148
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 154
iconst_5
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 155
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implSquare:([J[J)V
2: .line 156
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.reduce:([J[J)V
3: .line 158
goto 6
4: .line 160
StackMap locals: long[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implSquare:([J[J)V
5: .line 161
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.reduce:([J[J)V
6: .line 158
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 163
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 168
aload 0 /* x */
iconst_0
laload
aload 0 /* x */
iconst_1
laload
bipush 59
lushr
lxor
aload 0 /* x */
iconst_2
laload
iconst_1
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=13, args_size=1
start local 0 // long[] zz
0: .line 173
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: aload 0 /* zz */
iconst_5
laload
lstore 11 /* z5 */
start local 11 // long z5
6: .line 174
aload 0 /* zz */
iconst_0
lload 1 /* z0 */
lload 3 /* z1 */
bipush 44
lshl
lxor
lastore
7: .line 175
aload 0 /* zz */
iconst_1
lload 3 /* z1 */
bipush 20
lushr
lload 5 /* z2 */
bipush 24
lshl
lxor
lastore
8: .line 176
aload 0 /* zz */
iconst_2
lload 5 /* z2 */
bipush 40
lushr
lload 7 /* z3 */
iconst_4
lshl
lxor
9: .line 177
lload 9 /* z4 */
bipush 48
lshl
lxor
10: .line 176
lastore
11: .line 178
aload 0 /* zz */
iconst_3
lload 7 /* z3 */
bipush 60
lushr
lload 11 /* z5 */
bipush 28
lshl
lxor
12: .line 179
lload 9 /* z4 */
bipush 16
lushr
lxor
13: .line 178
lastore
14: .line 180
aload 0 /* zz */
iconst_4
lload 11 /* z5 */
bipush 36
lushr
lastore
15: .line 181
aload 0 /* zz */
iconst_5
lconst_0
lastore
16: .line 182
return
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 17 0 zz [J
1 17 1 z0 J
2 17 3 z1 J
3 17 5 z2 J
4 17 7 z3 J
5 17 9 z4 J
6 17 11 z5 J
MethodParameters:
Name Flags
zz
protected static void implMultiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=46, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 190
aload 0 /* x */
iconst_0
laload
lstore 3 /* f0 */
start local 3 // long f0
1: aload 0 /* x */
iconst_1
laload
lstore 5 /* f1 */
start local 5 // long f1
2: aload 0 /* x */
iconst_2
laload
lstore 7 /* f2 */
start local 7 // long f2
3: .line 191
lload 5 /* f1 */
bipush 24
lushr
lload 7 /* f2 */
bipush 40
lshl
lxor
ldc 17592186044415
land
lstore 7 /* f2 */
4: .line 192
lload 3 /* f0 */
bipush 44
lushr
lload 5 /* f1 */
bipush 20
lshl
lxor
ldc 17592186044415
land
lstore 5 /* f1 */
5: .line 193
lload 3 /* f0 */
ldc 17592186044415
land
lstore 3 /* f0 */
6: .line 195
aload 1 /* y */
iconst_0
laload
lstore 9 /* g0 */
start local 9 // long g0
7: aload 1 /* y */
iconst_1
laload
lstore 11 /* g1 */
start local 11 // long g1
8: aload 1 /* y */
iconst_2
laload
lstore 13 /* g2 */
start local 13 // long g2
9: .line 196
lload 11 /* g1 */
bipush 24
lushr
lload 13 /* g2 */
bipush 40
lshl
lxor
ldc 17592186044415
land
lstore 13 /* g2 */
10: .line 197
lload 9 /* g0 */
bipush 44
lushr
lload 11 /* g1 */
bipush 20
lshl
lxor
ldc 17592186044415
land
lstore 11 /* g1 */
11: .line 198
lload 9 /* g0 */
ldc 17592186044415
land
lstore 9 /* g0 */
12: .line 200
bipush 10
newarray 11
astore 15 /* H */
start local 15 // long[] H
13: .line 202
lload 3 /* f0 */
lload 9 /* g0 */
aload 15 /* H */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMulw:(JJ[JI)V
14: .line 203
lload 7 /* f2 */
lload 13 /* g2 */
aload 15 /* H */
iconst_2
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMulw:(JJ[JI)V
15: .line 205
lload 3 /* f0 */
lload 5 /* f1 */
lxor
lload 7 /* f2 */
lxor
lstore 16 /* t0 */
start local 16 // long t0
16: .line 206
lload 9 /* g0 */
lload 11 /* g1 */
lxor
lload 13 /* g2 */
lxor
lstore 18 /* t1 */
start local 18 // long t1
17: .line 208
lload 16 /* t0 */
lload 18 /* t1 */
aload 15 /* H */
iconst_4
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMulw:(JJ[JI)V
18: .line 210
lload 5 /* f1 */
iconst_1
lshl
lload 7 /* f2 */
iconst_2
lshl
lxor
lstore 20 /* t2 */
start local 20 // long t2
19: .line 211
lload 11 /* g1 */
iconst_1
lshl
lload 13 /* g2 */
iconst_2
lshl
lxor
lstore 22 /* t3 */
start local 22 // long t3
20: .line 213
lload 3 /* f0 */
lload 20 /* t2 */
lxor
lload 9 /* g0 */
lload 22 /* t3 */
lxor
aload 15 /* H */
bipush 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMulw:(JJ[JI)V
21: .line 214
lload 16 /* t0 */
lload 20 /* t2 */
lxor
lload 18 /* t1 */
lload 22 /* t3 */
lxor
aload 15 /* H */
bipush 8
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implMulw:(JJ[JI)V
22: .line 216
aload 15 /* H */
bipush 6
laload
aload 15 /* H */
bipush 8
laload
lxor
lstore 24 /* t4 */
start local 24 // long t4
23: .line 217
aload 15 /* H */
bipush 7
laload
aload 15 /* H */
bipush 9
laload
lxor
lstore 26 /* t5 */
start local 26 // long t5
24: .line 222
lload 24 /* t4 */
iconst_1
lshl
aload 15 /* H */
bipush 6
laload
lxor
lstore 28 /* v0 */
start local 28 // long v0
25: .line 223
lload 24 /* t4 */
lload 26 /* t5 */
iconst_1
lshl
lxor
aload 15 /* H */
bipush 7
laload
lxor
lstore 30 /* v1 */
start local 30 // long v1
26: .line 224
lload 26 /* t5 */
lstore 32 /* v2 */
start local 32 // long v2
27: .line 227
aload 15 /* H */
iconst_0
laload
lstore 34 /* u0 */
start local 34 // long u0
28: .line 228
aload 15 /* H */
iconst_1
laload
aload 15 /* H */
iconst_0
laload
lxor
aload 15 /* H */
iconst_4
laload
lxor
lstore 36 /* u1 */
start local 36 // long u1
29: .line 229
aload 15 /* H */
iconst_1
laload
aload 15 /* H */
iconst_5
laload
lxor
lstore 38 /* u2 */
start local 38 // long u2
30: .line 232
lload 34 /* u0 */
lload 28 /* v0 */
lxor
aload 15 /* H */
iconst_2
laload
iconst_4
lshl
lxor
aload 15 /* H */
iconst_2
laload
iconst_1
lshl
lxor
lstore 40 /* w0 */
start local 40 // long w0
31: .line 233
lload 36 /* u1 */
lload 30 /* v1 */
lxor
aload 15 /* H */
iconst_3
laload
iconst_4
lshl
lxor
aload 15 /* H */
iconst_3
laload
iconst_1
lshl
lxor
lstore 42 /* w1 */
start local 42 // long w1
32: .line 234
lload 38 /* u2 */
lload 32 /* v2 */
lxor
lstore 44 /* w2 */
start local 44 // long w2
33: .line 237
lload 42 /* w1 */
lload 40 /* w0 */
bipush 44
lushr
lxor
lstore 42 /* w1 */
lload 40 /* w0 */
ldc 17592186044415
land
lstore 40 /* w0 */
34: .line 238
lload 44 /* w2 */
lload 42 /* w1 */
bipush 44
lushr
lxor
lstore 44 /* w2 */
lload 42 /* w1 */
ldc 17592186044415
land
lstore 42 /* w1 */
35: .line 244
lload 40 /* w0 */
iconst_1
lushr
lload 42 /* w1 */
lconst_1
land
bipush 43
lshl
lxor
lstore 40 /* w0 */
36: .line 245
lload 42 /* w1 */
iconst_1
lushr
lload 44 /* w2 */
lconst_1
land
bipush 43
lshl
lxor
lstore 42 /* w1 */
37: .line 246
lload 44 /* w2 */
iconst_1
lushr
lstore 44 /* w2 */
38: .line 250
lload 40 /* w0 */
lload 40 /* w0 */
iconst_1
lshl
lxor
lstore 40 /* w0 */
39: .line 251
lload 40 /* w0 */
lload 40 /* w0 */
iconst_2
lshl
lxor
lstore 40 /* w0 */
40: .line 252
lload 40 /* w0 */
lload 40 /* w0 */
iconst_4
lshl
lxor
lstore 40 /* w0 */
41: .line 253
lload 40 /* w0 */
lload 40 /* w0 */
bipush 8
lshl
lxor
lstore 40 /* w0 */
42: .line 254
lload 40 /* w0 */
lload 40 /* w0 */
bipush 16
lshl
lxor
lstore 40 /* w0 */
43: .line 255
lload 40 /* w0 */
lload 40 /* w0 */
bipush 32
lshl
lxor
lstore 40 /* w0 */
44: .line 257
lload 40 /* w0 */
ldc 17592186044415
land
lstore 40 /* w0 */
lload 42 /* w1 */
lload 40 /* w0 */
bipush 43
lushr
lxor
lstore 42 /* w1 */
45: .line 259
lload 42 /* w1 */
lload 42 /* w1 */
iconst_1
lshl
lxor
lstore 42 /* w1 */
46: .line 260
lload 42 /* w1 */
lload 42 /* w1 */
iconst_2
lshl
lxor
lstore 42 /* w1 */
47: .line 261
lload 42 /* w1 */
lload 42 /* w1 */
iconst_4
lshl
lxor
lstore 42 /* w1 */
48: .line 262
lload 42 /* w1 */
lload 42 /* w1 */
bipush 8
lshl
lxor
lstore 42 /* w1 */
49: .line 263
lload 42 /* w1 */
lload 42 /* w1 */
bipush 16
lshl
lxor
lstore 42 /* w1 */
50: .line 264
lload 42 /* w1 */
lload 42 /* w1 */
bipush 32
lshl
lxor
lstore 42 /* w1 */
51: .line 266
lload 42 /* w1 */
ldc 17592186044415
land
lstore 42 /* w1 */
lload 44 /* w2 */
lload 42 /* w1 */
bipush 43
lushr
lxor
lstore 44 /* w2 */
52: .line 268
lload 44 /* w2 */
lload 44 /* w2 */
iconst_1
lshl
lxor
lstore 44 /* w2 */
53: .line 269
lload 44 /* w2 */
lload 44 /* w2 */
iconst_2
lshl
lxor
lstore 44 /* w2 */
54: .line 270
lload 44 /* w2 */
lload 44 /* w2 */
iconst_4
lshl
lxor
lstore 44 /* w2 */
55: .line 271
lload 44 /* w2 */
lload 44 /* w2 */
bipush 8
lshl
lxor
lstore 44 /* w2 */
56: .line 272
lload 44 /* w2 */
lload 44 /* w2 */
bipush 16
lshl
lxor
lstore 44 /* w2 */
57: .line 273
lload 44 /* w2 */
lload 44 /* w2 */
bipush 32
lshl
lxor
lstore 44 /* w2 */
58: .line 277
aload 2 /* zz */
iconst_0
lload 34 /* u0 */
lastore
59: .line 278
aload 2 /* zz */
iconst_1
lload 36 /* u1 */
lload 40 /* w0 */
lxor
aload 15 /* H */
iconst_2
laload
lxor
lastore
60: .line 279
aload 2 /* zz */
iconst_2
lload 38 /* u2 */
lload 42 /* w1 */
lxor
lload 40 /* w0 */
lxor
aload 15 /* H */
iconst_3
laload
lxor
lastore
61: .line 280
aload 2 /* zz */
iconst_3
lload 44 /* w2 */
lload 42 /* w1 */
lxor
lastore
62: .line 281
aload 2 /* zz */
iconst_4
lload 44 /* w2 */
aload 15 /* H */
iconst_2
laload
lxor
lastore
63: .line 282
aload 2 /* zz */
iconst_5
aload 15 /* H */
iconst_3
laload
lastore
64: .line 284
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT131Field.implCompactExt:([J)V
65: .line 285
return
end local 44 // long w2
end local 42 // long w1
end local 40 // long w0
end local 38 // long u2
end local 36 // long u1
end local 34 // long u0
end local 32 // long v2
end local 30 // long v1
end local 28 // long v0
end local 26 // long t5
end local 24 // long t4
end local 22 // long t3
end local 20 // long t2
end local 18 // long t1
end local 16 // long t0
end local 15 // long[] H
end local 13 // long g2
end local 11 // long g1
end local 9 // long g0
end local 7 // long f2
end local 5 // long f1
end local 3 // long f0
end local 2 // long[] zz
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 66 0 x [J
0 66 1 y [J
0 66 2 zz [J
1 66 3 f0 J
2 66 5 f1 J
3 66 7 f2 J
7 66 9 g0 J
8 66 11 g1 J
9 66 13 g2 J
13 66 15 H [J
16 66 16 t0 J
17 66 18 t1 J
19 66 20 t2 J
20 66 22 t3 J
23 66 24 t4 J
24 66 26 t5 J
25 66 28 v0 J
26 66 30 v1 J
27 66 32 v2 J
28 66 34 u0 J
29 66 36 u1 J
30 66 38 u2 J
31 66 40 w0 J
32 66 42 w1 J
33 66 44 w2 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 292
bipush 8
newarray 11
astore 6 /* u */
start local 6 // long[] u
1: .line 294
aload 6 /* u */
iconst_1
lload 2 /* y */
lastore
2: .line 295
aload 6 /* u */
iconst_2
aload 6 /* u */
iconst_1
laload
iconst_1
lshl
lastore
3: .line 296
aload 6 /* u */
iconst_3
aload 6 /* u */
iconst_2
laload
lload 2 /* y */
lxor
lastore
4: .line 297
aload 6 /* u */
iconst_4
aload 6 /* u */
iconst_2
laload
iconst_1
lshl
lastore
5: .line 298
aload 6 /* u */
iconst_5
aload 6 /* u */
iconst_4
laload
lload 2 /* y */
lxor
lastore
6: .line 299
aload 6 /* u */
bipush 6
aload 6 /* u */
iconst_3
laload
iconst_1
lshl
lastore
7: .line 300
aload 6 /* u */
bipush 7
aload 6 /* u */
bipush 6
laload
lload 2 /* y */
lxor
lastore
8: .line 302
lload 0 /* x */
l2i
istore 7 /* j */
start local 7 // int j
9: .line 303
lconst_0
lstore 10 /* h */
start local 10 // long h
10: aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
11: .line 304
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
lxor
12: .line 305
aload 6 /* u */
iload 7 /* j */
bipush 6
iushr
bipush 7
iand
laload
bipush 6
lshl
lxor
lstore 12 /* l */
start local 12 // long l
13: .line 306
bipush 33
istore 14 /* k */
start local 14 // int k
14: .line 309
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 */
15: .line 310
aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
16: .line 311
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
17: .line 310
lxor
18: .line 312
aload 6 /* u */
iload 7 /* j */
bipush 6
iushr
bipush 7
iand
laload
bipush 6
lshl
19: .line 310
lxor
20: .line 313
aload 6 /* u */
iload 7 /* j */
bipush 9
iushr
bipush 7
iand
laload
bipush 9
lshl
21: .line 310
lxor
lstore 8 /* g */
start local 8 // long g
22: .line 314
lload 12 /* l */
lload 8 /* g */
iload 14 /* k */
lshl
lxor
lstore 12 /* l */
23: .line 315
lload 10 /* h */
lload 8 /* g */
iload 14 /* k */
ineg
lushr
lxor
lstore 10 /* h */
24: .line 317
iinc 14 /* k */ -12
iload 14 /* k */
25: .line 307
ifgt 14
26: .line 321
aload 4 /* z */
iload 5 /* zOff */
lload 12 /* l */
ldc 17592186044415
land
lastore
27: .line 322
aload 4 /* z */
iload 5 /* zOff */
iconst_1
iadd
lload 12 /* l */
bipush 44
lushr
lload 10 /* h */
bipush 20
lshl
lxor
lastore
28: .line 323
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 29 0 x J
0 29 2 y J
0 29 4 z [J
0 29 5 zOff I
1 29 6 u [J
9 29 7 j I
22 29 8 g J
10 29 10 h J
13 29 12 l J
14 29 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=6, locals=2, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 327
aload 0 /* x */
iconst_0
laload
aload 1 /* zz */
iconst_0
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
1: .line 328
aload 0 /* x */
iconst_1
laload
aload 1 /* zz */
iconst_2
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
2: .line 330
aload 1 /* zz */
iconst_4
aload 0 /* x */
iconst_2
laload
l2i
invokestatic org.bouncycastle.math.raw.Interleave.expand8to16:(I)I
i2l
ldc 4294967295
land
lastore
3: .line 331
return
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
MethodParameters:
Name Flags
x
zz
}
SourceFile: "SecT131Field.java"