public class org.bouncycastle.math.ec.custom.sec.SecT113Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecT113Field
super_class: java.lang.Object
{
private static final long M49;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 562949953421311
private static final long M57;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 144115188075855871
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.SecT113Field this
0: .line 8
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecT113Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT113Field;
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 15
aload 2 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
aload 1 /* y */
iconst_0
laload
lxor
lastore
1: .line 16
aload 2 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
aload 1 /* y */
iconst_1
laload
lxor
lastore
2: .line 17
return
end local 2 // long[] z
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x [J
0 3 1 y [J
0 3 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 21
aload 2 /* zz */
iconst_0
aload 0 /* xx */
iconst_0
laload
aload 1 /* yy */
iconst_0
laload
lxor
lastore
1: .line 22
aload 2 /* zz */
iconst_1
aload 0 /* xx */
iconst_1
laload
aload 1 /* yy */
iconst_1
laload
lxor
lastore
2: .line 23
aload 2 /* zz */
iconst_2
aload 0 /* xx */
iconst_2
laload
aload 1 /* yy */
iconst_2
laload
lxor
lastore
3: .line 24
aload 2 /* zz */
iconst_3
aload 0 /* xx */
iconst_3
laload
aload 1 /* yy */
iconst_3
laload
lxor
lastore
4: .line 25
return
end local 2 // long[] zz
end local 1 // long[] yy
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [J
0 5 1 yy [J
0 5 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 29
aload 1 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
lconst_1
lxor
lastore
1: .line 30
aload 1 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
lastore
2: .line 31
return
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x [J
0 3 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 35
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat128.fromBigInteger64:(Ljava/math/BigInteger;)[J
astore 1 /* z */
start local 1 // long[] z
1: .line 36
aload 1 /* z */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.reduce15:([JI)V
2: .line 37
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 42
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat128.isZero64:([J)Z
ifeq 2
1: .line 44
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 49
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat128.create64:()[J
astore 2 /* t0 */
start local 2 // long[] t0
3: .line 50
invokestatic org.bouncycastle.math.raw.Nat128.create64:()[J
astore 3 /* t1 */
start local 3 // long[] t1
4: .line 52
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.square:([J[J)V
5: .line 53
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
6: .line 54
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.square:([J[J)V
7: .line 55
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
8: .line 56
aload 2 /* t0 */
iconst_3
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.squareN:([JI[J)V
9: .line 57
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
10: .line 58
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.square:([J[J)V
11: .line 59
aload 3 /* t1 */
aload 0 /* x */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
12: .line 60
aload 3 /* t1 */
bipush 7
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.squareN:([JI[J)V
13: .line 61
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
14: .line 62
aload 2 /* t0 */
bipush 14
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.squareN:([JI[J)V
15: .line 63
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
16: .line 64
aload 3 /* t1 */
bipush 28
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.squareN:([JI[J)V
17: .line 65
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
18: .line 66
aload 2 /* t0 */
bipush 56
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.squareN:([JI[J)V
19: .line 67
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.multiply:([J[J[J)V
20: .line 68
aload 3 /* t1 */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.square:([J[J)V
21: .line 69
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 73
invokestatic org.bouncycastle.math.raw.Nat128.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 74
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implMultiply:([J[J[J)V
2: .line 75
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.reduce:([J[J)V
3: .line 76
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 80
invokestatic org.bouncycastle.math.raw.Nat128.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 81
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implMultiply:([J[J[J)V
2: .line 82
aload 2 /* zz */
aload 3 /* tt */
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.addExt:([J[J[J)V
3: .line 83
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=12, args_size=2
start local 0 // long[] xx
start local 1 // long[] z
0: .line 87
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: .line 89
lload 4 /* x1 */
lload 8 /* x3 */
bipush 15
lshl
lload 8 /* x3 */
bipush 24
lshl
lxor
lxor
lstore 4 /* x1 */
5: .line 90
lload 6 /* x2 */
lload 8 /* x3 */
bipush 49
lushr
lload 8 /* x3 */
bipush 40
lushr
lxor
lxor
lstore 6 /* x2 */
6: .line 92
lload 2 /* x0 */
lload 6 /* x2 */
bipush 15
lshl
lload 6 /* x2 */
bipush 24
lshl
lxor
lxor
lstore 2 /* x0 */
7: .line 93
lload 4 /* x1 */
lload 6 /* x2 */
bipush 49
lushr
lload 6 /* x2 */
bipush 40
lushr
lxor
lxor
lstore 4 /* x1 */
8: .line 95
lload 4 /* x1 */
bipush 49
lushr
lstore 10 /* t */
start local 10 // long t
9: .line 96
aload 1 /* z */
iconst_0
lload 2 /* x0 */
lload 10 /* t */
lxor
lload 10 /* t */
bipush 9
lshl
lxor
lastore
10: .line 97
aload 1 /* z */
iconst_1
lload 4 /* x1 */
ldc 562949953421311
land
lastore
11: .line 98
return
end local 10 // long t
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 12 0 xx [J
0 12 1 z [J
1 12 2 x0 J
2 12 4 x1 J
3 12 6 x2 J
4 12 8 x3 J
9 12 10 t J
MethodParameters:
Name Flags
xx
z
public static void reduce15(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 102
aload 0 /* z */
iload 1 /* zOff */
iconst_1
iadd
laload
lstore 2 /* z1 */
start local 2 // long z1
1: lload 2 /* z1 */
bipush 49
lushr
lstore 4 /* t */
start local 4 // long t
2: .line 103
aload 0 /* z */
iload 1 /* zOff */
dup2
laload
lload 4 /* t */
lload 4 /* t */
bipush 9
lshl
lxor
lxor
lastore
3: .line 104
aload 0 /* z */
iload 1 /* zOff */
iconst_1
iadd
lload 2 /* z1 */
ldc 562949953421311
land
lastore
4: .line 105
return
end local 4 // long t
end local 2 // long z1
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 z1 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=7, locals=10, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 109
aload 0 /* x */
iconst_0
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 2 /* u0 */
start local 2 // long u0
1: aload 0 /* x */
iconst_1
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 4 /* u1 */
start local 4 // long u1
2: .line 110
lload 2 /* u0 */
ldc 4294967295
land
lload 4 /* u1 */
bipush 32
lshl
lor
lstore 6 /* e0 */
start local 6 // long e0
3: .line 111
lload 2 /* u0 */
bipush 32
lushr
lload 4 /* u1 */
ldc -4294967296
land
lor
lstore 8 /* c0 */
start local 8 // long c0
4: .line 113
aload 1 /* z */
iconst_0
lload 6 /* e0 */
lload 8 /* c0 */
bipush 57
lshl
lxor
lload 8 /* c0 */
iconst_5
lshl
lxor
lastore
5: .line 114
aload 1 /* z */
iconst_1
lload 8 /* c0 */
bipush 7
lushr
lload 8 /* c0 */
bipush 59
lushr
lxor
lastore
6: .line 115
return
end local 8 // long c0
end local 6 // long e0
end local 4 // long u1
end local 2 // long u0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 7 0 x [J
0 7 1 z [J
1 7 2 u0 J
2 7 4 u1 J
3 7 6 e0 J
4 7 8 c0 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 119
invokestatic org.bouncycastle.math.raw.Nat128.createExt64:()[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 120
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implSquare:([J[J)V
2: .line 121
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.reduce:([J[J)V
3: .line 122
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 126
invokestatic org.bouncycastle.math.raw.Nat128.createExt64:()[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 127
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implSquare:([J[J)V
2: .line 128
aload 1 /* zz */
aload 2 /* tt */
aload 1 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.addExt:([J[J[J)V
3: .line 129
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 135
invokestatic org.bouncycastle.math.raw.Nat128.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 136
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implSquare:([J[J)V
2: .line 137
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.reduce:([J[J)V
3: .line 139
goto 6
4: .line 141
StackMap locals: long[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implSquare:([J[J)V
5: .line 142
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.reduce:([J[J)V
6: .line 139
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 144
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=2, locals=1, args_size=1
start local 0 // long[] x
0: .line 149
aload 0 /* x */
iconst_0
laload
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 implMultiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=22, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 158
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: .line 159
lload 3 /* f0 */
bipush 57
lushr
lload 5 /* f1 */
bipush 7
lshl
lxor
ldc 144115188075855871
land
lstore 5 /* f1 */
3: .line 160
lload 3 /* f0 */
ldc 144115188075855871
land
lstore 3 /* f0 */
4: .line 162
aload 1 /* y */
iconst_0
laload
lstore 7 /* g0 */
start local 7 // long g0
5: aload 1 /* y */
iconst_1
laload
lstore 9 /* g1 */
start local 9 // long g1
6: .line 163
lload 7 /* g0 */
bipush 57
lushr
lload 9 /* g1 */
bipush 7
lshl
lxor
ldc 144115188075855871
land
lstore 9 /* g1 */
7: .line 164
lload 7 /* g0 */
ldc 144115188075855871
land
lstore 7 /* g0 */
8: .line 166
bipush 6
newarray 11
astore 11 /* H */
start local 11 // long[] H
9: .line 168
lload 3 /* f0 */
lload 7 /* g0 */
aload 11 /* H */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implMulw:(JJ[JI)V
10: .line 169
lload 5 /* f1 */
lload 9 /* g1 */
aload 11 /* H */
iconst_2
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implMulw:(JJ[JI)V
11: .line 170
lload 3 /* f0 */
lload 5 /* f1 */
lxor
lload 7 /* g0 */
lload 9 /* g1 */
lxor
aload 11 /* H */
iconst_4
invokestatic org.bouncycastle.math.ec.custom.sec.SecT113Field.implMulw:(JJ[JI)V
12: .line 172
aload 11 /* H */
iconst_1
laload
aload 11 /* H */
iconst_2
laload
lxor
lstore 12 /* r */
start local 12 // long r
13: .line 173
aload 11 /* H */
iconst_0
laload
lstore 14 /* z0 */
start local 14 // long z0
14: .line 174
aload 11 /* H */
iconst_3
laload
lstore 16 /* z3 */
start local 16 // long z3
15: .line 175
aload 11 /* H */
iconst_4
laload
lload 14 /* z0 */
lxor
lload 12 /* r */
lxor
lstore 18 /* z1 */
start local 18 // long z1
16: .line 176
aload 11 /* H */
iconst_5
laload
lload 16 /* z3 */
lxor
lload 12 /* r */
lxor
lstore 20 /* z2 */
start local 20 // long z2
17: .line 178
aload 2 /* zz */
iconst_0
lload 14 /* z0 */
lload 18 /* z1 */
bipush 57
lshl
lxor
lastore
18: .line 179
aload 2 /* zz */
iconst_1
lload 18 /* z1 */
bipush 7
lushr
lload 20 /* z2 */
bipush 50
lshl
lxor
lastore
19: .line 180
aload 2 /* zz */
iconst_2
lload 20 /* z2 */
bipush 14
lushr
lload 16 /* z3 */
bipush 43
lshl
lxor
lastore
20: .line 181
aload 2 /* zz */
iconst_3
lload 16 /* z3 */
bipush 21
lushr
lastore
21: .line 182
return
end local 20 // long z2
end local 18 // long z1
end local 16 // long z3
end local 14 // long z0
end local 12 // long r
end local 11 // long[] H
end local 9 // long g1
end local 7 // long g0
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 22 0 x [J
0 22 1 y [J
0 22 2 zz [J
1 22 3 f0 J
2 22 5 f1 J
5 22 7 g0 J
6 22 9 g1 J
9 22 11 H [J
13 22 12 r J
14 22 14 z0 J
15 22 16 z3 J
16 22 18 z1 J
17 22 20 z2 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 189
bipush 8
newarray 11
astore 6 /* u */
start local 6 // long[] u
1: .line 191
aload 6 /* u */
iconst_1
lload 2 /* y */
lastore
2: .line 192
aload 6 /* u */
iconst_2
aload 6 /* u */
iconst_1
laload
iconst_1
lshl
lastore
3: .line 193
aload 6 /* u */
iconst_3
aload 6 /* u */
iconst_2
laload
lload 2 /* y */
lxor
lastore
4: .line 194
aload 6 /* u */
iconst_4
aload 6 /* u */
iconst_2
laload
iconst_1
lshl
lastore
5: .line 195
aload 6 /* u */
iconst_5
aload 6 /* u */
iconst_4
laload
lload 2 /* y */
lxor
lastore
6: .line 196
aload 6 /* u */
bipush 6
aload 6 /* u */
iconst_3
laload
iconst_1
lshl
lastore
7: .line 197
aload 6 /* u */
bipush 7
aload 6 /* u */
bipush 6
laload
lload 2 /* y */
lxor
lastore
8: .line 199
lload 0 /* x */
l2i
istore 7 /* j */
start local 7 // int j
9: .line 200
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 201
bipush 48
istore 14 /* k */
start local 14 // int k
12: .line 204
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 205
aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
14: .line 206
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
15: .line 205
lxor
16: .line 207
aload 6 /* u */
iload 7 /* j */
bipush 6
iushr
bipush 7
iand
laload
bipush 6
lshl
17: .line 205
lxor
lstore 8 /* g */
start local 8 // long g
18: .line 208
lload 12 /* l */
lload 8 /* g */
iload 14 /* k */
lshl
lxor
lstore 12 /* l */
19: .line 209
lload 10 /* h */
lload 8 /* g */
iload 14 /* k */
ineg
lushr
lxor
lstore 10 /* h */
20: .line 211
iinc 14 /* k */ -9
iload 14 /* k */
21: .line 202
ifgt 12
22: .line 213
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 217
aload 4 /* z */
iload 5 /* zOff */
lload 12 /* l */
ldc 144115188075855871
land
lastore
24: .line 218
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 219
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=4, locals=2, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 223
aload 0 /* x */
iconst_0
laload
aload 1 /* zz */
iconst_0
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
1: .line 224
aload 0 /* x */
iconst_1
laload
aload 1 /* zz */
iconst_2
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
2: .line 225
return
end local 1 // long[] zz
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x [J
0 3 1 zz [J
MethodParameters:
Name Flags
x
zz
}
SourceFile: "SecT113Field.java"