final class com.google.crypto.tink.subtle.Ed25519
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.crypto.tink.subtle.Ed25519
super_class: java.lang.Object
{
public static final int SECRET_KEY_LEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int PUBLIC_KEY_LEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int SIGNATURE_LEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final com.google.crypto.tink.subtle.Ed25519$CachedXYT CACHED_NEUTRAL;
descriptor: Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.google.crypto.tink.subtle.Ed25519$PartialXYZT NEUTRAL;
descriptor: Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final byte[] GROUP_ORDER;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=11, locals=0, args_size=0
0: .line 52
new com.google.crypto.tink.subtle.Ed25519$CachedXYT
dup
1: .line 53
bipush 10
newarray 11
dup
iconst_0
lconst_1
lastore
2: .line 54
bipush 10
newarray 11
dup
iconst_0
lconst_1
lastore
3: .line 55
bipush 10
newarray 11
4: .line 52
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYT.<init>:([J[J[J)V
putstatic com.google.crypto.tink.subtle.Ed25519.CACHED_NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
5: .line 56
new com.google.crypto.tink.subtle.Ed25519$PartialXYZT
dup
6: .line 57
new com.google.crypto.tink.subtle.Ed25519$XYZ
dup
bipush 10
newarray 11
7: .line 58
bipush 10
newarray 11
dup
iconst_0
lconst_1
lastore
8: .line 59
bipush 10
newarray 11
dup
iconst_0
lconst_1
lastore
9: .line 57
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZ.<init>:([J[J[J)V
10: .line 60
bipush 10
newarray 11
dup
iconst_0
lconst_1
lastore
11: .line 56
invokespecial com.google.crypto.tink.subtle.Ed25519$PartialXYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$XYZ;[J)V
putstatic com.google.crypto.tink.subtle.Ed25519.NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
12: .line 1557
bipush 32
newarray 8
dup
iconst_0
13: .line 1558
bipush -19
bastore
dup
iconst_1
bipush -45
bastore
dup
iconst_2
bipush -11
bastore
dup
iconst_3
bipush 92
bastore
dup
iconst_4
14: .line 1559
bipush 26
bastore
dup
iconst_5
bipush 99
bastore
dup
bipush 6
bipush 18
bastore
dup
bipush 7
bipush 88
bastore
dup
bipush 8
15: .line 1560
bipush -42
bastore
dup
bipush 9
bipush -100
bastore
dup
bipush 10
bipush -9
bastore
dup
bipush 11
bipush -94
bastore
dup
bipush 12
16: .line 1561
bipush -34
bastore
dup
bipush 13
bipush -7
bastore
dup
bipush 14
bipush -34
bastore
dup
bipush 15
bipush 20
bastore
dup
bipush 31
17: .line 1565
bipush 16
bastore
18: .line 1557
putstatic com.google.crypto.tink.subtle.Ed25519.GROUP_ORDER:[B
19: .line 1565
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.crypto.tink.subtle.Ed25519 this
0: .line 45
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.google.crypto.tink.subtle.Ed25519 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/subtle/Ed25519;
private static void add(com.google.crypto.tink.subtle.Ed25519$PartialXYZT, com.google.crypto.tink.subtle.Ed25519$XYZT, com.google.crypto.tink.subtle.Ed25519$CachedXYT);
descriptor: (Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
start local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT extended
start local 2 // com.google.crypto.tink.subtle.Ed25519$CachedXYT cached
0: .line 385
bipush 10
newarray 11
astore 3 /* t */
start local 3 // long[] t
1: .line 388
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
2: .line 391
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
3: .line 394
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yMinusX:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
4: .line 397
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yPlusX:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
5: .line 400
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.t:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.t2d:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
6: .line 403
aload 2 /* cached */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.multByZ:([J[J)V
7: .line 406
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
8: .line 409
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
9: .line 412
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
10: .line 415
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
11: .line 418
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
12: .line 419
return
end local 3 // long[] t
end local 2 // com.google.crypto.tink.subtle.Ed25519$CachedXYT cached
end local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT extended
end local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
LocalVariableTable:
Start End Slot Name Signature
0 13 0 partialXYZT Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
0 13 1 extended Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
0 13 2 cached Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
1 13 3 t [J
MethodParameters:
Name Flags
partialXYZT
extended
cached
private static void sub(com.google.crypto.tink.subtle.Ed25519$PartialXYZT, com.google.crypto.tink.subtle.Ed25519$XYZT, com.google.crypto.tink.subtle.Ed25519$CachedXYT);
descriptor: (Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
start local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT extended
start local 2 // com.google.crypto.tink.subtle.Ed25519$CachedXYT cached
0: .line 432
bipush 10
newarray 11
astore 3 /* t */
start local 3 // long[] t
1: .line 435
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
2: .line 438
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
3: .line 441
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yPlusX:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
4: .line 444
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yMinusX:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
5: .line 447
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.t:[J
aload 2 /* cached */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.t2d:[J
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
6: .line 450
aload 2 /* cached */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* extended */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.multByZ:([J[J)V
7: .line 453
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
8: .line 456
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
9: .line 459
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
10: .line 462
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
11: .line 465
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 3 /* t */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
12: .line 466
return
end local 3 // long[] t
end local 2 // com.google.crypto.tink.subtle.Ed25519$CachedXYT cached
end local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT extended
end local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
LocalVariableTable:
Start End Slot Name Signature
0 13 0 partialXYZT Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
0 13 1 extended Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
0 13 2 cached Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
1 13 3 t [J
MethodParameters:
Name Flags
partialXYZT
extended
cached
private static void doubleXYZ(com.google.crypto.tink.subtle.Ed25519$PartialXYZT, com.google.crypto.tink.subtle.Ed25519$XYZ);
descriptor: (Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
start local 1 // com.google.crypto.tink.subtle.Ed25519$XYZ p
0: .line 479
bipush 10
newarray 11
astore 2 /* t0 */
start local 2 // long[] t0
1: .line 482
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
2: .line 485
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
3: .line 488
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
4: .line 491
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
5: .line 494
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
6: .line 497
aload 2 /* t0 */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
7: .line 500
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sum:([J[J[J)V
8: .line 503
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
9: .line 506
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.x:[J
aload 2 /* t0 */
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.y:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
10: .line 509
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.t:[J
aload 0 /* partialXYZT */
getfield com.google.crypto.tink.subtle.Ed25519$PartialXYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
getfield com.google.crypto.tink.subtle.Ed25519$XYZ.z:[J
invokestatic com.google.crypto.tink.subtle.Field25519.sub:([J[J[J)V
11: .line 510
return
end local 2 // long[] t0
end local 1 // com.google.crypto.tink.subtle.Ed25519$XYZ p
end local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
LocalVariableTable:
Start End Slot Name Signature
0 12 0 partialXYZT Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
0 12 1 p Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
1 12 2 t0 [J
MethodParameters:
Name Flags
partialXYZT
p
private static void doubleXYZT(com.google.crypto.tink.subtle.Ed25519$PartialXYZT, com.google.crypto.tink.subtle.Ed25519$XYZT);
descriptor: (Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
start local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT p
0: .line 516
aload 0 /* partialXYZT */
aload 1 /* p */
getfield com.google.crypto.tink.subtle.Ed25519$XYZT.xyz:Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
1: .line 517
return
end local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT p
end local 0 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT partialXYZT
LocalVariableTable:
Start End Slot Name Signature
0 2 0 partialXYZT Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
0 2 1 p Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
MethodParameters:
Name Flags
partialXYZT
p
private static int eq(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // int a
start local 1 // int b
0: .line 526
iload 0 /* a */
iload 1 /* b */
ixor
iconst_m1
ixor
sipush 255
iand
istore 2 /* r */
start local 2 // int r
1: .line 527
iload 2 /* r */
iload 2 /* r */
iconst_4
ishl
iand
istore 2 /* r */
2: .line 528
iload 2 /* r */
iload 2 /* r */
iconst_2
ishl
iand
istore 2 /* r */
3: .line 529
iload 2 /* r */
iload 2 /* r */
iconst_1
ishl
iand
istore 2 /* r */
4: .line 530
iload 2 /* r */
bipush 7
ishr
iconst_1
iand
ireturn
end local 2 // int r
end local 1 // int b
end local 0 // int a
LocalVariableTable:
Start End Slot Name Signature
0 5 0 a I
0 5 1 b I
1 5 2 r I
MethodParameters:
Name Flags
a
b
private static void select(com.google.crypto.tink.subtle.Ed25519$CachedXYT, int, byte);
descriptor: (Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;IB)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
start local 1 // int pos
start local 2 // byte b
0: .line 547
iload 2 /* b */
sipush 255
iand
bipush 7
ishr
istore 3 /* bnegative */
start local 3 // int bnegative
1: .line 548
iload 2 /* b */
iload 3 /* bnegative */
ineg
iload 2 /* b */
iand
iconst_1
ishl
isub
istore 4 /* babs */
start local 4 // int babs
2: .line 550
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_0
aaload
iload 4 /* babs */
iconst_1
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
3: .line 551
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_1
aaload
iload 4 /* babs */
iconst_2
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
4: .line 552
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_2
aaload
iload 4 /* babs */
iconst_3
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
5: .line 553
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_3
aaload
iload 4 /* babs */
iconst_4
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
6: .line 554
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_4
aaload
iload 4 /* babs */
iconst_5
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
7: .line 555
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
iconst_5
aaload
iload 4 /* babs */
bipush 6
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
8: .line 556
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
bipush 6
aaload
iload 4 /* babs */
bipush 7
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
9: .line 557
aload 0 /* t */
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B_TABLE:[[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
iload 1 /* pos */
aaload
bipush 7
aaload
iload 4 /* babs */
bipush 8
invokestatic com.google.crypto.tink.subtle.Ed25519.eq:(II)I
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
10: .line 559
aload 0 /* t */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yMinusX:[J
bipush 10
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 5 /* yPlusX */
start local 5 // long[] yPlusX
11: .line 560
aload 0 /* t */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.yPlusX:[J
bipush 10
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 6 /* yMinusX */
start local 6 // long[] yMinusX
12: .line 561
aload 0 /* t */
getfield com.google.crypto.tink.subtle.Ed25519$CachedXYT.t2d:[J
bipush 10
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 7 /* t2d */
start local 7 // long[] t2d
13: .line 562
aload 7 /* t2d */
aload 7 /* t2d */
invokestatic com.google.crypto.tink.subtle.Ed25519.neg:([J[J)V
14: .line 563
new com.google.crypto.tink.subtle.Ed25519$CachedXYT
dup
aload 5 /* yPlusX */
aload 6 /* yMinusX */
aload 7 /* t2d */
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYT.<init>:([J[J[J)V
astore 8 /* minust */
start local 8 // com.google.crypto.tink.subtle.Ed25519$CachedXYT minust
15: .line 564
aload 0 /* t */
aload 8 /* minust */
iload 3 /* bnegative */
invokevirtual com.google.crypto.tink.subtle.Ed25519$CachedXYT.copyConditional:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;I)V
16: .line 565
return
end local 8 // com.google.crypto.tink.subtle.Ed25519$CachedXYT minust
end local 7 // long[] t2d
end local 6 // long[] yMinusX
end local 5 // long[] yPlusX
end local 4 // int babs
end local 3 // int bnegative
end local 2 // byte b
end local 1 // int pos
end local 0 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
LocalVariableTable:
Start End Slot Name Signature
0 17 0 t Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
0 17 1 pos I
0 17 2 b B
1 17 3 bnegative I
2 17 4 babs I
11 17 5 yPlusX [J
12 17 6 yMinusX [J
13 17 7 t2d [J
15 17 8 minust Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
MethodParameters:
Name Flags
t
pos
b
private static com.google.crypto.tink.subtle.Ed25519$XYZ scalarMultWithBase(byte[]);
descriptor: ([B)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 // byte[] a
0: .line 578
bipush 64
newarray 8
astore 1 /* e */
start local 1 // byte[] e
1: .line 579
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 6
3: .line 580
StackMap locals: byte[] int
StackMap stack:
aload 1 /* e */
iconst_2
iload 2 /* i */
imul
iconst_0
iadd
aload 0 /* a */
iload 2 /* i */
baload
sipush 255
iand
iconst_0
ishr
bipush 15
iand
i2b
bastore
4: .line 581
aload 1 /* e */
iconst_2
iload 2 /* i */
imul
iconst_1
iadd
aload 0 /* a */
iload 2 /* i */
baload
sipush 255
iand
iconst_4
ishr
bipush 15
iand
i2b
bastore
5: .line 579
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 2 /* i */
bipush 32
if_icmplt 3
end local 2 // int i
7: .line 589
iconst_0
istore 2 /* carry */
start local 2 // int carry
8: .line 590
iconst_0
istore 3 /* i */
start local 3 // int i
9: goto 15
10: .line 591
StackMap locals: int
StackMap stack:
aload 1 /* e */
iload 3 /* i */
dup2
baload
iload 2 /* carry */
iadd
i2b
bastore
11: .line 592
aload 1 /* e */
iload 3 /* i */
baload
bipush 8
iadd
istore 2 /* carry */
12: .line 593
iload 2 /* carry */
iconst_4
ishr
istore 2 /* carry */
13: .line 594
aload 1 /* e */
iload 3 /* i */
dup2
baload
iload 2 /* carry */
iconst_4
ishl
isub
i2b
bastore
14: .line 590
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
aload 1 /* e */
arraylength
iconst_1
isub
if_icmplt 10
end local 3 // int i
16: .line 596
aload 1 /* e */
aload 1 /* e */
arraylength
iconst_1
isub
dup2
baload
iload 2 /* carry */
iadd
i2b
bastore
17: .line 598
new com.google.crypto.tink.subtle.Ed25519$PartialXYZT
dup
getstatic com.google.crypto.tink.subtle.Ed25519.NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
invokespecial com.google.crypto.tink.subtle.Ed25519$PartialXYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
astore 3 /* ret */
start local 3 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT ret
18: .line 599
new com.google.crypto.tink.subtle.Ed25519$XYZT
dup
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZT.<init>:()V
astore 4 /* xyzt */
start local 4 // com.google.crypto.tink.subtle.Ed25519$XYZT xyzt
19: .line 604
iconst_1
istore 5 /* i */
start local 5 // int i
20: goto 25
21: .line 605
StackMap locals: byte[] byte[] int com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZT int
StackMap stack:
new com.google.crypto.tink.subtle.Ed25519$CachedXYT
dup
getstatic com.google.crypto.tink.subtle.Ed25519.CACHED_NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
astore 6 /* t */
start local 6 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
22: .line 606
aload 6 /* t */
iload 5 /* i */
iconst_2
idiv
aload 1 /* e */
iload 5 /* i */
baload
invokestatic com.google.crypto.tink.subtle.Ed25519.select:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;IB)V
23: .line 607
aload 3 /* ret */
aload 4 /* xyzt */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
aload 6 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519.add:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
end local 6 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
24: .line 604
iinc 5 /* i */ 2
StackMap locals:
StackMap stack:
25: iload 5 /* i */
aload 1 /* e */
arraylength
if_icmplt 21
end local 5 // int i
26: .line 612
new com.google.crypto.tink.subtle.Ed25519$XYZ
dup
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZ.<init>:()V
astore 5 /* xyz */
start local 5 // com.google.crypto.tink.subtle.Ed25519$XYZ xyz
27: .line 613
aload 3 /* ret */
aload 5 /* xyz */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZ.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZ;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
28: .line 614
aload 3 /* ret */
aload 5 /* xyz */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZ.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZ;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
29: .line 615
aload 3 /* ret */
aload 5 /* xyz */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZ.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZ;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
30: .line 616
aload 3 /* ret */
aload 5 /* xyz */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZ.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZ;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
31: .line 619
iconst_0
istore 6 /* i */
start local 6 // int i
32: goto 37
33: .line 620
StackMap locals: byte[] byte[] int com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZT com.google.crypto.tink.subtle.Ed25519$XYZ int
StackMap stack:
new com.google.crypto.tink.subtle.Ed25519$CachedXYT
dup
getstatic com.google.crypto.tink.subtle.Ed25519.CACHED_NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
astore 7 /* t */
start local 7 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
34: .line 621
aload 7 /* t */
iload 6 /* i */
iconst_2
idiv
aload 1 /* e */
iload 6 /* i */
baload
invokestatic com.google.crypto.tink.subtle.Ed25519.select:(Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;IB)V
35: .line 622
aload 3 /* ret */
aload 4 /* xyzt */
aload 3 /* ret */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
aload 7 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519.add:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
end local 7 // com.google.crypto.tink.subtle.Ed25519$CachedXYT t
36: .line 619
iinc 6 /* i */ 2
StackMap locals:
StackMap stack:
37: iload 6 /* i */
aload 1 /* e */
arraylength
if_icmplt 33
end local 6 // int i
38: .line 627
new com.google.crypto.tink.subtle.Ed25519$XYZ
dup
aload 3 /* ret */
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZ.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
astore 6 /* result */
start local 6 // com.google.crypto.tink.subtle.Ed25519$XYZ result
39: .line 628
aload 6 /* result */
invokevirtual com.google.crypto.tink.subtle.Ed25519$XYZ.isOnCurve:()Z
ifne 41
40: .line 629
new java.lang.IllegalStateException
dup
ldc "arithmetic error in scalar multiplication"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
41: .line 631
StackMap locals: byte[] byte[] int com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZT com.google.crypto.tink.subtle.Ed25519$XYZ com.google.crypto.tink.subtle.Ed25519$XYZ
StackMap stack:
aload 6 /* result */
areturn
end local 6 // com.google.crypto.tink.subtle.Ed25519$XYZ result
end local 5 // com.google.crypto.tink.subtle.Ed25519$XYZ xyz
end local 4 // com.google.crypto.tink.subtle.Ed25519$XYZT xyzt
end local 3 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT ret
end local 2 // int carry
end local 1 // byte[] e
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 42 0 a [B
1 42 1 e [B
2 7 2 i I
8 42 2 carry I
9 16 3 i I
18 42 3 ret Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
19 42 4 xyzt Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
20 26 5 i I
22 24 6 t Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
27 42 5 xyz Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
32 38 6 i I
34 36 7 t Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
39 42 6 result Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
MethodParameters:
Name Flags
a
static byte[] scalarMultWithBaseToBytes(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // byte[] a
0: .line 643
aload 0 /* a */
invokestatic com.google.crypto.tink.subtle.Ed25519.scalarMultWithBase:([B)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokevirtual com.google.crypto.tink.subtle.Ed25519$XYZ.toBytes:()[B
areturn
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [B
MethodParameters:
Name Flags
a
private static byte[] slide(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 // byte[] a
0: .line 648
sipush 256
newarray 8
astore 1 /* r */
start local 1 // byte[] r
1: .line 652
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 5
3: .line 653
StackMap locals: byte[] int
StackMap stack:
aload 1 /* r */
iload 2 /* i */
iconst_1
aload 0 /* a */
iload 2 /* i */
iconst_3
ishr
baload
sipush 255
iand
iload 2 /* i */
bipush 7
iand
ishr
iand
i2b
bastore
4: .line 652
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 2 /* i */
sipush 256
if_icmplt 3
end local 2 // int i
6: .line 657
iconst_0
istore 2 /* i */
start local 2 // int i
7: goto 29
8: .line 658
StackMap locals:
StackMap stack:
aload 1 /* r */
iload 2 /* i */
baload
ifeq 28
9: .line 659
iconst_1
istore 3 /* b */
start local 3 // int b
10: goto 27
11: .line 660
StackMap locals: int
StackMap stack:
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
baload
ifeq 26
12: .line 661
aload 1 /* r */
iload 2 /* i */
baload
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
baload
iload 3 /* b */
ishl
iadd
bipush 15
if_icmpgt 16
13: .line 662
aload 1 /* r */
iload 2 /* i */
dup2
baload
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
baload
iload 3 /* b */
ishl
iadd
i2b
bastore
14: .line 663
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
iconst_0
bastore
15: .line 664
goto 26
StackMap locals:
StackMap stack:
16: aload 1 /* r */
iload 2 /* i */
baload
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
baload
iload 3 /* b */
ishl
isub
bipush -15
if_icmplt 28
17: .line 665
aload 1 /* r */
iload 2 /* i */
dup2
baload
aload 1 /* r */
iload 2 /* i */
iload 3 /* b */
iadd
baload
iload 3 /* b */
ishl
isub
i2b
bastore
18: .line 666
iload 2 /* i */
iload 3 /* b */
iadd
istore 4 /* k */
start local 4 // int k
19: goto 25
20: .line 667
StackMap locals: int
StackMap stack:
aload 1 /* r */
iload 4 /* k */
baload
ifne 23
21: .line 668
aload 1 /* r */
iload 4 /* k */
iconst_1
bastore
22: .line 669
goto 26
23: .line 671
StackMap locals:
StackMap stack:
aload 1 /* r */
iload 4 /* k */
iconst_0
bastore
24: .line 666
iinc 4 /* k */ 1
StackMap locals:
StackMap stack:
25: iload 4 /* k */
sipush 256
if_icmplt 20
end local 4 // int k
26: .line 659
StackMap locals:
StackMap stack:
iinc 3 /* b */ 1
StackMap locals:
StackMap stack:
27: iload 3 /* b */
bipush 6
if_icmpgt 28
iload 2 /* i */
iload 3 /* b */
iadd
sipush 256
if_icmplt 11
end local 3 // int b
28: .line 657
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
29: iload 2 /* i */
sipush 256
if_icmplt 8
end local 2 // int i
30: .line 680
aload 1 /* r */
areturn
end local 1 // byte[] r
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 31 0 a [B
1 31 1 r [B
2 6 2 i I
7 30 2 i I
10 28 3 b I
19 26 4 k I
MethodParameters:
Name Flags
a
private static com.google.crypto.tink.subtle.Ed25519$XYZ doubleScalarMultVarTime(byte[], com.google.crypto.tink.subtle.Ed25519$XYZT, byte[]);
descriptor: ([BLcom/google/crypto/tink/subtle/Ed25519$XYZT;[B)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=3
start local 0 // byte[] a
start local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT pointA
start local 2 // byte[] b
0: .line 694
bipush 8
anewarray com.google.crypto.tink.subtle.Ed25519$CachedXYZT
astore 3 /* pointAArray */
start local 3 // com.google.crypto.tink.subtle.Ed25519$CachedXYZT[] pointAArray
1: .line 695
aload 3 /* pointAArray */
iconst_0
new com.google.crypto.tink.subtle.Ed25519$CachedXYZT
dup
aload 1 /* pointA */
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;)V
aastore
2: .line 696
new com.google.crypto.tink.subtle.Ed25519$PartialXYZT
dup
invokespecial com.google.crypto.tink.subtle.Ed25519$PartialXYZT.<init>:()V
astore 4 /* t */
start local 4 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT t
3: .line 697
aload 4 /* t */
aload 1 /* pointA */
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;)V
4: .line 698
new com.google.crypto.tink.subtle.Ed25519$XYZT
dup
aload 4 /* t */
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
astore 5 /* doubleA */
start local 5 // com.google.crypto.tink.subtle.Ed25519$XYZT doubleA
5: .line 699
iconst_1
istore 6 /* i */
start local 6 // int i
6: goto 10
7: .line 700
StackMap locals: byte[] com.google.crypto.tink.subtle.Ed25519$XYZT byte[] com.google.crypto.tink.subtle.Ed25519$CachedXYZT[] com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZT int
StackMap stack:
aload 4 /* t */
aload 5 /* doubleA */
aload 3 /* pointAArray */
iload 6 /* i */
iconst_1
isub
aaload
invokestatic com.google.crypto.tink.subtle.Ed25519.add:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
8: .line 701
aload 3 /* pointAArray */
iload 6 /* i */
new com.google.crypto.tink.subtle.Ed25519$CachedXYZT
dup
new com.google.crypto.tink.subtle.Ed25519$XYZT
dup
aload 4 /* t */
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
invokespecial com.google.crypto.tink.subtle.Ed25519$CachedXYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;)V
aastore
9: .line 699
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 6 /* i */
aload 3 /* pointAArray */
arraylength
if_icmplt 7
end local 6 // int i
11: .line 704
aload 0 /* a */
invokestatic com.google.crypto.tink.subtle.Ed25519.slide:([B)[B
astore 6 /* aSlide */
start local 6 // byte[] aSlide
12: .line 705
aload 2 /* b */
invokestatic com.google.crypto.tink.subtle.Ed25519.slide:([B)[B
astore 7 /* bSlide */
start local 7 // byte[] bSlide
13: .line 706
new com.google.crypto.tink.subtle.Ed25519$PartialXYZT
dup
getstatic com.google.crypto.tink.subtle.Ed25519.NEUTRAL:Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
invokespecial com.google.crypto.tink.subtle.Ed25519$PartialXYZT.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
astore 4 /* t */
14: .line 707
new com.google.crypto.tink.subtle.Ed25519$XYZT
dup
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZT.<init>:()V
astore 8 /* u */
start local 8 // com.google.crypto.tink.subtle.Ed25519$XYZT u
15: .line 708
sipush 255
istore 9 /* i */
start local 9 // int i
16: .line 709
goto 20
17: .line 710
StackMap locals: byte[] com.google.crypto.tink.subtle.Ed25519$XYZT byte[] com.google.crypto.tink.subtle.Ed25519$CachedXYZT[] com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZT byte[] byte[] com.google.crypto.tink.subtle.Ed25519$XYZT int
StackMap stack:
aload 6 /* aSlide */
iload 9 /* i */
baload
ifne 34
aload 7 /* bSlide */
iload 9 /* i */
baload
ifeq 19
18: .line 711
goto 34
19: .line 709
StackMap locals:
StackMap stack:
iinc 9 /* i */ -1
StackMap locals:
StackMap stack:
20: iload 9 /* i */
ifge 17
21: .line 714
goto 34
22: .line 715
StackMap locals:
StackMap stack:
aload 4 /* t */
new com.google.crypto.tink.subtle.Ed25519$XYZ
dup
aload 4 /* t */
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZ.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleXYZ:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZ;)V
23: .line 716
aload 6 /* aSlide */
iload 9 /* i */
baload
ifle 26
24: .line 717
aload 4 /* t */
aload 8 /* u */
aload 4 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
aload 3 /* pointAArray */
aload 6 /* aSlide */
iload 9 /* i */
baload
iconst_2
idiv
aaload
invokestatic com.google.crypto.tink.subtle.Ed25519.add:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
25: .line 718
goto 28
StackMap locals:
StackMap stack:
26: aload 6 /* aSlide */
iload 9 /* i */
baload
ifge 28
27: .line 719
aload 4 /* t */
aload 8 /* u */
aload 4 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
aload 3 /* pointAArray */
aload 6 /* aSlide */
iload 9 /* i */
baload
ineg
iconst_2
idiv
aaload
invokestatic com.google.crypto.tink.subtle.Ed25519.sub:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
28: .line 721
StackMap locals:
StackMap stack:
aload 7 /* bSlide */
iload 9 /* i */
baload
ifle 31
29: .line 722
aload 4 /* t */
aload 8 /* u */
aload 4 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B2:[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
aload 7 /* bSlide */
iload 9 /* i */
baload
iconst_2
idiv
aaload
invokestatic com.google.crypto.tink.subtle.Ed25519.add:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
30: .line 723
goto 33
StackMap locals:
StackMap stack:
31: aload 7 /* bSlide */
iload 9 /* i */
baload
ifge 33
32: .line 724
aload 4 /* t */
aload 8 /* u */
aload 4 /* t */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromPartialXYZT:(Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
getstatic com.google.crypto.tink.subtle.Ed25519Constants.B2:[Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;
aload 7 /* bSlide */
iload 9 /* i */
baload
ineg
iconst_2
idiv
aaload
invokestatic com.google.crypto.tink.subtle.Ed25519.sub:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;Lcom/google/crypto/tink/subtle/Ed25519$XYZT;Lcom/google/crypto/tink/subtle/Ed25519$CachedXYT;)V
33: .line 714
StackMap locals:
StackMap stack:
iinc 9 /* i */ -1
StackMap locals:
StackMap stack:
34: iload 9 /* i */
ifge 22
35: .line 728
new com.google.crypto.tink.subtle.Ed25519$XYZ
dup
aload 4 /* t */
invokespecial com.google.crypto.tink.subtle.Ed25519$XYZ.<init>:(Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;)V
areturn
end local 9 // int i
end local 8 // com.google.crypto.tink.subtle.Ed25519$XYZT u
end local 7 // byte[] bSlide
end local 6 // byte[] aSlide
end local 5 // com.google.crypto.tink.subtle.Ed25519$XYZT doubleA
end local 4 // com.google.crypto.tink.subtle.Ed25519$PartialXYZT t
end local 3 // com.google.crypto.tink.subtle.Ed25519$CachedXYZT[] pointAArray
end local 2 // byte[] b
end local 1 // com.google.crypto.tink.subtle.Ed25519$XYZT pointA
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 36 0 a [B
0 36 1 pointA Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
0 36 2 b [B
1 36 3 pointAArray [Lcom/google/crypto/tink/subtle/Ed25519$CachedXYZT;
3 36 4 t Lcom/google/crypto/tink/subtle/Ed25519$PartialXYZT;
5 36 5 doubleA Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
6 11 6 i I
12 36 6 aSlide [B
13 36 7 bSlide [B
15 36 8 u Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
16 36 9 i I
MethodParameters:
Name Flags
a
pointA
b
private static boolean isNonZeroVarTime(long[]);
descriptor: ([J)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 // long[] in
0: .line 737
aload 0 /* in */
arraylength
iconst_1
iadd
newarray 11
astore 1 /* inCopy */
start local 1 // long[] inCopy
1: .line 738
aload 0 /* in */
iconst_0
aload 1 /* inCopy */
iconst_0
aload 0 /* in */
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: .line 739
aload 1 /* inCopy */
invokestatic com.google.crypto.tink.subtle.Field25519.reduceCoefficients:([J)V
3: .line 740
aload 1 /* inCopy */
invokestatic com.google.crypto.tink.subtle.Field25519.contract:([J)[B
astore 2 /* bytes */
start local 2 // byte[] bytes
4: .line 741
aload 2 /* bytes */
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: long[] long[] byte[] top int int byte[]
StackMap stack:
5: aload 6
iload 4
baload
istore 3 /* b */
start local 3 // byte b
6: .line 742
iload 3 /* b */
ifeq 8
7: .line 743
iconst_1
ireturn
end local 3 // byte b
8: .line 741
StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 5
10: .line 746
iconst_0
ireturn
end local 2 // byte[] bytes
end local 1 // long[] inCopy
end local 0 // long[] in
LocalVariableTable:
Start End Slot Name Signature
0 11 0 in [J
1 11 1 inCopy [J
4 11 2 bytes [B
6 8 3 b B
MethodParameters:
Name Flags
in
private static int getLsb(long[]);
descriptor: ([J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // long[] in
0: .line 753
aload 0 /* in */
invokestatic com.google.crypto.tink.subtle.Field25519.contract:([J)[B
iconst_0
baload
iconst_1
iand
ireturn
end local 0 // long[] in
LocalVariableTable:
Start End Slot Name Signature
0 1 0 in [J
MethodParameters:
Name Flags
in
private static void neg(long[], long[]);
descriptor: ([J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 // long[] out
start local 1 // long[] in
0: .line 760
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 4
2: .line 761
StackMap locals: int
StackMap stack:
aload 0 /* out */
iload 2 /* i */
aload 1 /* in */
iload 2 /* i */
laload
lneg
lastore
3: .line 760
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 2 /* i */
aload 1 /* in */
arraylength
if_icmplt 2
end local 2 // int i
5: .line 763
return
end local 1 // long[] in
end local 0 // long[] out
LocalVariableTable:
Start End Slot Name Signature
0 6 0 out [J
0 6 1 in [J
1 5 2 i I
MethodParameters:
Name Flags
out
in
private static void pow2252m3(long[], long[]);
descriptor: ([J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 // long[] out
start local 1 // long[] in
0: .line 769
bipush 10
newarray 11
astore 2 /* t0 */
start local 2 // long[] t0
1: .line 770
bipush 10
newarray 11
astore 3 /* t1 */
start local 3 // long[] t1
2: .line 771
bipush 10
newarray 11
astore 4 /* t2 */
start local 4 // long[] t2
3: .line 774
aload 2 /* t0 */
aload 1 /* in */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
4: .line 777
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
5: .line 778
iconst_1
istore 5 /* i */
start local 5 // int i
6: goto 9
7: .line 779
StackMap locals: long[] long[] long[] long[] long[] int
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
8: .line 778
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 5 /* i */
iconst_2
if_icmplt 7
end local 5 // int i
10: .line 783
aload 3 /* t1 */
aload 1 /* in */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
11: .line 786
aload 2 /* t0 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
12: .line 789
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
13: .line 792
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
14: .line 795
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
15: .line 796
iconst_1
istore 5 /* i */
start local 5 // int i
16: goto 19
17: .line 797
StackMap locals:
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
18: .line 796
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 5 /* i */
iconst_5
if_icmplt 17
end local 5 // int i
20: .line 801
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
21: .line 804
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
22: .line 805
iconst_1
istore 5 /* i */
start local 5 // int i
23: goto 26
24: .line 806
StackMap locals:
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
25: .line 805
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 5 /* i */
bipush 10
if_icmplt 24
end local 5 // int i
27: .line 810
aload 3 /* t1 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
28: .line 813
aload 4 /* t2 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
29: .line 814
iconst_1
istore 5 /* i */
start local 5 // int i
30: goto 33
31: .line 815
StackMap locals:
StackMap stack:
aload 4 /* t2 */
aload 4 /* t2 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
32: .line 814
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
33: iload 5 /* i */
bipush 20
if_icmplt 31
end local 5 // int i
34: .line 819
aload 3 /* t1 */
aload 4 /* t2 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
35: .line 822
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
36: .line 823
iconst_1
istore 5 /* i */
start local 5 // int i
37: goto 40
38: .line 824
StackMap locals:
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
39: .line 823
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
40: iload 5 /* i */
bipush 10
if_icmplt 38
end local 5 // int i
41: .line 828
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
42: .line 831
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
43: .line 832
iconst_1
istore 5 /* i */
start local 5 // int i
44: goto 47
45: .line 833
StackMap locals:
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
46: .line 832
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
47: iload 5 /* i */
bipush 50
if_icmplt 45
end local 5 // int i
48: .line 837
aload 3 /* t1 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
49: .line 840
aload 4 /* t2 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
50: .line 841
iconst_1
istore 5 /* i */
start local 5 // int i
51: goto 54
52: .line 842
StackMap locals:
StackMap stack:
aload 4 /* t2 */
aload 4 /* t2 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
53: .line 841
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
54: iload 5 /* i */
bipush 100
if_icmplt 52
end local 5 // int i
55: .line 846
aload 3 /* t1 */
aload 4 /* t2 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
56: .line 849
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
57: .line 850
iconst_1
istore 5 /* i */
start local 5 // int i
58: goto 61
59: .line 851
StackMap locals:
StackMap stack:
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
60: .line 850
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
61: iload 5 /* i */
bipush 50
if_icmplt 59
end local 5 // int i
62: .line 855
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
63: .line 858
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
64: .line 859
iconst_1
istore 5 /* i */
start local 5 // int i
65: goto 68
66: .line 860
StackMap locals:
StackMap stack:
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic com.google.crypto.tink.subtle.Field25519.square:([J[J)V
67: .line 859
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
68: iload 5 /* i */
iconst_2
if_icmplt 66
end local 5 // int i
69: .line 864
aload 0 /* out */
aload 2 /* t0 */
aload 1 /* in */
invokestatic com.google.crypto.tink.subtle.Field25519.mult:([J[J[J)V
70: .line 865
return
end local 4 // long[] t2
end local 3 // long[] t1
end local 2 // long[] t0
end local 1 // long[] in
end local 0 // long[] out
LocalVariableTable:
Start End Slot Name Signature
0 71 0 out [J
0 71 1 in [J
1 71 2 t0 [J
2 71 3 t1 [J
3 71 4 t2 [J
6 10 5 i I
16 20 5 i I
23 27 5 i I
30 34 5 i I
37 41 5 i I
44 48 5 i I
51 55 5 i I
58 62 5 i I
65 69 5 i I
MethodParameters:
Name Flags
out
in
private static long load3(byte[], int);
descriptor: ([BI)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 // byte[] in
start local 1 // int idx
0: .line 872
aload 0 /* in */
iload 1 /* idx */
baload
i2l
ldc 255
land
lstore 2 /* result */
start local 2 // long result
1: .line 873
lload 2 /* result */
aload 0 /* in */
iload 1 /* idx */
iconst_1
iadd
baload
sipush 255
iand
i2l
bipush 8
lshl
lor
lstore 2 /* result */
2: .line 874
lload 2 /* result */
aload 0 /* in */
iload 1 /* idx */
iconst_2
iadd
baload
sipush 255
iand
i2l
bipush 16
lshl
lor
lstore 2 /* result */
3: .line 875
lload 2 /* result */
lreturn
end local 2 // long result
end local 1 // int idx
end local 0 // byte[] in
LocalVariableTable:
Start End Slot Name Signature
0 4 0 in [B
0 4 1 idx I
1 4 2 result J
MethodParameters:
Name Flags
in
idx
private static long load4(byte[], int);
descriptor: ([BI)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 // byte[] in
start local 1 // int idx
0: .line 882
aload 0 /* in */
iload 1 /* idx */
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
lstore 2 /* result */
start local 2 // long result
1: .line 883
lload 2 /* result */
aload 0 /* in */
iload 1 /* idx */
iconst_3
iadd
baload
sipush 255
iand
i2l
bipush 24
lshl
lor
lstore 2 /* result */
2: .line 884
lload 2 /* result */
lreturn
end local 2 // long result
end local 1 // int idx
end local 0 // byte[] in
LocalVariableTable:
Start End Slot Name Signature
0 3 0 in [B
0 3 1 idx I
1 3 2 result J
MethodParameters:
Name Flags
in
idx
private static void reduce(byte[]);
descriptor: ([B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=83, args_size=1
start local 0 // byte[] s
0: .line 904
ldc 2097151
aload 0 /* s */
iconst_0
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 1 /* s0 */
start local 1 // long s0
1: .line 905
ldc 2097151
aload 0 /* s */
iconst_2
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 3 /* s1 */
start local 3 // long s1
2: .line 906
ldc 2097151
aload 0 /* s */
iconst_5
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 5 /* s2 */
start local 5 // long s2
3: .line 907
ldc 2097151
aload 0 /* s */
bipush 7
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 7 /* s3 */
start local 7 // long s3
4: .line 908
ldc 2097151
aload 0 /* s */
bipush 10
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 9 /* s4 */
start local 9 // long s4
5: .line 909
ldc 2097151
aload 0 /* s */
bipush 13
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 11 /* s5 */
start local 11 // long s5
6: .line 910
ldc 2097151
aload 0 /* s */
bipush 15
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 13 /* s6 */
start local 13 // long s6
7: .line 911
ldc 2097151
aload 0 /* s */
bipush 18
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_3
lshr
land
lstore 15 /* s7 */
start local 15 // long s7
8: .line 912
ldc 2097151
aload 0 /* s */
bipush 21
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 17 /* s8 */
start local 17 // long s8
9: .line 913
ldc 2097151
aload 0 /* s */
bipush 23
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 19 /* s9 */
start local 19 // long s9
10: .line 914
ldc 2097151
aload 0 /* s */
bipush 26
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 21 /* s10 */
start local 21 // long s10
11: .line 915
ldc 2097151
aload 0 /* s */
bipush 28
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 23 /* s11 */
start local 23 // long s11
12: .line 916
ldc 2097151
aload 0 /* s */
bipush 31
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 25 /* s12 */
start local 25 // long s12
13: .line 917
ldc 2097151
aload 0 /* s */
bipush 34
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 27 /* s13 */
start local 27 // long s13
14: .line 918
ldc 2097151
aload 0 /* s */
bipush 36
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 29 /* s14 */
start local 29 // long s14
15: .line 919
ldc 2097151
aload 0 /* s */
bipush 39
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_3
lshr
land
lstore 31 /* s15 */
start local 31 // long s15
16: .line 920
ldc 2097151
aload 0 /* s */
bipush 42
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 33 /* s16 */
start local 33 // long s16
17: .line 921
ldc 2097151
aload 0 /* s */
bipush 44
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 35 /* s17 */
start local 35 // long s17
18: .line 922
ldc 2097151
aload 0 /* s */
bipush 47
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 37 /* s18 */
start local 37 // long s18
19: .line 923
ldc 2097151
aload 0 /* s */
bipush 49
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 39 /* s19 */
start local 39 // long s19
20: .line 924
ldc 2097151
aload 0 /* s */
bipush 52
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 41 /* s20 */
start local 41 // long s20
21: .line 925
ldc 2097151
aload 0 /* s */
bipush 55
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 43 /* s21 */
start local 43 // long s21
22: .line 926
ldc 2097151
aload 0 /* s */
bipush 57
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 45 /* s22 */
start local 45 // long s22
23: .line 927
aload 0 /* s */
bipush 60
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_3
lshr
lstore 47 /* s23 */
start local 47 // long s23
24: .line 950
lload 23 /* s11 */
lload 47 /* s23 */
ldc 666643
lmul
ladd
lstore 23 /* s11 */
25: .line 951
lload 25 /* s12 */
lload 47 /* s23 */
ldc 470296
lmul
ladd
lstore 25 /* s12 */
26: .line 952
lload 27 /* s13 */
lload 47 /* s23 */
ldc 654183
lmul
ladd
lstore 27 /* s13 */
27: .line 953
lload 29 /* s14 */
lload 47 /* s23 */
ldc 997805
lmul
lsub
lstore 29 /* s14 */
28: .line 954
lload 31 /* s15 */
lload 47 /* s23 */
ldc 136657
lmul
ladd
lstore 31 /* s15 */
29: .line 955
lload 33 /* s16 */
lload 47 /* s23 */
ldc 683901
lmul
lsub
lstore 33 /* s16 */
30: .line 958
lload 21 /* s10 */
lload 45 /* s22 */
ldc 666643
lmul
ladd
lstore 21 /* s10 */
31: .line 959
lload 23 /* s11 */
lload 45 /* s22 */
ldc 470296
lmul
ladd
lstore 23 /* s11 */
32: .line 960
lload 25 /* s12 */
lload 45 /* s22 */
ldc 654183
lmul
ladd
lstore 25 /* s12 */
33: .line 961
lload 27 /* s13 */
lload 45 /* s22 */
ldc 997805
lmul
lsub
lstore 27 /* s13 */
34: .line 962
lload 29 /* s14 */
lload 45 /* s22 */
ldc 136657
lmul
ladd
lstore 29 /* s14 */
35: .line 963
lload 31 /* s15 */
lload 45 /* s22 */
ldc 683901
lmul
lsub
lstore 31 /* s15 */
36: .line 966
lload 19 /* s9 */
lload 43 /* s21 */
ldc 666643
lmul
ladd
lstore 19 /* s9 */
37: .line 967
lload 21 /* s10 */
lload 43 /* s21 */
ldc 470296
lmul
ladd
lstore 21 /* s10 */
38: .line 968
lload 23 /* s11 */
lload 43 /* s21 */
ldc 654183
lmul
ladd
lstore 23 /* s11 */
39: .line 969
lload 25 /* s12 */
lload 43 /* s21 */
ldc 997805
lmul
lsub
lstore 25 /* s12 */
40: .line 970
lload 27 /* s13 */
lload 43 /* s21 */
ldc 136657
lmul
ladd
lstore 27 /* s13 */
41: .line 971
lload 29 /* s14 */
lload 43 /* s21 */
ldc 683901
lmul
lsub
lstore 29 /* s14 */
42: .line 974
lload 17 /* s8 */
lload 41 /* s20 */
ldc 666643
lmul
ladd
lstore 17 /* s8 */
43: .line 975
lload 19 /* s9 */
lload 41 /* s20 */
ldc 470296
lmul
ladd
lstore 19 /* s9 */
44: .line 976
lload 21 /* s10 */
lload 41 /* s20 */
ldc 654183
lmul
ladd
lstore 21 /* s10 */
45: .line 977
lload 23 /* s11 */
lload 41 /* s20 */
ldc 997805
lmul
lsub
lstore 23 /* s11 */
46: .line 978
lload 25 /* s12 */
lload 41 /* s20 */
ldc 136657
lmul
ladd
lstore 25 /* s12 */
47: .line 979
lload 27 /* s13 */
lload 41 /* s20 */
ldc 683901
lmul
lsub
lstore 27 /* s13 */
48: .line 982
lload 15 /* s7 */
lload 39 /* s19 */
ldc 666643
lmul
ladd
lstore 15 /* s7 */
49: .line 983
lload 17 /* s8 */
lload 39 /* s19 */
ldc 470296
lmul
ladd
lstore 17 /* s8 */
50: .line 984
lload 19 /* s9 */
lload 39 /* s19 */
ldc 654183
lmul
ladd
lstore 19 /* s9 */
51: .line 985
lload 21 /* s10 */
lload 39 /* s19 */
ldc 997805
lmul
lsub
lstore 21 /* s10 */
52: .line 986
lload 23 /* s11 */
lload 39 /* s19 */
ldc 136657
lmul
ladd
lstore 23 /* s11 */
53: .line 987
lload 25 /* s12 */
lload 39 /* s19 */
ldc 683901
lmul
lsub
lstore 25 /* s12 */
54: .line 990
lload 13 /* s6 */
lload 37 /* s18 */
ldc 666643
lmul
ladd
lstore 13 /* s6 */
55: .line 991
lload 15 /* s7 */
lload 37 /* s18 */
ldc 470296
lmul
ladd
lstore 15 /* s7 */
56: .line 992
lload 17 /* s8 */
lload 37 /* s18 */
ldc 654183
lmul
ladd
lstore 17 /* s8 */
57: .line 993
lload 19 /* s9 */
lload 37 /* s18 */
ldc 997805
lmul
lsub
lstore 19 /* s9 */
58: .line 994
lload 21 /* s10 */
lload 37 /* s18 */
ldc 136657
lmul
ladd
lstore 21 /* s10 */
59: .line 995
lload 23 /* s11 */
lload 37 /* s18 */
ldc 683901
lmul
lsub
lstore 23 /* s11 */
60: .line 999
lload 13 /* s6 */
ldc 1048576
ladd
bipush 21
lshr
lstore 61 /* carry6 */
start local 61 // long carry6
61: lload 15 /* s7 */
lload 61 /* carry6 */
ladd
lstore 15 /* s7 */
lload 13 /* s6 */
lload 61 /* carry6 */
bipush 21
lshl
lsub
lstore 13 /* s6 */
62: .line 1000
lload 17 /* s8 */
ldc 1048576
ladd
bipush 21
lshr
lstore 65 /* carry8 */
start local 65 // long carry8
63: lload 19 /* s9 */
lload 65 /* carry8 */
ladd
lstore 19 /* s9 */
lload 17 /* s8 */
lload 65 /* carry8 */
bipush 21
lshl
lsub
lstore 17 /* s8 */
64: .line 1001
lload 21 /* s10 */
ldc 1048576
ladd
bipush 21
lshr
lstore 69 /* carry10 */
start local 69 // long carry10
65: lload 23 /* s11 */
lload 69 /* carry10 */
ladd
lstore 23 /* s11 */
lload 21 /* s10 */
lload 69 /* carry10 */
bipush 21
lshl
lsub
lstore 21 /* s10 */
66: .line 1002
lload 25 /* s12 */
ldc 1048576
ladd
bipush 21
lshr
lstore 73 /* carry12 */
start local 73 // long carry12
67: lload 27 /* s13 */
lload 73 /* carry12 */
ladd
lstore 27 /* s13 */
lload 25 /* s12 */
lload 73 /* carry12 */
bipush 21
lshl
lsub
lstore 25 /* s12 */
68: .line 1003
lload 29 /* s14 */
ldc 1048576
ladd
bipush 21
lshr
lstore 77 /* carry14 */
start local 77 // long carry14
69: lload 31 /* s15 */
lload 77 /* carry14 */
ladd
lstore 31 /* s15 */
lload 29 /* s14 */
lload 77 /* carry14 */
bipush 21
lshl
lsub
lstore 29 /* s14 */
70: .line 1004
lload 33 /* s16 */
ldc 1048576
ladd
bipush 21
lshr
lstore 81 /* carry16 */
start local 81 // long carry16
71: lload 35 /* s17 */
lload 81 /* carry16 */
ladd
lstore 35 /* s17 */
lload 33 /* s16 */
lload 81 /* carry16 */
bipush 21
lshl
lsub
lstore 33 /* s16 */
72: .line 1006
lload 15 /* s7 */
ldc 1048576
ladd
bipush 21
lshr
lstore 63 /* carry7 */
start local 63 // long carry7
73: lload 17 /* s8 */
lload 63 /* carry7 */
ladd
lstore 17 /* s8 */
lload 15 /* s7 */
lload 63 /* carry7 */
bipush 21
lshl
lsub
lstore 15 /* s7 */
74: .line 1007
lload 19 /* s9 */
ldc 1048576
ladd
bipush 21
lshr
lstore 67 /* carry9 */
start local 67 // long carry9
75: lload 21 /* s10 */
lload 67 /* carry9 */
ladd
lstore 21 /* s10 */
lload 19 /* s9 */
lload 67 /* carry9 */
bipush 21
lshl
lsub
lstore 19 /* s9 */
76: .line 1008
lload 23 /* s11 */
ldc 1048576
ladd
bipush 21
lshr
lstore 71 /* carry11 */
start local 71 // long carry11
77: lload 25 /* s12 */
lload 71 /* carry11 */
ladd
lstore 25 /* s12 */
lload 23 /* s11 */
lload 71 /* carry11 */
bipush 21
lshl
lsub
lstore 23 /* s11 */
78: .line 1009
lload 27 /* s13 */
ldc 1048576
ladd
bipush 21
lshr
lstore 75 /* carry13 */
start local 75 // long carry13
79: lload 29 /* s14 */
lload 75 /* carry13 */
ladd
lstore 29 /* s14 */
lload 27 /* s13 */
lload 75 /* carry13 */
bipush 21
lshl
lsub
lstore 27 /* s13 */
80: .line 1010
lload 31 /* s15 */
ldc 1048576
ladd
bipush 21
lshr
lstore 79 /* carry15 */
start local 79 // long carry15
81: lload 33 /* s16 */
lload 79 /* carry15 */
ladd
lstore 33 /* s16 */
lload 31 /* s15 */
lload 79 /* carry15 */
bipush 21
lshl
lsub
lstore 31 /* s15 */
82: .line 1013
lload 11 /* s5 */
lload 35 /* s17 */
ldc 666643
lmul
ladd
lstore 11 /* s5 */
83: .line 1014
lload 13 /* s6 */
lload 35 /* s17 */
ldc 470296
lmul
ladd
lstore 13 /* s6 */
84: .line 1015
lload 15 /* s7 */
lload 35 /* s17 */
ldc 654183
lmul
ladd
lstore 15 /* s7 */
85: .line 1016
lload 17 /* s8 */
lload 35 /* s17 */
ldc 997805
lmul
lsub
lstore 17 /* s8 */
86: .line 1017
lload 19 /* s9 */
lload 35 /* s17 */
ldc 136657
lmul
ladd
lstore 19 /* s9 */
87: .line 1018
lload 21 /* s10 */
lload 35 /* s17 */
ldc 683901
lmul
lsub
lstore 21 /* s10 */
88: .line 1021
lload 9 /* s4 */
lload 33 /* s16 */
ldc 666643
lmul
ladd
lstore 9 /* s4 */
89: .line 1022
lload 11 /* s5 */
lload 33 /* s16 */
ldc 470296
lmul
ladd
lstore 11 /* s5 */
90: .line 1023
lload 13 /* s6 */
lload 33 /* s16 */
ldc 654183
lmul
ladd
lstore 13 /* s6 */
91: .line 1024
lload 15 /* s7 */
lload 33 /* s16 */
ldc 997805
lmul
lsub
lstore 15 /* s7 */
92: .line 1025
lload 17 /* s8 */
lload 33 /* s16 */
ldc 136657
lmul
ladd
lstore 17 /* s8 */
93: .line 1026
lload 19 /* s9 */
lload 33 /* s16 */
ldc 683901
lmul
lsub
lstore 19 /* s9 */
94: .line 1029
lload 7 /* s3 */
lload 31 /* s15 */
ldc 666643
lmul
ladd
lstore 7 /* s3 */
95: .line 1030
lload 9 /* s4 */
lload 31 /* s15 */
ldc 470296
lmul
ladd
lstore 9 /* s4 */
96: .line 1031
lload 11 /* s5 */
lload 31 /* s15 */
ldc 654183
lmul
ladd
lstore 11 /* s5 */
97: .line 1032
lload 13 /* s6 */
lload 31 /* s15 */
ldc 997805
lmul
lsub
lstore 13 /* s6 */
98: .line 1033
lload 15 /* s7 */
lload 31 /* s15 */
ldc 136657
lmul
ladd
lstore 15 /* s7 */
99: .line 1034
lload 17 /* s8 */
lload 31 /* s15 */
ldc 683901
lmul
lsub
lstore 17 /* s8 */
100: .line 1037
lload 5 /* s2 */
lload 29 /* s14 */
ldc 666643
lmul
ladd
lstore 5 /* s2 */
101: .line 1038
lload 7 /* s3 */
lload 29 /* s14 */
ldc 470296
lmul
ladd
lstore 7 /* s3 */
102: .line 1039
lload 9 /* s4 */
lload 29 /* s14 */
ldc 654183
lmul
ladd
lstore 9 /* s4 */
103: .line 1040
lload 11 /* s5 */
lload 29 /* s14 */
ldc 997805
lmul
lsub
lstore 11 /* s5 */
104: .line 1041
lload 13 /* s6 */
lload 29 /* s14 */
ldc 136657
lmul
ladd
lstore 13 /* s6 */
105: .line 1042
lload 15 /* s7 */
lload 29 /* s14 */
ldc 683901
lmul
lsub
lstore 15 /* s7 */
106: .line 1045
lload 3 /* s1 */
lload 27 /* s13 */
ldc 666643
lmul
ladd
lstore 3 /* s1 */
107: .line 1046
lload 5 /* s2 */
lload 27 /* s13 */
ldc 470296
lmul
ladd
lstore 5 /* s2 */
108: .line 1047
lload 7 /* s3 */
lload 27 /* s13 */
ldc 654183
lmul
ladd
lstore 7 /* s3 */
109: .line 1048
lload 9 /* s4 */
lload 27 /* s13 */
ldc 997805
lmul
lsub
lstore 9 /* s4 */
110: .line 1049
lload 11 /* s5 */
lload 27 /* s13 */
ldc 136657
lmul
ladd
lstore 11 /* s5 */
111: .line 1050
lload 13 /* s6 */
lload 27 /* s13 */
ldc 683901
lmul
lsub
lstore 13 /* s6 */
112: .line 1053
lload 1 /* s0 */
lload 25 /* s12 */
ldc 666643
lmul
ladd
lstore 1 /* s0 */
113: .line 1054
lload 3 /* s1 */
lload 25 /* s12 */
ldc 470296
lmul
ladd
lstore 3 /* s1 */
114: .line 1055
lload 5 /* s2 */
lload 25 /* s12 */
ldc 654183
lmul
ladd
lstore 5 /* s2 */
115: .line 1056
lload 7 /* s3 */
lload 25 /* s12 */
ldc 997805
lmul
lsub
lstore 7 /* s3 */
116: .line 1057
lload 9 /* s4 */
lload 25 /* s12 */
ldc 136657
lmul
ladd
lstore 9 /* s4 */
117: .line 1058
lload 11 /* s5 */
lload 25 /* s12 */
ldc 683901
lmul
lsub
lstore 11 /* s5 */
118: .line 1059
lconst_0
lstore 25 /* s12 */
119: .line 1062
lload 1 /* s0 */
ldc 1048576
ladd
bipush 21
lshr
lstore 49 /* carry0 */
start local 49 // long carry0
120: lload 3 /* s1 */
lload 49 /* carry0 */
ladd
lstore 3 /* s1 */
lload 1 /* s0 */
lload 49 /* carry0 */
bipush 21
lshl
lsub
lstore 1 /* s0 */
121: .line 1063
lload 5 /* s2 */
ldc 1048576
ladd
bipush 21
lshr
lstore 53 /* carry2 */
start local 53 // long carry2
122: lload 7 /* s3 */
lload 53 /* carry2 */
ladd
lstore 7 /* s3 */
lload 5 /* s2 */
lload 53 /* carry2 */
bipush 21
lshl
lsub
lstore 5 /* s2 */
123: .line 1064
lload 9 /* s4 */
ldc 1048576
ladd
bipush 21
lshr
lstore 57 /* carry4 */
start local 57 // long carry4
124: lload 11 /* s5 */
lload 57 /* carry4 */
ladd
lstore 11 /* s5 */
lload 9 /* s4 */
lload 57 /* carry4 */
bipush 21
lshl
lsub
lstore 9 /* s4 */
125: .line 1065
lload 13 /* s6 */
ldc 1048576
ladd
bipush 21
lshr
lstore 61 /* carry6 */
lload 15 /* s7 */
lload 61 /* carry6 */
ladd
lstore 15 /* s7 */
lload 13 /* s6 */
lload 61 /* carry6 */
bipush 21
lshl
lsub
lstore 13 /* s6 */
126: .line 1066
lload 17 /* s8 */
ldc 1048576
ladd
bipush 21
lshr
lstore 65 /* carry8 */
lload 19 /* s9 */
lload 65 /* carry8 */
ladd
lstore 19 /* s9 */
lload 17 /* s8 */
lload 65 /* carry8 */
bipush 21
lshl
lsub
lstore 17 /* s8 */
127: .line 1067
lload 21 /* s10 */
ldc 1048576
ladd
bipush 21
lshr
lstore 69 /* carry10 */
lload 23 /* s11 */
lload 69 /* carry10 */
ladd
lstore 23 /* s11 */
lload 21 /* s10 */
lload 69 /* carry10 */
bipush 21
lshl
lsub
lstore 21 /* s10 */
128: .line 1069
lload 3 /* s1 */
ldc 1048576
ladd
bipush 21
lshr
lstore 51 /* carry1 */
start local 51 // long carry1
129: lload 5 /* s2 */
lload 51 /* carry1 */
ladd
lstore 5 /* s2 */
lload 3 /* s1 */
lload 51 /* carry1 */
bipush 21
lshl
lsub
lstore 3 /* s1 */
130: .line 1070
lload 7 /* s3 */
ldc 1048576
ladd
bipush 21
lshr
lstore 55 /* carry3 */
start local 55 // long carry3
131: lload 9 /* s4 */
lload 55 /* carry3 */
ladd
lstore 9 /* s4 */
lload 7 /* s3 */
lload 55 /* carry3 */
bipush 21
lshl
lsub
lstore 7 /* s3 */
132: .line 1071
lload 11 /* s5 */
ldc 1048576
ladd
bipush 21
lshr
lstore 59 /* carry5 */
start local 59 // long carry5
133: lload 13 /* s6 */
lload 59 /* carry5 */
ladd
lstore 13 /* s6 */
lload 11 /* s5 */
lload 59 /* carry5 */
bipush 21
lshl
lsub
lstore 11 /* s5 */
134: .line 1072
lload 15 /* s7 */
ldc 1048576
ladd
bipush 21
lshr
lstore 63 /* carry7 */
lload 17 /* s8 */
lload 63 /* carry7 */
ladd
lstore 17 /* s8 */
lload 15 /* s7 */
lload 63 /* carry7 */
bipush 21
lshl
lsub
lstore 15 /* s7 */
135: .line 1073
lload 19 /* s9 */
ldc 1048576
ladd
bipush 21
lshr
lstore 67 /* carry9 */
lload 21 /* s10 */
lload 67 /* carry9 */
ladd
lstore 21 /* s10 */
lload 19 /* s9 */
lload 67 /* carry9 */
bipush 21
lshl
lsub
lstore 19 /* s9 */
136: .line 1074
lload 23 /* s11 */
ldc 1048576
ladd
bipush 21
lshr
lstore 71 /* carry11 */
lload 25 /* s12 */
lload 71 /* carry11 */
ladd
lstore 25 /* s12 */
lload 23 /* s11 */
lload 71 /* carry11 */
bipush 21
lshl
lsub
lstore 23 /* s11 */
137: .line 1076
lload 1 /* s0 */
lload 25 /* s12 */
ldc 666643
lmul
ladd
lstore 1 /* s0 */
138: .line 1077
lload 3 /* s1 */
lload 25 /* s12 */
ldc 470296
lmul
ladd
lstore 3 /* s1 */
139: .line 1078
lload 5 /* s2 */
lload 25 /* s12 */
ldc 654183
lmul
ladd
lstore 5 /* s2 */
140: .line 1079
lload 7 /* s3 */
lload 25 /* s12 */
ldc 997805
lmul
lsub
lstore 7 /* s3 */
141: .line 1080
lload 9 /* s4 */
lload 25 /* s12 */
ldc 136657
lmul
ladd
lstore 9 /* s4 */
142: .line 1081
lload 11 /* s5 */
lload 25 /* s12 */
ldc 683901
lmul
lsub
lstore 11 /* s5 */
143: .line 1082
lconst_0
lstore 25 /* s12 */
144: .line 1085
lload 1 /* s0 */
bipush 21
lshr
lstore 49 /* carry0 */
lload 3 /* s1 */
lload 49 /* carry0 */
ladd
lstore 3 /* s1 */
lload 1 /* s0 */
lload 49 /* carry0 */
bipush 21
lshl
lsub
lstore 1 /* s0 */
145: .line 1086
lload 3 /* s1 */
bipush 21
lshr
lstore 51 /* carry1 */
lload 5 /* s2 */
lload 51 /* carry1 */
ladd
lstore 5 /* s2 */
lload 3 /* s1 */
lload 51 /* carry1 */
bipush 21
lshl
lsub
lstore 3 /* s1 */
146: .line 1087
lload 5 /* s2 */
bipush 21
lshr
lstore 53 /* carry2 */
lload 7 /* s3 */
lload 53 /* carry2 */
ladd
lstore 7 /* s3 */
lload 5 /* s2 */
lload 53 /* carry2 */
bipush 21
lshl
lsub
lstore 5 /* s2 */
147: .line 1088
lload 7 /* s3 */
bipush 21
lshr
lstore 55 /* carry3 */
lload 9 /* s4 */
lload 55 /* carry3 */
ladd
lstore 9 /* s4 */
lload 7 /* s3 */
lload 55 /* carry3 */
bipush 21
lshl
lsub
lstore 7 /* s3 */
148: .line 1089
lload 9 /* s4 */
bipush 21
lshr
lstore 57 /* carry4 */
lload 11 /* s5 */
lload 57 /* carry4 */
ladd
lstore 11 /* s5 */
lload 9 /* s4 */
lload 57 /* carry4 */
bipush 21
lshl
lsub
lstore 9 /* s4 */
149: .line 1090
lload 11 /* s5 */
bipush 21
lshr
lstore 59 /* carry5 */
lload 13 /* s6 */
lload 59 /* carry5 */
ladd
lstore 13 /* s6 */
lload 11 /* s5 */
lload 59 /* carry5 */
bipush 21
lshl
lsub
lstore 11 /* s5 */
150: .line 1091
lload 13 /* s6 */
bipush 21
lshr
lstore 61 /* carry6 */
lload 15 /* s7 */
lload 61 /* carry6 */
ladd
lstore 15 /* s7 */
lload 13 /* s6 */
lload 61 /* carry6 */
bipush 21
lshl
lsub
lstore 13 /* s6 */
151: .line 1092
lload 15 /* s7 */
bipush 21
lshr
lstore 63 /* carry7 */
lload 17 /* s8 */
lload 63 /* carry7 */
ladd
lstore 17 /* s8 */
lload 15 /* s7 */
lload 63 /* carry7 */
bipush 21
lshl
lsub
lstore 15 /* s7 */
152: .line 1093
lload 17 /* s8 */
bipush 21
lshr
lstore 65 /* carry8 */
lload 19 /* s9 */
lload 65 /* carry8 */
ladd
lstore 19 /* s9 */
lload 17 /* s8 */
lload 65 /* carry8 */
bipush 21
lshl
lsub
lstore 17 /* s8 */
153: .line 1094
lload 19 /* s9 */
bipush 21
lshr
lstore 67 /* carry9 */
lload 21 /* s10 */
lload 67 /* carry9 */
ladd
lstore 21 /* s10 */
lload 19 /* s9 */
lload 67 /* carry9 */
bipush 21
lshl
lsub
lstore 19 /* s9 */
154: .line 1095
lload 21 /* s10 */
bipush 21
lshr
lstore 69 /* carry10 */
lload 23 /* s11 */
lload 69 /* carry10 */
ladd
lstore 23 /* s11 */
lload 21 /* s10 */
lload 69 /* carry10 */
bipush 21
lshl
lsub
lstore 21 /* s10 */
155: .line 1096
lload 23 /* s11 */
bipush 21
lshr
lstore 71 /* carry11 */
lload 25 /* s12 */
lload 71 /* carry11 */
ladd
lstore 25 /* s12 */
lload 23 /* s11 */
lload 71 /* carry11 */
bipush 21
lshl
lsub
lstore 23 /* s11 */
156: .line 1099
lload 1 /* s0 */
lload 25 /* s12 */
ldc 666643
lmul
ladd
lstore 1 /* s0 */
157: .line 1100
lload 3 /* s1 */
lload 25 /* s12 */
ldc 470296
lmul
ladd
lstore 3 /* s1 */
158: .line 1101
lload 5 /* s2 */
lload 25 /* s12 */
ldc 654183
lmul
ladd
lstore 5 /* s2 */
159: .line 1102
lload 7 /* s3 */
lload 25 /* s12 */
ldc 997805
lmul
lsub
lstore 7 /* s3 */
160: .line 1103
lload 9 /* s4 */
lload 25 /* s12 */
ldc 136657
lmul
ladd
lstore 9 /* s4 */
161: .line 1104
lload 11 /* s5 */
lload 25 /* s12 */
ldc 683901
lmul
lsub
lstore 11 /* s5 */
162: .line 1107
lload 1 /* s0 */
bipush 21
lshr
lstore 49 /* carry0 */
lload 3 /* s1 */
lload 49 /* carry0 */
ladd
lstore 3 /* s1 */
lload 1 /* s0 */
lload 49 /* carry0 */
bipush 21
lshl
lsub
lstore 1 /* s0 */
163: .line 1108
lload 3 /* s1 */
bipush 21
lshr
lstore 51 /* carry1 */
lload 5 /* s2 */
lload 51 /* carry1 */
ladd
lstore 5 /* s2 */
lload 3 /* s1 */
lload 51 /* carry1 */
bipush 21
lshl
lsub
lstore 3 /* s1 */
164: .line 1109
lload 5 /* s2 */
bipush 21
lshr
lstore 53 /* carry2 */
lload 7 /* s3 */
lload 53 /* carry2 */
ladd
lstore 7 /* s3 */
lload 5 /* s2 */
lload 53 /* carry2 */
bipush 21
lshl
lsub
lstore 5 /* s2 */
165: .line 1110
lload 7 /* s3 */
bipush 21
lshr
lstore 55 /* carry3 */
lload 9 /* s4 */
lload 55 /* carry3 */
ladd
lstore 9 /* s4 */
lload 7 /* s3 */
lload 55 /* carry3 */
bipush 21
lshl
lsub
lstore 7 /* s3 */
166: .line 1111
lload 9 /* s4 */
bipush 21
lshr
lstore 57 /* carry4 */
lload 11 /* s5 */
lload 57 /* carry4 */
ladd
lstore 11 /* s5 */
lload 9 /* s4 */
lload 57 /* carry4 */
bipush 21
lshl
lsub
lstore 9 /* s4 */
167: .line 1112
lload 11 /* s5 */
bipush 21
lshr
lstore 59 /* carry5 */
lload 13 /* s6 */
lload 59 /* carry5 */
ladd
lstore 13 /* s6 */
lload 11 /* s5 */
lload 59 /* carry5 */
bipush 21
lshl
lsub
lstore 11 /* s5 */
168: .line 1113
lload 13 /* s6 */
bipush 21
lshr
lstore 61 /* carry6 */
lload 15 /* s7 */
lload 61 /* carry6 */
ladd
lstore 15 /* s7 */
lload 13 /* s6 */
lload 61 /* carry6 */
bipush 21
lshl
lsub
lstore 13 /* s6 */
169: .line 1114
lload 15 /* s7 */
bipush 21
lshr
lstore 63 /* carry7 */
lload 17 /* s8 */
lload 63 /* carry7 */
ladd
lstore 17 /* s8 */
lload 15 /* s7 */
lload 63 /* carry7 */
bipush 21
lshl
lsub
lstore 15 /* s7 */
170: .line 1115
lload 17 /* s8 */
bipush 21
lshr
lstore 65 /* carry8 */
lload 19 /* s9 */
lload 65 /* carry8 */
ladd
lstore 19 /* s9 */
lload 17 /* s8 */
lload 65 /* carry8 */
bipush 21
lshl
lsub
lstore 17 /* s8 */
171: .line 1116
lload 19 /* s9 */
bipush 21
lshr
lstore 67 /* carry9 */
lload 21 /* s10 */
lload 67 /* carry9 */
ladd
lstore 21 /* s10 */
lload 19 /* s9 */
lload 67 /* carry9 */
bipush 21
lshl
lsub
lstore 19 /* s9 */
172: .line 1117
lload 21 /* s10 */
bipush 21
lshr
lstore 69 /* carry10 */
lload 23 /* s11 */
lload 69 /* carry10 */
ladd
lstore 23 /* s11 */
lload 21 /* s10 */
lload 69 /* carry10 */
bipush 21
lshl
lsub
lstore 21 /* s10 */
173: .line 1120
aload 0 /* s */
iconst_0
lload 1 /* s0 */
l2i
i2b
bastore
174: .line 1121
aload 0 /* s */
iconst_1
lload 1 /* s0 */
bipush 8
lshr
l2i
i2b
bastore
175: .line 1122
aload 0 /* s */
iconst_2
lload 1 /* s0 */
bipush 16
lshr
lload 3 /* s1 */
iconst_5
lshl
lor
l2i
i2b
bastore
176: .line 1123
aload 0 /* s */
iconst_3
lload 3 /* s1 */
iconst_3
lshr
l2i
i2b
bastore
177: .line 1124
aload 0 /* s */
iconst_4
lload 3 /* s1 */
bipush 11
lshr
l2i
i2b
bastore
178: .line 1125
aload 0 /* s */
iconst_5
lload 3 /* s1 */
bipush 19
lshr
lload 5 /* s2 */
iconst_2
lshl
lor
l2i
i2b
bastore
179: .line 1126
aload 0 /* s */
bipush 6
lload 5 /* s2 */
bipush 6
lshr
l2i
i2b
bastore
180: .line 1127
aload 0 /* s */
bipush 7
lload 5 /* s2 */
bipush 14
lshr
lload 7 /* s3 */
bipush 7
lshl
lor
l2i
i2b
bastore
181: .line 1128
aload 0 /* s */
bipush 8
lload 7 /* s3 */
iconst_1
lshr
l2i
i2b
bastore
182: .line 1129
aload 0 /* s */
bipush 9
lload 7 /* s3 */
bipush 9
lshr
l2i
i2b
bastore
183: .line 1130
aload 0 /* s */
bipush 10
lload 7 /* s3 */
bipush 17
lshr
lload 9 /* s4 */
iconst_4
lshl
lor
l2i
i2b
bastore
184: .line 1131
aload 0 /* s */
bipush 11
lload 9 /* s4 */
iconst_4
lshr
l2i
i2b
bastore
185: .line 1132
aload 0 /* s */
bipush 12
lload 9 /* s4 */
bipush 12
lshr
l2i
i2b
bastore
186: .line 1133
aload 0 /* s */
bipush 13
lload 9 /* s4 */
bipush 20
lshr
lload 11 /* s5 */
iconst_1
lshl
lor
l2i
i2b
bastore
187: .line 1134
aload 0 /* s */
bipush 14
lload 11 /* s5 */
bipush 7
lshr
l2i
i2b
bastore
188: .line 1135
aload 0 /* s */
bipush 15
lload 11 /* s5 */
bipush 15
lshr
lload 13 /* s6 */
bipush 6
lshl
lor
l2i
i2b
bastore
189: .line 1136
aload 0 /* s */
bipush 16
lload 13 /* s6 */
iconst_2
lshr
l2i
i2b
bastore
190: .line 1137
aload 0 /* s */
bipush 17
lload 13 /* s6 */
bipush 10
lshr
l2i
i2b
bastore
191: .line 1138
aload 0 /* s */
bipush 18
lload 13 /* s6 */
bipush 18
lshr
lload 15 /* s7 */
iconst_3
lshl
lor
l2i
i2b
bastore
192: .line 1139
aload 0 /* s */
bipush 19
lload 15 /* s7 */
iconst_5
lshr
l2i
i2b
bastore
193: .line 1140
aload 0 /* s */
bipush 20
lload 15 /* s7 */
bipush 13
lshr
l2i
i2b
bastore
194: .line 1141
aload 0 /* s */
bipush 21
lload 17 /* s8 */
l2i
i2b
bastore
195: .line 1142
aload 0 /* s */
bipush 22
lload 17 /* s8 */
bipush 8
lshr
l2i
i2b
bastore
196: .line 1143
aload 0 /* s */
bipush 23
lload 17 /* s8 */
bipush 16
lshr
lload 19 /* s9 */
iconst_5
lshl
lor
l2i
i2b
bastore
197: .line 1144
aload 0 /* s */
bipush 24
lload 19 /* s9 */
iconst_3
lshr
l2i
i2b
bastore
198: .line 1145
aload 0 /* s */
bipush 25
lload 19 /* s9 */
bipush 11
lshr
l2i
i2b
bastore
199: .line 1146
aload 0 /* s */
bipush 26
lload 19 /* s9 */
bipush 19
lshr
lload 21 /* s10 */
iconst_2
lshl
lor
l2i
i2b
bastore
200: .line 1147
aload 0 /* s */
bipush 27
lload 21 /* s10 */
bipush 6
lshr
l2i
i2b
bastore
201: .line 1148
aload 0 /* s */
bipush 28
lload 21 /* s10 */
bipush 14
lshr
lload 23 /* s11 */
bipush 7
lshl
lor
l2i
i2b
bastore
202: .line 1149
aload 0 /* s */
bipush 29
lload 23 /* s11 */
iconst_1
lshr
l2i
i2b
bastore
203: .line 1150
aload 0 /* s */
bipush 30
lload 23 /* s11 */
bipush 9
lshr
l2i
i2b
bastore
204: .line 1151
aload 0 /* s */
bipush 31
lload 23 /* s11 */
bipush 17
lshr
l2i
i2b
bastore
205: .line 1152
return
end local 81 // long carry16
end local 79 // long carry15
end local 77 // long carry14
end local 75 // long carry13
end local 73 // long carry12
end local 71 // long carry11
end local 69 // long carry10
end local 67 // long carry9
end local 65 // long carry8
end local 63 // long carry7
end local 61 // long carry6
end local 59 // long carry5
end local 57 // long carry4
end local 55 // long carry3
end local 53 // long carry2
end local 51 // long carry1
end local 49 // long carry0
end local 47 // long s23
end local 45 // long s22
end local 43 // long s21
end local 41 // long s20
end local 39 // long s19
end local 37 // long s18
end local 35 // long s17
end local 33 // long s16
end local 31 // long s15
end local 29 // long s14
end local 27 // long s13
end local 25 // long s12
end local 23 // long s11
end local 21 // long s10
end local 19 // long s9
end local 17 // long s8
end local 15 // long s7
end local 13 // long s6
end local 11 // long s5
end local 9 // long s4
end local 7 // long s3
end local 5 // long s2
end local 3 // long s1
end local 1 // long s0
end local 0 // byte[] s
LocalVariableTable:
Start End Slot Name Signature
0 206 0 s [B
1 206 1 s0 J
2 206 3 s1 J
3 206 5 s2 J
4 206 7 s3 J
5 206 9 s4 J
6 206 11 s5 J
7 206 13 s6 J
8 206 15 s7 J
9 206 17 s8 J
10 206 19 s9 J
11 206 21 s10 J
12 206 23 s11 J
13 206 25 s12 J
14 206 27 s13 J
15 206 29 s14 J
16 206 31 s15 J
17 206 33 s16 J
18 206 35 s17 J
19 206 37 s18 J
20 206 39 s19 J
21 206 41 s20 J
22 206 43 s21 J
23 206 45 s22 J
24 206 47 s23 J
120 206 49 carry0 J
129 206 51 carry1 J
122 206 53 carry2 J
131 206 55 carry3 J
124 206 57 carry4 J
133 206 59 carry5 J
61 206 61 carry6 J
73 206 63 carry7 J
63 206 65 carry8 J
75 206 67 carry9 J
65 206 69 carry10 J
77 206 71 carry11 J
67 206 73 carry12 J
79 206 75 carry13 J
69 206 77 carry14 J
81 206 79 carry15 J
71 206 81 carry16 J
MethodParameters:
Name Flags
s
private static void mulAdd(byte[], byte[], byte[], byte[]);
descriptor: ([B[B[B[B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=170, args_size=4
start local 0 // byte[] s
start local 1 // byte[] a
start local 2 // byte[] b
start local 3 // byte[] c
0: .line 1167
ldc 2097151
aload 1 /* a */
iconst_0
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 4 /* a0 */
start local 4 // long a0
1: .line 1168
ldc 2097151
aload 1 /* a */
iconst_2
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 6 /* a1 */
start local 6 // long a1
2: .line 1169
ldc 2097151
aload 1 /* a */
iconst_5
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 8 /* a2 */
start local 8 // long a2
3: .line 1170
ldc 2097151
aload 1 /* a */
bipush 7
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 10 /* a3 */
start local 10 // long a3
4: .line 1171
ldc 2097151
aload 1 /* a */
bipush 10
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 12 /* a4 */
start local 12 // long a4
5: .line 1172
ldc 2097151
aload 1 /* a */
bipush 13
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 14 /* a5 */
start local 14 // long a5
6: .line 1173
ldc 2097151
aload 1 /* a */
bipush 15
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 16 /* a6 */
start local 16 // long a6
7: .line 1174
ldc 2097151
aload 1 /* a */
bipush 18
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_3
lshr
land
lstore 18 /* a7 */
start local 18 // long a7
8: .line 1175
ldc 2097151
aload 1 /* a */
bipush 21
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 20 /* a8 */
start local 20 // long a8
9: .line 1176
ldc 2097151
aload 1 /* a */
bipush 23
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 22 /* a9 */
start local 22 // long a9
10: .line 1177
ldc 2097151
aload 1 /* a */
bipush 26
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 24 /* a10 */
start local 24 // long a10
11: .line 1178
aload 1 /* a */
bipush 28
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
lstore 26 /* a11 */
start local 26 // long a11
12: .line 1179
ldc 2097151
aload 2 /* b */
iconst_0
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 28 /* b0 */
start local 28 // long b0
13: .line 1180
ldc 2097151
aload 2 /* b */
iconst_2
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 30 /* b1 */
start local 30 // long b1
14: .line 1181
ldc 2097151
aload 2 /* b */
iconst_5
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 32 /* b2 */
start local 32 // long b2
15: .line 1182
ldc 2097151
aload 2 /* b */
bipush 7
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 34 /* b3 */
start local 34 // long b3
16: .line 1183
ldc 2097151
aload 2 /* b */
bipush 10
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 36 /* b4 */
start local 36 // long b4
17: .line 1184
ldc 2097151
aload 2 /* b */
bipush 13
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 38 /* b5 */
start local 38 // long b5
18: .line 1185
ldc 2097151
aload 2 /* b */
bipush 15
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 40 /* b6 */
start local 40 // long b6
19: .line 1186
ldc 2097151
aload 2 /* b */
bipush 18
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_3
lshr
land
lstore 42 /* b7 */
start local 42 // long b7
20: .line 1187
ldc 2097151
aload 2 /* b */
bipush 21
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 44 /* b8 */
start local 44 // long b8
21: .line 1188
ldc 2097151
aload 2 /* b */
bipush 23
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 46 /* b9 */
start local 46 // long b9
22: .line 1189
ldc 2097151
aload 2 /* b */
bipush 26
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 48 /* b10 */
start local 48 // long b10
23: .line 1190
aload 2 /* b */
bipush 28
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
lstore 50 /* b11 */
start local 50 // long b11
24: .line 1191
ldc 2097151
aload 3 /* c */
iconst_0
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 52 /* c0 */
start local 52 // long c0
25: .line 1192
ldc 2097151
aload 3 /* c */
iconst_2
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 54 /* c1 */
start local 54 // long c1
26: .line 1193
ldc 2097151
aload 3 /* c */
iconst_5
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 56 /* c2 */
start local 56 // long c2
27: .line 1194
ldc 2097151
aload 3 /* c */
bipush 7
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
land
lstore 58 /* c3 */
start local 58 // long c3
28: .line 1195
ldc 2097151
aload 3 /* c */
bipush 10
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_4
lshr
land
lstore 60 /* c4 */
start local 60 // long c4
29: .line 1196
ldc 2097151
aload 3 /* c */
bipush 13
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_1
lshr
land
lstore 62 /* c5 */
start local 62 // long c5
30: .line 1197
ldc 2097151
aload 3 /* c */
bipush 15
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 6
lshr
land
lstore 64 /* c6 */
start local 64 // long c6
31: .line 1198
ldc 2097151
aload 3 /* c */
bipush 18
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_3
lshr
land
lstore 66 /* c7 */
start local 66 // long c7
32: .line 1199
ldc 2097151
aload 3 /* c */
bipush 21
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
land
lstore 68 /* c8 */
start local 68 // long c8
33: .line 1200
ldc 2097151
aload 3 /* c */
bipush 23
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
iconst_5
lshr
land
lstore 70 /* c9 */
start local 70 // long c9
34: .line 1201
ldc 2097151
aload 3 /* c */
bipush 26
invokestatic com.google.crypto.tink.subtle.Ed25519.load3:([BI)J
iconst_2
lshr
land
lstore 72 /* c10 */
start local 72 // long c10
35: .line 1202
aload 3 /* c */
bipush 28
invokestatic com.google.crypto.tink.subtle.Ed25519.load4:([BI)J
bipush 7
lshr
lstore 74 /* c11 */
start local 74 // long c11
36: .line 1251
lload 52 /* c0 */
lload 4 /* a0 */
lload 28 /* b0 */
lmul
ladd
lstore 76 /* s0 */
start local 76 // long s0
37: .line 1252
lload 54 /* c1 */
lload 4 /* a0 */
lload 30 /* b1 */
lmul
ladd
lload 6 /* a1 */
lload 28 /* b0 */
lmul
ladd
lstore 78 /* s1 */
start local 78 // long s1
38: .line 1253
lload 56 /* c2 */
lload 4 /* a0 */
lload 32 /* b2 */
lmul
ladd
lload 6 /* a1 */
lload 30 /* b1 */
lmul
ladd
lload 8 /* a2 */
lload 28 /* b0 */
lmul
ladd
lstore 80 /* s2 */
start local 80 // long s2
39: .line 1254
lload 58 /* c3 */
lload 4 /* a0 */
lload 34 /* b3 */
lmul
ladd
lload 6 /* a1 */
lload 32 /* b2 */
lmul
ladd
lload 8 /* a2 */
lload 30 /* b1 */
lmul
ladd
lload 10 /* a3 */
lload 28 /* b0 */
lmul
ladd
lstore 82 /* s3 */
start local 82 // long s3
40: .line 1255
lload 60 /* c4 */
lload 4 /* a0 */
lload 36 /* b4 */
lmul
ladd
lload 6 /* a1 */
lload 34 /* b3 */
lmul
ladd
lload 8 /* a2 */
lload 32 /* b2 */
lmul
ladd
lload 10 /* a3 */
lload 30 /* b1 */
lmul
ladd
lload 12 /* a4 */
lload 28 /* b0 */
lmul
ladd
lstore 84 /* s4 */
start local 84 // long s4
41: .line 1256
lload 62 /* c5 */
lload 4 /* a0 */
lload 38 /* b5 */
lmul
ladd
lload 6 /* a1 */
lload 36 /* b4 */
lmul
ladd
lload 8 /* a2 */
lload 34 /* b3 */
lmul
ladd
lload 10 /* a3 */
lload 32 /* b2 */
lmul
ladd
lload 12 /* a4 */
lload 30 /* b1 */
lmul
ladd
lload 14 /* a5 */
lload 28 /* b0 */
lmul
ladd
lstore 86 /* s5 */
start local 86 // long s5
42: .line 1257
lload 64 /* c6 */
lload 4 /* a0 */
lload 40 /* b6 */
lmul
ladd
lload 6 /* a1 */
lload 38 /* b5 */
lmul
ladd
lload 8 /* a2 */
lload 36 /* b4 */
lmul
ladd
lload 10 /* a3 */
lload 34 /* b3 */
lmul
ladd
lload 12 /* a4 */
lload 32 /* b2 */
lmul
ladd
lload 14 /* a5 */
lload 30 /* b1 */
lmul
ladd
lload 16 /* a6 */
lload 28 /* b0 */
lmul
ladd
lstore 88 /* s6 */
start local 88 // long s6
43: .line 1258
lload 66 /* c7 */
lload 4 /* a0 */
lload 42 /* b7 */
lmul
ladd
lload 6 /* a1 */
lload 40 /* b6 */
lmul
ladd
lload 8 /* a2 */
lload 38 /* b5 */
lmul
ladd
lload 10 /* a3 */
lload 36 /* b4 */
lmul
ladd
lload 12 /* a4 */
lload 34 /* b3 */
lmul
ladd
lload 14 /* a5 */
lload 32 /* b2 */
lmul
ladd
lload 16 /* a6 */
lload 30 /* b1 */
lmul
ladd
lload 18 /* a7 */
lload 28 /* b0 */
lmul
ladd
lstore 90 /* s7 */
start local 90 // long s7
44: .line 1259
lload 68 /* c8 */
lload 4 /* a0 */
lload 44 /* b8 */
lmul
ladd
lload 6 /* a1 */
lload 42 /* b7 */
lmul
ladd
lload 8 /* a2 */
lload 40 /* b6 */
lmul
ladd
lload 10 /* a3 */
lload 38 /* b5 */
lmul
ladd
lload 12 /* a4 */
lload 36 /* b4 */
lmul
ladd
lload 14 /* a5 */
lload 34 /* b3 */
lmul
ladd
lload 16 /* a6 */
lload 32 /* b2 */
lmul
ladd
lload 18 /* a7 */
lload 30 /* b1 */
lmul
ladd
45: .line 1260
lload 20 /* a8 */
lload 28 /* b0 */
lmul
46: .line 1259
ladd
lstore 92 /* s8 */
start local 92 // long s8
47: .line 1261
lload 70 /* c9 */
lload 4 /* a0 */
lload 46 /* b9 */
lmul
ladd
lload 6 /* a1 */
lload 44 /* b8 */
lmul
ladd
lload 8 /* a2 */
lload 42 /* b7 */
lmul
ladd
lload 10 /* a3 */
lload 40 /* b6 */
lmul
ladd
lload 12 /* a4 */
lload 38 /* b5 */
lmul
ladd
lload 14 /* a5 */
lload 36 /* b4 */
lmul
ladd
lload 16 /* a6 */
lload 34 /* b3 */
lmul
ladd
lload 18 /* a7 */
lload 32 /* b2 */
lmul
ladd
48: .line 1262
lload 20 /* a8 */
lload 30 /* b1 */
lmul
49: .line 1261
ladd
50: .line 1262
lload 22 /* a9 */
lload 28 /* b0 */
lmul
51: .line 1261
ladd
lstore 94 /* s9 */
start local 94 // long s9
52: .line 1263
lload 72 /* c10 */
lload 4 /* a0 */
lload 48 /* b10 */
lmul
ladd
lload 6 /* a1 */
lload 46 /* b9 */
lmul
ladd
lload 8 /* a2 */
lload 44 /* b8 */
lmul
ladd
lload 10 /* a3 */
lload 42 /* b7 */
lmul
ladd
lload 12 /* a4 */
lload 40 /* b6 */
lmul
ladd
lload 14 /* a5 */
lload 38 /* b5 */
lmul
ladd
lload 16 /* a6 */
lload 36 /* b4 */
lmul
ladd
lload 18 /* a7 */
lload 34 /* b3 */
lmul
ladd
53: .line 1264
lload 20 /* a8 */
lload 32 /* b2 */
lmul
54: .line 1263
ladd
55: .line 1264
lload 22 /* a9 */
lload 30 /* b1 */
lmul
56: .line 1263
ladd
57: .line 1264
lload 24 /* a10 */
lload 28 /* b0 */
lmul
58: .line 1263
ladd
lstore 96 /* s10 */
start local 96 // long s10
59: .line 1265
lload 74 /* c11 */
lload 4 /* a0 */
lload 50 /* b11 */
lmul
ladd
lload 6 /* a1 */
lload 48 /* b10 */
lmul
ladd
lload 8 /* a2 */
lload 46 /* b9 */
lmul
ladd
lload 10 /* a3 */
lload 44 /* b8 */
lmul
ladd
lload 12 /* a4 */
lload 42 /* b7 */
lmul
ladd
lload 14 /* a5 */
lload 40 /* b6 */
lmul
ladd
lload 16 /* a6 */
lload 38 /* b5 */
lmul
ladd
lload 18 /* a7 */
lload 36 /* b4 */
lmul
ladd
60: .line 1266
lload 20 /* a8 */
lload 34 /* b3 */
lmul
61: .line 1265
ladd
62: .line 1266
lload 22 /* a9 */
lload 32 /* b2 */
lmul
63: .line 1265
ladd
64: .line 1266
lload 24 /* a10 */
lload 30 /* b1 */
lmul
65: .line 1265
ladd
66: .line 1266
lload 26 /* a11 */
lload 28 /* b0 */
lmul
67: .line 1265
ladd
lstore 98 /* s11 */
start local 98 // long s11
68: .line 1267
lload 6 /* a1 */
lload 50 /* b11 */
lmul
lload 8 /* a2 */
lload 48 /* b10 */
lmul
ladd
lload 10 /* a3 */
lload 46 /* b9 */
lmul
ladd
lload 12 /* a4 */
lload 44 /* b8 */
lmul
ladd
lload 14 /* a5 */
lload 42 /* b7 */
lmul
ladd
lload 16 /* a6 */
lload 40 /* b6 */
lmul
ladd
lload 18 /* a7 */
lload 38 /* b5 */
lmul
ladd
lload 20 /* a8 */
lload 36 /* b4 */
lmul
ladd
lload 22 /* a9 */
lload 34 /* b3 */
lmul
ladd
69: .line 1268
lload 24 /* a10 */
lload 32 /* b2 */
lmul
70: .line 1267
ladd
71: .line 1268
lload 26 /* a11 */
lload 30 /* b1 */
lmul
72: .line 1267
ladd
lstore 100 /* s12 */
start local 100 // long s12
73: .line 1269
lload 8 /* a2 */
lload 50 /* b11 */
lmul
lload 10 /* a3 */
lload 48 /* b10 */
lmul
ladd
lload 12 /* a4 */
lload 46 /* b9 */
lmul
ladd
lload 14 /* a5 */
lload 44 /* b8 */
lmul
ladd
lload 16 /* a6 */
lload 42 /* b7 */
lmul
ladd
lload 18 /* a7 */
lload 40 /* b6 */
lmul
ladd
lload 20 /* a8 */
lload 38 /* b5 */
lmul
ladd
lload 22 /* a9 */
lload 36 /* b4 */
lmul
ladd
lload 24 /* a10 */
lload 34 /* b3 */
lmul
ladd
74: .line 1270
lload 26 /* a11 */
lload 32 /* b2 */
lmul
75: .line 1269
ladd
lstore 102 /* s13 */
start local 102 // long s13
76: .line 1271
lload 10 /* a3 */
lload 50 /* b11 */
lmul
lload 12 /* a4 */
lload 48 /* b10 */
lmul
ladd
lload 14 /* a5 */
lload 46 /* b9 */
lmul
ladd
lload 16 /* a6 */
lload 44 /* b8 */
lmul
ladd
lload 18 /* a7 */
lload 42 /* b7 */
lmul
ladd
lload 20 /* a8 */
lload 40 /* b6 */
lmul
ladd
lload 22 /* a9 */
lload 38 /* b5 */
lmul
ladd
lload 24 /* a10 */
lload 36 /* b4 */
lmul
ladd
77: .line 1272
lload 26 /* a11 */
lload 34 /* b3 */
lmul
78: .line 1271
ladd
lstore 104 /* s14 */
start local 104 // long s14
79: .line 1273
lload 12 /* a4 */
lload 50 /* b11 */
lmul
lload 14 /* a5 */
lload 48 /* b10 */
lmul
ladd
lload 16 /* a6 */
lload 46 /* b9 */
lmul
ladd
lload 18 /* a7 */
lload 44 /* b8 */
lmul
ladd
lload 20 /* a8 */
lload 42 /* b7 */
lmul
ladd
lload 22 /* a9 */
lload 40 /* b6 */
lmul
ladd
lload 24 /* a10 */
lload 38 /* b5 */
lmul
ladd
lload 26 /* a11 */
lload 36 /* b4 */
lmul
ladd
lstore 106 /* s15 */
start local 106 // long s15
80: .line 1274
lload 14 /* a5 */
lload 50 /* b11 */
lmul
lload 16 /* a6 */
lload 48 /* b10 */
lmul
ladd
lload 18 /* a7 */
lload 46 /* b9 */
lmul
ladd
lload 20 /* a8 */
lload 44 /* b8 */
lmul
ladd
lload 22 /* a9 */
lload 42 /* b7 */
lmul
ladd
lload 24 /* a10 */
lload 40 /* b6 */
lmul
ladd
lload 26 /* a11 */
lload 38 /* b5 */
lmul
ladd
lstore 108 /* s16 */
start local 108 // long s16
81: .line 1275
lload 16 /* a6 */
lload 50 /* b11 */
lmul
lload 18 /* a7 */
lload 48 /* b10 */
lmul
ladd
lload 20 /* a8 */
lload 46 /* b9 */
lmul
ladd
lload 22 /* a9 */
lload 44 /* b8 */
lmul
ladd
lload 24 /* a10 */
lload 42 /* b7 */
lmul
ladd
lload 26 /* a11 */
lload 40 /* b6 */
lmul
ladd
lstore 110 /* s17 */
start local 110 // long s17
82: .line 1276
lload 18 /* a7 */
lload 50 /* b11 */
lmul
lload 20 /* a8 */
lload 48 /* b10 */
lmul
ladd
lload 22 /* a9 */
lload 46 /* b9 */
lmul
ladd
lload 24 /* a10 */
lload 44 /* b8 */
lmul
ladd
lload 26 /* a11 */
lload 42 /* b7 */
lmul
ladd
lstore 112 /* s18 */
start local 112 // long s18
83: .line 1277
lload 20 /* a8 */
lload 50 /* b11 */
lmul
lload 22 /* a9 */
lload 48 /* b10 */
lmul
ladd
lload 24 /* a10 */
lload 46 /* b9 */
lmul
ladd
lload 26 /* a11 */
lload 44 /* b8 */
lmul
ladd
lstore 114 /* s19 */
start local 114 // long s19
84: .line 1278
lload 22 /* a9 */
lload 50 /* b11 */
lmul
lload 24 /* a10 */
lload 48 /* b10 */
lmul
ladd
lload 26 /* a11 */
lload 46 /* b9 */
lmul
ladd
lstore 116 /* s20 */
start local 116 // long s20
85: .line 1279
lload 24 /* a10 */
lload 50 /* b11 */
lmul
lload 26 /* a11 */
lload 48 /* b10 */
lmul
ladd
lstore 118 /* s21 */
start local 118 // long s21
86: .line 1280
lload 26 /* a11 */
lload 50 /* b11 */
lmul
lstore 120 /* s22 */
start local 120 // long s22
87: .line 1281
lconst_0
lstore 122 /* s23 */
start local 122 // long s23
88: .line 1283
lload 76 /* s0 */
ldc 1048576
ladd
bipush 21
lshr
lstore 124 /* carry0 */
start local 124 // long carry0
89: lload 78 /* s1 */
lload 124 /* carry0 */
ladd
lstore 78 /* s1 */
lload 76 /* s0 */
lload 124 /* carry0 */
bipush 21
lshl
lsub
lstore 76 /* s0 */
90: .line 1284
lload 80 /* s2 */
ldc 1048576
ladd
bipush 21
lshr
lstore 128 /* carry2 */
start local 128 // long carry2
91: lload 82 /* s3 */
lload 128 /* carry2 */
ladd
lstore 82 /* s3 */
lload 80 /* s2 */
lload 128 /* carry2 */
bipush 21
lshl
lsub
lstore 80 /* s2 */
92: .line 1285
lload 84 /* s4 */
ldc 1048576
ladd
bipush 21
lshr
lstore 132 /* carry4 */
start local 132 // long carry4
93: lload 86 /* s5 */
lload 132 /* carry4 */
ladd
lstore 86 /* s5 */
lload 84 /* s4 */
lload 132 /* carry4 */
bipush 21
lshl
lsub
lstore 84 /* s4 */
94: .line 1286
lload 88 /* s6 */
ldc 1048576
ladd
bipush 21
lshr
lstore 136 /* carry6 */
start local 136 // long carry6
95: lload 90 /* s7 */
lload 136 /* carry6 */
ladd
lstore 90 /* s7 */
lload 88 /* s6 */
lload 136 /* carry6 */
bipush 21
lshl
lsub
lstore 88 /* s6 */
96: .line 1287
lload 92 /* s8 */
ldc 1048576
ladd
bipush 21
lshr
lstore 140 /* carry8 */
start local 140 // long carry8
97: lload 94 /* s9 */
lload 140 /* carry8 */
ladd
lstore 94 /* s9 */
lload 92 /* s8 */
lload 140 /* carry8 */
bipush 21
lshl
lsub
lstore 92 /* s8 */
98: .line 1288
lload 96 /* s10 */
ldc 1048576
ladd
bipush 21
lshr
lstore 144 /* carry10 */
start local 144 // long carry10
99: lload 98 /* s11 */
lload 144 /* carry10 */
ladd
lstore 98 /* s11 */
lload 96 /* s10 */
lload 144 /* carry10 */
bipush 21
lshl
lsub
lstore 96 /* s10 */
100: .line 1289
lload 100 /* s12 */
ldc 1048576
ladd
bipush 21
lshr
lstore 148 /* carry12 */
start local 148 // long carry12
101: lload 102 /* s13 */
lload 148 /* carry12 */
ladd
lstore 102 /* s13 */
lload 100 /* s12 */
lload 148 /* carry12 */
bipush 21
lshl
lsub
lstore 100 /* s12 */
102: .line 1290
lload 104 /* s14 */
ldc 1048576
ladd
bipush 21
lshr
lstore 152 /* carry14 */
start local 152 // long carry14
103: lload 106 /* s15 */
lload 152 /* carry14 */
ladd
lstore 106 /* s15 */
lload 104 /* s14 */
lload 152 /* carry14 */
bipush 21
lshl
lsub
lstore 104 /* s14 */
104: .line 1291
lload 108 /* s16 */
ldc 1048576
ladd
bipush 21
lshr
lstore 156 /* carry16 */
start local 156 // long carry16
105: lload 110 /* s17 */
lload 156 /* carry16 */
ladd
lstore 110 /* s17 */
lload 108 /* s16 */
lload 156 /* carry16 */
bipush 21
lshl
lsub
lstore 108 /* s16 */
106: .line 1292
lload 112 /* s18 */
ldc 1048576
ladd
bipush 21
lshr
lstore 160 /* carry18 */
start local 160 // long carry18
107: lload 114 /* s19 */
lload 160 /* carry18 */
ladd
lstore 114 /* s19 */
lload 112 /* s18 */
lload 160 /* carry18 */
bipush 21
lshl
lsub
lstore 112 /* s18 */
108: .line 1293
lload 116 /* s20 */
ldc 1048576
ladd
bipush 21
lshr
lstore 164 /* carry20 */
start local 164 // long carry20
109: lload 118 /* s21 */
lload 164 /* carry20 */
ladd
lstore 118 /* s21 */
lload 116 /* s20 */
lload 164 /* carry20 */
bipush 21
lshl
lsub
lstore 116 /* s20 */
110: .line 1294
lload 120 /* s22 */
ldc 1048576
ladd
bipush 21
lshr
lstore 168 /* carry22 */
start local 168 // long carry22
111: lload 122 /* s23 */
lload 168 /* carry22 */
ladd
lstore 122 /* s23 */
lload 120 /* s22 */
lload 168 /* carry22 */
bipush 21
lshl
lsub
lstore 120 /* s22 */
112: .line 1296
lload 78 /* s1 */
ldc 1048576
ladd
bipush 21
lshr
lstore 126 /* carry1 */
start local 126 // long carry1
113: lload 80 /* s2 */
lload 126 /* carry1 */
ladd
lstore 80 /* s2 */
lload 78 /* s1 */
lload 126 /* carry1 */
bipush 21
lshl
lsub
lstore 78 /* s1 */
114: .line 1297
lload 82 /* s3 */
ldc 1048576
ladd
bipush 21
lshr
lstore 130 /* carry3 */
start local 130 // long carry3
115: lload 84 /* s4 */
lload 130 /* carry3 */
ladd
lstore 84 /* s4 */
lload 82 /* s3 */
lload 130 /* carry3 */
bipush 21
lshl
lsub
lstore 82 /* s3 */
116: .line 1298
lload 86 /* s5 */
ldc 1048576
ladd
bipush 21
lshr
lstore 134 /* carry5 */
start local 134 // long carry5
117: lload 88 /* s6 */
lload 134 /* carry5 */
ladd
lstore 88 /* s6 */
lload 86 /* s5 */
lload 134 /* carry5 */
bipush 21
lshl
lsub
lstore 86 /* s5 */
118: .line 1299
lload 90 /* s7 */
ldc 1048576
ladd
bipush 21
lshr
lstore 138 /* carry7 */
start local 138 // long carry7
119: lload 92 /* s8 */
lload 138 /* carry7 */
ladd
lstore 92 /* s8 */
lload 90 /* s7 */
lload 138 /* carry7 */
bipush 21
lshl
lsub
lstore 90 /* s7 */
120: .line 1300
lload 94 /* s9 */
ldc 1048576
ladd
bipush 21
lshr
lstore 142 /* carry9 */
start local 142 // long carry9
121: lload 96 /* s10 */
lload 142 /* carry9 */
ladd
lstore 96 /* s10 */
lload 94 /* s9 */
lload 142 /* carry9 */
bipush 21
lshl
lsub
lstore 94 /* s9 */
122: .line 1301
lload 98 /* s11 */
ldc 1048576
ladd
bipush 21
lshr
lstore 146 /* carry11 */
start local 146 // long carry11
123: lload 100 /* s12 */
lload 146 /* carry11 */
ladd
lstore 100 /* s12 */
lload 98 /* s11 */
lload 146 /* carry11 */
bipush 21
lshl
lsub
lstore 98 /* s11 */
124: .line 1302
lload 102 /* s13 */
ldc 1048576
ladd
bipush 21
lshr
lstore 150 /* carry13 */
start local 150 // long carry13
125: lload 104 /* s14 */
lload 150 /* carry13 */
ladd
lstore 104 /* s14 */
lload 102 /* s13 */
lload 150 /* carry13 */
bipush 21
lshl
lsub
lstore 102 /* s13 */
126: .line 1303
lload 106 /* s15 */
ldc 1048576
ladd
bipush 21
lshr
lstore 154 /* carry15 */
start local 154 // long carry15
127: lload 108 /* s16 */
lload 154 /* carry15 */
ladd
lstore 108 /* s16 */
lload 106 /* s15 */
lload 154 /* carry15 */
bipush 21
lshl
lsub
lstore 106 /* s15 */
128: .line 1304
lload 110 /* s17 */
ldc 1048576
ladd
bipush 21
lshr
lstore 158 /* carry17 */
start local 158 // long carry17
129: lload 112 /* s18 */
lload 158 /* carry17 */
ladd
lstore 112 /* s18 */
lload 110 /* s17 */
lload 158 /* carry17 */
bipush 21
lshl
lsub
lstore 110 /* s17 */
130: .line 1305
lload 114 /* s19 */
ldc 1048576
ladd
bipush 21
lshr
lstore 162 /* carry19 */
start local 162 // long carry19
131: lload 116 /* s20 */
lload 162 /* carry19 */
ladd
lstore 116 /* s20 */
lload 114 /* s19 */
lload 162 /* carry19 */
bipush 21
lshl
lsub
lstore 114 /* s19 */
132: .line 1306
lload 118 /* s21 */
ldc 1048576
ladd
bipush 21
lshr
lstore 166 /* carry21 */
start local 166 // long carry21
133: lload 120 /* s22 */
lload 166 /* carry21 */
ladd
lstore 120 /* s22 */
lload 118 /* s21 */
lload 166 /* carry21 */
bipush 21
lshl
lsub
lstore 118 /* s21 */
134: .line 1308
lload 98 /* s11 */
lload 122 /* s23 */
ldc 666643
lmul
ladd
lstore 98 /* s11 */
135: .line 1309
lload 100 /* s12 */
lload 122 /* s23 */
ldc 470296
lmul
ladd
lstore 100 /* s12 */
136: .line 1310
lload 102 /* s13 */
lload 122 /* s23 */
ldc 654183
lmul
ladd
lstore 102 /* s13 */
137: .line 1311
lload 104 /* s14 */
lload 122 /* s23 */
ldc 997805
lmul
lsub
lstore 104 /* s14 */
138: .line 1312
lload 106 /* s15 */
lload 122 /* s23 */
ldc 136657
lmul
ladd
lstore 106 /* s15 */
139: .line 1313
lload 108 /* s16 */
lload 122 /* s23 */
ldc 683901
lmul
lsub
lstore 108 /* s16 */
140: .line 1316
lload 96 /* s10 */
lload 120 /* s22 */
ldc 666643
lmul
ladd
lstore 96 /* s10 */
141: .line 1317
lload 98 /* s11 */
lload 120 /* s22 */
ldc 470296
lmul
ladd
lstore 98 /* s11 */
142: .line 1318
lload 100 /* s12 */
lload 120 /* s22 */
ldc 654183
lmul
ladd
lstore 100 /* s12 */
143: .line 1319
lload 102 /* s13 */
lload 120 /* s22 */
ldc 997805
lmul
lsub
lstore 102 /* s13 */
144: .line 1320
lload 104 /* s14 */
lload 120 /* s22 */
ldc 136657
lmul
ladd
lstore 104 /* s14 */
145: .line 1321
lload 106 /* s15 */
lload 120 /* s22 */
ldc 683901
lmul
lsub
lstore 106 /* s15 */
146: .line 1324
lload 94 /* s9 */
lload 118 /* s21 */
ldc 666643
lmul
ladd
lstore 94 /* s9 */
147: .line 1325
lload 96 /* s10 */
lload 118 /* s21 */
ldc 470296
lmul
ladd
lstore 96 /* s10 */
148: .line 1326
lload 98 /* s11 */
lload 118 /* s21 */
ldc 654183
lmul
ladd
lstore 98 /* s11 */
149: .line 1327
lload 100 /* s12 */
lload 118 /* s21 */
ldc 997805
lmul
lsub
lstore 100 /* s12 */
150: .line 1328
lload 102 /* s13 */
lload 118 /* s21 */
ldc 136657
lmul
ladd
lstore 102 /* s13 */
151: .line 1329
lload 104 /* s14 */
lload 118 /* s21 */
ldc 683901
lmul
lsub
lstore 104 /* s14 */
152: .line 1332
lload 92 /* s8 */
lload 116 /* s20 */
ldc 666643
lmul
ladd
lstore 92 /* s8 */
153: .line 1333
lload 94 /* s9 */
lload 116 /* s20 */
ldc 470296
lmul
ladd
lstore 94 /* s9 */
154: .line 1334
lload 96 /* s10 */
lload 116 /* s20 */
ldc 654183
lmul
ladd
lstore 96 /* s10 */
155: .line 1335
lload 98 /* s11 */
lload 116 /* s20 */
ldc 997805
lmul
lsub
lstore 98 /* s11 */
156: .line 1336
lload 100 /* s12 */
lload 116 /* s20 */
ldc 136657
lmul
ladd
lstore 100 /* s12 */
157: .line 1337
lload 102 /* s13 */
lload 116 /* s20 */
ldc 683901
lmul
lsub
lstore 102 /* s13 */
158: .line 1340
lload 90 /* s7 */
lload 114 /* s19 */
ldc 666643
lmul
ladd
lstore 90 /* s7 */
159: .line 1341
lload 92 /* s8 */
lload 114 /* s19 */
ldc 470296
lmul
ladd
lstore 92 /* s8 */
160: .line 1342
lload 94 /* s9 */
lload 114 /* s19 */
ldc 654183
lmul
ladd
lstore 94 /* s9 */
161: .line 1343
lload 96 /* s10 */
lload 114 /* s19 */
ldc 997805
lmul
lsub
lstore 96 /* s10 */
162: .line 1344
lload 98 /* s11 */
lload 114 /* s19 */
ldc 136657
lmul
ladd
lstore 98 /* s11 */
163: .line 1345
lload 100 /* s12 */
lload 114 /* s19 */
ldc 683901
lmul
lsub
lstore 100 /* s12 */
164: .line 1348
lload 88 /* s6 */
lload 112 /* s18 */
ldc 666643
lmul
ladd
lstore 88 /* s6 */
165: .line 1349
lload 90 /* s7 */
lload 112 /* s18 */
ldc 470296
lmul
ladd
lstore 90 /* s7 */
166: .line 1350
lload 92 /* s8 */
lload 112 /* s18 */
ldc 654183
lmul
ladd
lstore 92 /* s8 */
167: .line 1351
lload 94 /* s9 */
lload 112 /* s18 */
ldc 997805
lmul
lsub
lstore 94 /* s9 */
168: .line 1352
lload 96 /* s10 */
lload 112 /* s18 */
ldc 136657
lmul
ladd
lstore 96 /* s10 */
169: .line 1353
lload 98 /* s11 */
lload 112 /* s18 */
ldc 683901
lmul
lsub
lstore 98 /* s11 */
170: .line 1356
lload 88 /* s6 */
ldc 1048576
ladd
bipush 21
lshr
lstore 136 /* carry6 */
lload 90 /* s7 */
lload 136 /* carry6 */
ladd
lstore 90 /* s7 */
lload 88 /* s6 */
lload 136 /* carry6 */
bipush 21
lshl
lsub
lstore 88 /* s6 */
171: .line 1357
lload 92 /* s8 */
ldc 1048576
ladd
bipush 21
lshr
lstore 140 /* carry8 */
lload 94 /* s9 */
lload 140 /* carry8 */
ladd
lstore 94 /* s9 */
lload 92 /* s8 */
lload 140 /* carry8 */
bipush 21
lshl
lsub
lstore 92 /* s8 */
172: .line 1358
lload 96 /* s10 */
ldc 1048576
ladd
bipush 21
lshr
lstore 144 /* carry10 */
lload 98 /* s11 */
lload 144 /* carry10 */
ladd
lstore 98 /* s11 */
lload 96 /* s10 */
lload 144 /* carry10 */
bipush 21
lshl
lsub
lstore 96 /* s10 */
173: .line 1359
lload 100 /* s12 */
ldc 1048576
ladd
bipush 21
lshr
lstore 148 /* carry12 */
lload 102 /* s13 */
lload 148 /* carry12 */
ladd
lstore 102 /* s13 */
lload 100 /* s12 */
lload 148 /* carry12 */
bipush 21
lshl
lsub
lstore 100 /* s12 */
174: .line 1360
lload 104 /* s14 */
ldc 1048576
ladd
bipush 21
lshr
lstore 152 /* carry14 */
lload 106 /* s15 */
lload 152 /* carry14 */
ladd
lstore 106 /* s15 */
lload 104 /* s14 */
lload 152 /* carry14 */
bipush 21
lshl
lsub
lstore 104 /* s14 */
175: .line 1361
lload 108 /* s16 */
ldc 1048576
ladd
bipush 21
lshr
lstore 156 /* carry16 */
lload 110 /* s17 */
lload 156 /* carry16 */
ladd
lstore 110 /* s17 */
lload 108 /* s16 */
lload 156 /* carry16 */
bipush 21
lshl
lsub
lstore 108 /* s16 */
176: .line 1363
lload 90 /* s7 */
ldc 1048576
ladd
bipush 21
lshr
lstore 138 /* carry7 */
lload 92 /* s8 */
lload 138 /* carry7 */
ladd
lstore 92 /* s8 */
lload 90 /* s7 */
lload 138 /* carry7 */
bipush 21
lshl
lsub
lstore 90 /* s7 */
177: .line 1364
lload 94 /* s9 */
ldc 1048576
ladd
bipush 21
lshr
lstore 142 /* carry9 */
lload 96 /* s10 */
lload 142 /* carry9 */
ladd
lstore 96 /* s10 */
lload 94 /* s9 */
lload 142 /* carry9 */
bipush 21
lshl
lsub
lstore 94 /* s9 */
178: .line 1365
lload 98 /* s11 */
ldc 1048576
ladd
bipush 21
lshr
lstore 146 /* carry11 */
lload 100 /* s12 */
lload 146 /* carry11 */
ladd
lstore 100 /* s12 */
lload 98 /* s11 */
lload 146 /* carry11 */
bipush 21
lshl
lsub
lstore 98 /* s11 */
179: .line 1366
lload 102 /* s13 */
ldc 1048576
ladd
bipush 21
lshr
lstore 150 /* carry13 */
lload 104 /* s14 */
lload 150 /* carry13 */
ladd
lstore 104 /* s14 */
lload 102 /* s13 */
lload 150 /* carry13 */
bipush 21
lshl
lsub
lstore 102 /* s13 */
180: .line 1367
lload 106 /* s15 */
ldc 1048576
ladd
bipush 21
lshr
lstore 154 /* carry15 */
lload 108 /* s16 */
lload 154 /* carry15 */
ladd
lstore 108 /* s16 */
lload 106 /* s15 */
lload 154 /* carry15 */
bipush 21
lshl
lsub
lstore 106 /* s15 */
181: .line 1369
lload 86 /* s5 */
lload 110 /* s17 */
ldc 666643
lmul
ladd
lstore 86 /* s5 */
182: .line 1370
lload 88 /* s6 */
lload 110 /* s17 */
ldc 470296
lmul
ladd
lstore 88 /* s6 */
183: .line 1371
lload 90 /* s7 */
lload 110 /* s17 */
ldc 654183
lmul
ladd
lstore 90 /* s7 */
184: .line 1372
lload 92 /* s8 */
lload 110 /* s17 */
ldc 997805
lmul
lsub
lstore 92 /* s8 */
185: .line 1373
lload 94 /* s9 */
lload 110 /* s17 */
ldc 136657
lmul
ladd
lstore 94 /* s9 */
186: .line 1374
lload 96 /* s10 */
lload 110 /* s17 */
ldc 683901
lmul
lsub
lstore 96 /* s10 */
187: .line 1377
lload 84 /* s4 */
lload 108 /* s16 */
ldc 666643
lmul
ladd
lstore 84 /* s4 */
188: .line 1378
lload 86 /* s5 */
lload 108 /* s16 */
ldc 470296
lmul
ladd
lstore 86 /* s5 */
189: .line 1379
lload 88 /* s6 */
lload 108 /* s16 */
ldc 654183
lmul
ladd
lstore 88 /* s6 */
190: .line 1380
lload 90 /* s7 */
lload 108 /* s16 */
ldc 997805
lmul
lsub
lstore 90 /* s7 */
191: .line 1381
lload 92 /* s8 */
lload 108 /* s16 */
ldc 136657
lmul
ladd
lstore 92 /* s8 */
192: .line 1382
lload 94 /* s9 */
lload 108 /* s16 */
ldc 683901
lmul
lsub
lstore 94 /* s9 */
193: .line 1385
lload 82 /* s3 */
lload 106 /* s15 */
ldc 666643
lmul
ladd
lstore 82 /* s3 */
194: .line 1386
lload 84 /* s4 */
lload 106 /* s15 */
ldc 470296
lmul
ladd
lstore 84 /* s4 */
195: .line 1387
lload 86 /* s5 */
lload 106 /* s15 */
ldc 654183
lmul
ladd
lstore 86 /* s5 */
196: .line 1388
lload 88 /* s6 */
lload 106 /* s15 */
ldc 997805
lmul
lsub
lstore 88 /* s6 */
197: .line 1389
lload 90 /* s7 */
lload 106 /* s15 */
ldc 136657
lmul
ladd
lstore 90 /* s7 */
198: .line 1390
lload 92 /* s8 */
lload 106 /* s15 */
ldc 683901
lmul
lsub
lstore 92 /* s8 */
199: .line 1393
lload 80 /* s2 */
lload 104 /* s14 */
ldc 666643
lmul
ladd
lstore 80 /* s2 */
200: .line 1394
lload 82 /* s3 */
lload 104 /* s14 */
ldc 470296
lmul
ladd
lstore 82 /* s3 */
201: .line 1395
lload 84 /* s4 */
lload 104 /* s14 */
ldc 654183
lmul
ladd
lstore 84 /* s4 */
202: .line 1396
lload 86 /* s5 */
lload 104 /* s14 */
ldc 997805
lmul
lsub
lstore 86 /* s5 */
203: .line 1397
lload 88 /* s6 */
lload 104 /* s14 */
ldc 136657
lmul
ladd
lstore 88 /* s6 */
204: .line 1398
lload 90 /* s7 */
lload 104 /* s14 */
ldc 683901
lmul
lsub
lstore 90 /* s7 */
205: .line 1401
lload 78 /* s1 */
lload 102 /* s13 */
ldc 666643
lmul
ladd
lstore 78 /* s1 */
206: .line 1402
lload 80 /* s2 */
lload 102 /* s13 */
ldc 470296
lmul
ladd
lstore 80 /* s2 */
207: .line 1403
lload 82 /* s3 */
lload 102 /* s13 */
ldc 654183
lmul
ladd
lstore 82 /* s3 */
208: .line 1404
lload 84 /* s4 */
lload 102 /* s13 */
ldc 997805
lmul
lsub
lstore 84 /* s4 */
209: .line 1405
lload 86 /* s5 */
lload 102 /* s13 */
ldc 136657
lmul
ladd
lstore 86 /* s5 */
210: .line 1406
lload 88 /* s6 */
lload 102 /* s13 */
ldc 683901
lmul
lsub
lstore 88 /* s6 */
211: .line 1409
lload 76 /* s0 */
lload 100 /* s12 */
ldc 666643
lmul
ladd
lstore 76 /* s0 */
212: .line 1410
lload 78 /* s1 */
lload 100 /* s12 */
ldc 470296
lmul
ladd
lstore 78 /* s1 */
213: .line 1411
lload 80 /* s2 */
lload 100 /* s12 */
ldc 654183
lmul
ladd
lstore 80 /* s2 */
214: .line 1412
lload 82 /* s3 */
lload 100 /* s12 */
ldc 997805
lmul
lsub
lstore 82 /* s3 */
215: .line 1413
lload 84 /* s4 */
lload 100 /* s12 */
ldc 136657
lmul
ladd
lstore 84 /* s4 */
216: .line 1414
lload 86 /* s5 */
lload 100 /* s12 */
ldc 683901
lmul
lsub
lstore 86 /* s5 */
217: .line 1415
lconst_0
lstore 100 /* s12 */
218: .line 1417
lload 76 /* s0 */
ldc 1048576
ladd
bipush 21
lshr
lstore 124 /* carry0 */
lload 78 /* s1 */
lload 124 /* carry0 */
ladd
lstore 78 /* s1 */
lload 76 /* s0 */
lload 124 /* carry0 */
bipush 21
lshl
lsub
lstore 76 /* s0 */
219: .line 1418
lload 80 /* s2 */
ldc 1048576
ladd
bipush 21
lshr
lstore 128 /* carry2 */
lload 82 /* s3 */
lload 128 /* carry2 */
ladd
lstore 82 /* s3 */
lload 80 /* s2 */
lload 128 /* carry2 */
bipush 21
lshl
lsub
lstore 80 /* s2 */
220: .line 1419
lload 84 /* s4 */
ldc 1048576
ladd
bipush 21
lshr
lstore 132 /* carry4 */
lload 86 /* s5 */
lload 132 /* carry4 */
ladd
lstore 86 /* s5 */
lload 84 /* s4 */
lload 132 /* carry4 */
bipush 21
lshl
lsub
lstore 84 /* s4 */
221: .line 1420
lload 88 /* s6 */
ldc 1048576
ladd
bipush 21
lshr
lstore 136 /* carry6 */
lload 90 /* s7 */
lload 136 /* carry6 */
ladd
lstore 90 /* s7 */
lload 88 /* s6 */
lload 136 /* carry6 */
bipush 21
lshl
lsub
lstore 88 /* s6 */
222: .line 1421
lload 92 /* s8 */
ldc 1048576
ladd
bipush 21
lshr
lstore 140 /* carry8 */
lload 94 /* s9 */
lload 140 /* carry8 */
ladd
lstore 94 /* s9 */
lload 92 /* s8 */
lload 140 /* carry8 */
bipush 21
lshl
lsub
lstore 92 /* s8 */
223: .line 1422
lload 96 /* s10 */
ldc 1048576
ladd
bipush 21
lshr
lstore 144 /* carry10 */
lload 98 /* s11 */
lload 144 /* carry10 */
ladd
lstore 98 /* s11 */
lload 96 /* s10 */
lload 144 /* carry10 */
bipush 21
lshl
lsub
lstore 96 /* s10 */
224: .line 1424
lload 78 /* s1 */
ldc 1048576
ladd
bipush 21
lshr
lstore 126 /* carry1 */
lload 80 /* s2 */
lload 126 /* carry1 */
ladd
lstore 80 /* s2 */
lload 78 /* s1 */
lload 126 /* carry1 */
bipush 21
lshl
lsub
lstore 78 /* s1 */
225: .line 1425
lload 82 /* s3 */
ldc 1048576
ladd
bipush 21
lshr
lstore 130 /* carry3 */
lload 84 /* s4 */
lload 130 /* carry3 */
ladd
lstore 84 /* s4 */
lload 82 /* s3 */
lload 130 /* carry3 */
bipush 21
lshl
lsub
lstore 82 /* s3 */
226: .line 1426
lload 86 /* s5 */
ldc 1048576
ladd
bipush 21
lshr
lstore 134 /* carry5 */
lload 88 /* s6 */
lload 134 /* carry5 */
ladd
lstore 88 /* s6 */
lload 86 /* s5 */
lload 134 /* carry5 */
bipush 21
lshl
lsub
lstore 86 /* s5 */
227: .line 1427
lload 90 /* s7 */
ldc 1048576
ladd
bipush 21
lshr
lstore 138 /* carry7 */
lload 92 /* s8 */
lload 138 /* carry7 */
ladd
lstore 92 /* s8 */
lload 90 /* s7 */
lload 138 /* carry7 */
bipush 21
lshl
lsub
lstore 90 /* s7 */
228: .line 1428
lload 94 /* s9 */
ldc 1048576
ladd
bipush 21
lshr
lstore 142 /* carry9 */
lload 96 /* s10 */
lload 142 /* carry9 */
ladd
lstore 96 /* s10 */
lload 94 /* s9 */
lload 142 /* carry9 */
bipush 21
lshl
lsub
lstore 94 /* s9 */
229: .line 1429
lload 98 /* s11 */
ldc 1048576
ladd
bipush 21
lshr
lstore 146 /* carry11 */
lload 100 /* s12 */
lload 146 /* carry11 */
ladd
lstore 100 /* s12 */
lload 98 /* s11 */
lload 146 /* carry11 */
bipush 21
lshl
lsub
lstore 98 /* s11 */
230: .line 1431
lload 76 /* s0 */
lload 100 /* s12 */
ldc 666643
lmul
ladd
lstore 76 /* s0 */
231: .line 1432
lload 78 /* s1 */
lload 100 /* s12 */
ldc 470296
lmul
ladd
lstore 78 /* s1 */
232: .line 1433
lload 80 /* s2 */
lload 100 /* s12 */
ldc 654183
lmul
ladd
lstore 80 /* s2 */
233: .line 1434
lload 82 /* s3 */
lload 100 /* s12 */
ldc 997805
lmul
lsub
lstore 82 /* s3 */
234: .line 1435
lload 84 /* s4 */
lload 100 /* s12 */
ldc 136657
lmul
ladd
lstore 84 /* s4 */
235: .line 1436
lload 86 /* s5 */
lload 100 /* s12 */
ldc 683901
lmul
lsub
lstore 86 /* s5 */
236: .line 1437
lconst_0
lstore 100 /* s12 */
237: .line 1439
lload 76 /* s0 */
bipush 21
lshr
lstore 124 /* carry0 */
lload 78 /* s1 */
lload 124 /* carry0 */
ladd
lstore 78 /* s1 */
lload 76 /* s0 */
lload 124 /* carry0 */
bipush 21
lshl
lsub
lstore 76 /* s0 */
238: .line 1440
lload 78 /* s1 */
bipush 21
lshr
lstore 126 /* carry1 */
lload 80 /* s2 */
lload 126 /* carry1 */
ladd
lstore 80 /* s2 */
lload 78 /* s1 */
lload 126 /* carry1 */
bipush 21
lshl
lsub
lstore 78 /* s1 */
239: .line 1441
lload 80 /* s2 */
bipush 21
lshr
lstore 128 /* carry2 */
lload 82 /* s3 */
lload 128 /* carry2 */
ladd
lstore 82 /* s3 */
lload 80 /* s2 */
lload 128 /* carry2 */
bipush 21
lshl
lsub
lstore 80 /* s2 */
240: .line 1442
lload 82 /* s3 */
bipush 21
lshr
lstore 130 /* carry3 */
lload 84 /* s4 */
lload 130 /* carry3 */
ladd
lstore 84 /* s4 */
lload 82 /* s3 */
lload 130 /* carry3 */
bipush 21
lshl
lsub
lstore 82 /* s3 */
241: .line 1443
lload 84 /* s4 */
bipush 21
lshr
lstore 132 /* carry4 */
lload 86 /* s5 */
lload 132 /* carry4 */
ladd
lstore 86 /* s5 */
lload 84 /* s4 */
lload 132 /* carry4 */
bipush 21
lshl
lsub
lstore 84 /* s4 */
242: .line 1444
lload 86 /* s5 */
bipush 21
lshr
lstore 134 /* carry5 */
lload 88 /* s6 */
lload 134 /* carry5 */
ladd
lstore 88 /* s6 */
lload 86 /* s5 */
lload 134 /* carry5 */
bipush 21
lshl
lsub
lstore 86 /* s5 */
243: .line 1445
lload 88 /* s6 */
bipush 21
lshr
lstore 136 /* carry6 */
lload 90 /* s7 */
lload 136 /* carry6 */
ladd
lstore 90 /* s7 */
lload 88 /* s6 */
lload 136 /* carry6 */
bipush 21
lshl
lsub
lstore 88 /* s6 */
244: .line 1446
lload 90 /* s7 */
bipush 21
lshr
lstore 138 /* carry7 */
lload 92 /* s8 */
lload 138 /* carry7 */
ladd
lstore 92 /* s8 */
lload 90 /* s7 */
lload 138 /* carry7 */
bipush 21
lshl
lsub
lstore 90 /* s7 */
245: .line 1447
lload 92 /* s8 */
bipush 21
lshr
lstore 140 /* carry8 */
lload 94 /* s9 */
lload 140 /* carry8 */
ladd
lstore 94 /* s9 */
lload 92 /* s8 */
lload 140 /* carry8 */
bipush 21
lshl
lsub
lstore 92 /* s8 */
246: .line 1448
lload 94 /* s9 */
bipush 21
lshr
lstore 142 /* carry9 */
lload 96 /* s10 */
lload 142 /* carry9 */
ladd
lstore 96 /* s10 */
lload 94 /* s9 */
lload 142 /* carry9 */
bipush 21
lshl
lsub
lstore 94 /* s9 */
247: .line 1449
lload 96 /* s10 */
bipush 21
lshr
lstore 144 /* carry10 */
lload 98 /* s11 */
lload 144 /* carry10 */
ladd
lstore 98 /* s11 */
lload 96 /* s10 */
lload 144 /* carry10 */
bipush 21
lshl
lsub
lstore 96 /* s10 */
248: .line 1450
lload 98 /* s11 */
bipush 21
lshr
lstore 146 /* carry11 */
lload 100 /* s12 */
lload 146 /* carry11 */
ladd
lstore 100 /* s12 */
lload 98 /* s11 */
lload 146 /* carry11 */
bipush 21
lshl
lsub
lstore 98 /* s11 */
249: .line 1452
lload 76 /* s0 */
lload 100 /* s12 */
ldc 666643
lmul
ladd
lstore 76 /* s0 */
250: .line 1453
lload 78 /* s1 */
lload 100 /* s12 */
ldc 470296
lmul
ladd
lstore 78 /* s1 */
251: .line 1454
lload 80 /* s2 */
lload 100 /* s12 */
ldc 654183
lmul
ladd
lstore 80 /* s2 */
252: .line 1455
lload 82 /* s3 */
lload 100 /* s12 */
ldc 997805
lmul
lsub
lstore 82 /* s3 */
253: .line 1456
lload 84 /* s4 */
lload 100 /* s12 */
ldc 136657
lmul
ladd
lstore 84 /* s4 */
254: .line 1457
lload 86 /* s5 */
lload 100 /* s12 */
ldc 683901
lmul
lsub
lstore 86 /* s5 */
255: .line 1460
lload 76 /* s0 */
bipush 21
lshr
lstore 124 /* carry0 */
lload 78 /* s1 */
lload 124 /* carry0 */
ladd
lstore 78 /* s1 */
lload 76 /* s0 */
lload 124 /* carry0 */
bipush 21
lshl
lsub
lstore 76 /* s0 */
256: .line 1461
lload 78 /* s1 */
bipush 21
lshr
lstore 126 /* carry1 */
lload 80 /* s2 */
lload 126 /* carry1 */
ladd
lstore 80 /* s2 */
lload 78 /* s1 */
lload 126 /* carry1 */
bipush 21
lshl
lsub
lstore 78 /* s1 */
257: .line 1462
lload 80 /* s2 */
bipush 21
lshr
lstore 128 /* carry2 */
lload 82 /* s3 */
lload 128 /* carry2 */
ladd
lstore 82 /* s3 */
lload 80 /* s2 */
lload 128 /* carry2 */
bipush 21
lshl
lsub
lstore 80 /* s2 */
258: .line 1463
lload 82 /* s3 */
bipush 21
lshr
lstore 130 /* carry3 */
lload 84 /* s4 */
lload 130 /* carry3 */
ladd
lstore 84 /* s4 */
lload 82 /* s3 */
lload 130 /* carry3 */
bipush 21
lshl
lsub
lstore 82 /* s3 */
259: .line 1464
lload 84 /* s4 */
bipush 21
lshr
lstore 132 /* carry4 */
lload 86 /* s5 */
lload 132 /* carry4 */
ladd
lstore 86 /* s5 */
lload 84 /* s4 */
lload 132 /* carry4 */
bipush 21
lshl
lsub
lstore 84 /* s4 */
260: .line 1465
lload 86 /* s5 */
bipush 21
lshr
lstore 134 /* carry5 */
lload 88 /* s6 */
lload 134 /* carry5 */
ladd
lstore 88 /* s6 */
lload 86 /* s5 */
lload 134 /* carry5 */
bipush 21
lshl
lsub
lstore 86 /* s5 */
261: .line 1466
lload 88 /* s6 */
bipush 21
lshr
lstore 136 /* carry6 */
lload 90 /* s7 */
lload 136 /* carry6 */
ladd
lstore 90 /* s7 */
lload 88 /* s6 */
lload 136 /* carry6 */
bipush 21
lshl
lsub
lstore 88 /* s6 */
262: .line 1467
lload 90 /* s7 */
bipush 21
lshr
lstore 138 /* carry7 */
lload 92 /* s8 */
lload 138 /* carry7 */
ladd
lstore 92 /* s8 */
lload 90 /* s7 */
lload 138 /* carry7 */
bipush 21
lshl
lsub
lstore 90 /* s7 */
263: .line 1468
lload 92 /* s8 */
bipush 21
lshr
lstore 140 /* carry8 */
lload 94 /* s9 */
lload 140 /* carry8 */
ladd
lstore 94 /* s9 */
lload 92 /* s8 */
lload 140 /* carry8 */
bipush 21
lshl
lsub
lstore 92 /* s8 */
264: .line 1469
lload 94 /* s9 */
bipush 21
lshr
lstore 142 /* carry9 */
lload 96 /* s10 */
lload 142 /* carry9 */
ladd
lstore 96 /* s10 */
lload 94 /* s9 */
lload 142 /* carry9 */
bipush 21
lshl
lsub
lstore 94 /* s9 */
265: .line 1470
lload 96 /* s10 */
bipush 21
lshr
lstore 144 /* carry10 */
lload 98 /* s11 */
lload 144 /* carry10 */
ladd
lstore 98 /* s11 */
lload 96 /* s10 */
lload 144 /* carry10 */
bipush 21
lshl
lsub
lstore 96 /* s10 */
266: .line 1472
aload 0 /* s */
iconst_0
lload 76 /* s0 */
l2i
i2b
bastore
267: .line 1473
aload 0 /* s */
iconst_1
lload 76 /* s0 */
bipush 8
lshr
l2i
i2b
bastore
268: .line 1474
aload 0 /* s */
iconst_2
lload 76 /* s0 */
bipush 16
lshr
lload 78 /* s1 */
iconst_5
lshl
lor
l2i
i2b
bastore
269: .line 1475
aload 0 /* s */
iconst_3
lload 78 /* s1 */
iconst_3
lshr
l2i
i2b
bastore
270: .line 1476
aload 0 /* s */
iconst_4
lload 78 /* s1 */
bipush 11
lshr
l2i
i2b
bastore
271: .line 1477
aload 0 /* s */
iconst_5
lload 78 /* s1 */
bipush 19
lshr
lload 80 /* s2 */
iconst_2
lshl
lor
l2i
i2b
bastore
272: .line 1478
aload 0 /* s */
bipush 6
lload 80 /* s2 */
bipush 6
lshr
l2i
i2b
bastore
273: .line 1479
aload 0 /* s */
bipush 7
lload 80 /* s2 */
bipush 14
lshr
lload 82 /* s3 */
bipush 7
lshl
lor
l2i
i2b
bastore
274: .line 1480
aload 0 /* s */
bipush 8
lload 82 /* s3 */
iconst_1
lshr
l2i
i2b
bastore
275: .line 1481
aload 0 /* s */
bipush 9
lload 82 /* s3 */
bipush 9
lshr
l2i
i2b
bastore
276: .line 1482
aload 0 /* s */
bipush 10
lload 82 /* s3 */
bipush 17
lshr
lload 84 /* s4 */
iconst_4
lshl
lor
l2i
i2b
bastore
277: .line 1483
aload 0 /* s */
bipush 11
lload 84 /* s4 */
iconst_4
lshr
l2i
i2b
bastore
278: .line 1484
aload 0 /* s */
bipush 12
lload 84 /* s4 */
bipush 12
lshr
l2i
i2b
bastore
279: .line 1485
aload 0 /* s */
bipush 13
lload 84 /* s4 */
bipush 20
lshr
lload 86 /* s5 */
iconst_1
lshl
lor
l2i
i2b
bastore
280: .line 1486
aload 0 /* s */
bipush 14
lload 86 /* s5 */
bipush 7
lshr
l2i
i2b
bastore
281: .line 1487
aload 0 /* s */
bipush 15
lload 86 /* s5 */
bipush 15
lshr
lload 88 /* s6 */
bipush 6
lshl
lor
l2i
i2b
bastore
282: .line 1488
aload 0 /* s */
bipush 16
lload 88 /* s6 */
iconst_2
lshr
l2i
i2b
bastore
283: .line 1489
aload 0 /* s */
bipush 17
lload 88 /* s6 */
bipush 10
lshr
l2i
i2b
bastore
284: .line 1490
aload 0 /* s */
bipush 18
lload 88 /* s6 */
bipush 18
lshr
lload 90 /* s7 */
iconst_3
lshl
lor
l2i
i2b
bastore
285: .line 1491
aload 0 /* s */
bipush 19
lload 90 /* s7 */
iconst_5
lshr
l2i
i2b
bastore
286: .line 1492
aload 0 /* s */
bipush 20
lload 90 /* s7 */
bipush 13
lshr
l2i
i2b
bastore
287: .line 1493
aload 0 /* s */
bipush 21
lload 92 /* s8 */
l2i
i2b
bastore
288: .line 1494
aload 0 /* s */
bipush 22
lload 92 /* s8 */
bipush 8
lshr
l2i
i2b
bastore
289: .line 1495
aload 0 /* s */
bipush 23
lload 92 /* s8 */
bipush 16
lshr
lload 94 /* s9 */
iconst_5
lshl
lor
l2i
i2b
bastore
290: .line 1496
aload 0 /* s */
bipush 24
lload 94 /* s9 */
iconst_3
lshr
l2i
i2b
bastore
291: .line 1497
aload 0 /* s */
bipush 25
lload 94 /* s9 */
bipush 11
lshr
l2i
i2b
bastore
292: .line 1498
aload 0 /* s */
bipush 26
lload 94 /* s9 */
bipush 19
lshr
lload 96 /* s10 */
iconst_2
lshl
lor
l2i
i2b
bastore
293: .line 1499
aload 0 /* s */
bipush 27
lload 96 /* s10 */
bipush 6
lshr
l2i
i2b
bastore
294: .line 1500
aload 0 /* s */
bipush 28
lload 96 /* s10 */
bipush 14
lshr
lload 98 /* s11 */
bipush 7
lshl
lor
l2i
i2b
bastore
295: .line 1501
aload 0 /* s */
bipush 29
lload 98 /* s11 */
iconst_1
lshr
l2i
i2b
bastore
296: .line 1502
aload 0 /* s */
bipush 30
lload 98 /* s11 */
bipush 9
lshr
l2i
i2b
bastore
297: .line 1503
aload 0 /* s */
bipush 31
lload 98 /* s11 */
bipush 17
lshr
l2i
i2b
bastore
298: .line 1504
return
end local 168 // long carry22
end local 166 // long carry21
end local 164 // long carry20
end local 162 // long carry19
end local 160 // long carry18
end local 158 // long carry17
end local 156 // long carry16
end local 154 // long carry15
end local 152 // long carry14
end local 150 // long carry13
end local 148 // long carry12
end local 146 // long carry11
end local 144 // long carry10
end local 142 // long carry9
end local 140 // long carry8
end local 138 // long carry7
end local 136 // long carry6
end local 134 // long carry5
end local 132 // long carry4
end local 130 // long carry3
end local 128 // long carry2
end local 126 // long carry1
end local 124 // long carry0
end local 122 // long s23
end local 120 // long s22
end local 118 // long s21
end local 116 // long s20
end local 114 // long s19
end local 112 // long s18
end local 110 // long s17
end local 108 // long s16
end local 106 // long s15
end local 104 // long s14
end local 102 // long s13
end local 100 // long s12
end local 98 // long s11
end local 96 // long s10
end local 94 // long s9
end local 92 // long s8
end local 90 // long s7
end local 88 // long s6
end local 86 // long s5
end local 84 // long s4
end local 82 // long s3
end local 80 // long s2
end local 78 // long s1
end local 76 // long s0
end local 74 // long c11
end local 72 // long c10
end local 70 // long c9
end local 68 // long c8
end local 66 // long c7
end local 64 // long c6
end local 62 // long c5
end local 60 // long c4
end local 58 // long c3
end local 56 // long c2
end local 54 // long c1
end local 52 // long c0
end local 50 // long b11
end local 48 // long b10
end local 46 // long b9
end local 44 // long b8
end local 42 // long b7
end local 40 // long b6
end local 38 // long b5
end local 36 // long b4
end local 34 // long b3
end local 32 // long b2
end local 30 // long b1
end local 28 // long b0
end local 26 // long a11
end local 24 // long a10
end local 22 // long a9
end local 20 // long a8
end local 18 // long a7
end local 16 // long a6
end local 14 // long a5
end local 12 // long a4
end local 10 // long a3
end local 8 // long a2
end local 6 // long a1
end local 4 // long a0
end local 3 // byte[] c
end local 2 // byte[] b
end local 1 // byte[] a
end local 0 // byte[] s
LocalVariableTable:
Start End Slot Name Signature
0 299 0 s [B
0 299 1 a [B
0 299 2 b [B
0 299 3 c [B
1 299 4 a0 J
2 299 6 a1 J
3 299 8 a2 J
4 299 10 a3 J
5 299 12 a4 J
6 299 14 a5 J
7 299 16 a6 J
8 299 18 a7 J
9 299 20 a8 J
10 299 22 a9 J
11 299 24 a10 J
12 299 26 a11 J
13 299 28 b0 J
14 299 30 b1 J
15 299 32 b2 J
16 299 34 b3 J
17 299 36 b4 J
18 299 38 b5 J
19 299 40 b6 J
20 299 42 b7 J
21 299 44 b8 J
22 299 46 b9 J
23 299 48 b10 J
24 299 50 b11 J
25 299 52 c0 J
26 299 54 c1 J
27 299 56 c2 J
28 299 58 c3 J
29 299 60 c4 J
30 299 62 c5 J
31 299 64 c6 J
32 299 66 c7 J
33 299 68 c8 J
34 299 70 c9 J
35 299 72 c10 J
36 299 74 c11 J
37 299 76 s0 J
38 299 78 s1 J
39 299 80 s2 J
40 299 82 s3 J
41 299 84 s4 J
42 299 86 s5 J
43 299 88 s6 J
44 299 90 s7 J
47 299 92 s8 J
52 299 94 s9 J
59 299 96 s10 J
68 299 98 s11 J
73 299 100 s12 J
76 299 102 s13 J
79 299 104 s14 J
80 299 106 s15 J
81 299 108 s16 J
82 299 110 s17 J
83 299 112 s18 J
84 299 114 s19 J
85 299 116 s20 J
86 299 118 s21 J
87 299 120 s22 J
88 299 122 s23 J
89 299 124 carry0 J
113 299 126 carry1 J
91 299 128 carry2 J
115 299 130 carry3 J
93 299 132 carry4 J
117 299 134 carry5 J
95 299 136 carry6 J
119 299 138 carry7 J
97 299 140 carry8 J
121 299 142 carry9 J
99 299 144 carry10 J
123 299 146 carry11 J
101 299 148 carry12 J
125 299 150 carry13 J
103 299 152 carry14 J
127 299 154 carry15 J
105 299 156 carry16 J
129 299 158 carry17 J
107 299 160 carry18 J
131 299 162 carry19 J
109 299 164 carry20 J
133 299 166 carry21 J
111 299 168 carry22 J
MethodParameters:
Name Flags
s
a
b
c
static byte[] getHashedScalar(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // byte[] privateKey
0: .line 1508
getstatic com.google.crypto.tink.subtle.EngineFactory.MESSAGE_DIGEST:Lcom/google/crypto/tink/subtle/EngineFactory;
ldc "SHA-512"
invokevirtual com.google.crypto.tink.subtle.EngineFactory.getInstance:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.MessageDigest
astore 1 /* digest */
start local 1 // java.security.MessageDigest digest
1: .line 1509
aload 1 /* digest */
aload 0 /* privateKey */
iconst_0
bipush 32
invokevirtual java.security.MessageDigest.update:([BII)V
2: .line 1510
aload 1 /* digest */
invokevirtual java.security.MessageDigest.digest:()[B
astore 2 /* h */
start local 2 // byte[] h
3: .line 1513
aload 2 /* h */
iconst_0
aload 2 /* h */
iconst_0
baload
sipush 248
iand
i2b
bastore
4: .line 1515
aload 2 /* h */
bipush 31
aload 2 /* h */
bipush 31
baload
bipush 127
iand
i2b
bastore
5: .line 1517
aload 2 /* h */
bipush 31
aload 2 /* h */
bipush 31
baload
bipush 64
ior
i2b
bastore
6: .line 1518
aload 2 /* h */
areturn
end local 2 // byte[] h
end local 1 // java.security.MessageDigest digest
end local 0 // byte[] privateKey
LocalVariableTable:
Start End Slot Name Signature
0 7 0 privateKey [B
1 7 1 digest Ljava/security/MessageDigest;
3 7 2 h [B
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
privateKey final
static byte[] sign(byte[], byte[], byte[]);
descriptor: ([B[B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 // byte[] message
start local 1 // byte[] publicKey
start local 2 // byte[] hashedPrivateKey
0: .line 1535
aload 0 /* message */
iconst_0
aload 0 /* message */
arraylength
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 3 /* messageCopy */
start local 3 // byte[] messageCopy
1: .line 1536
getstatic com.google.crypto.tink.subtle.EngineFactory.MESSAGE_DIGEST:Lcom/google/crypto/tink/subtle/EngineFactory;
ldc "SHA-512"
invokevirtual com.google.crypto.tink.subtle.EngineFactory.getInstance:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.MessageDigest
astore 4 /* digest */
start local 4 // java.security.MessageDigest digest
2: .line 1537
aload 4 /* digest */
aload 2 /* hashedPrivateKey */
bipush 32
bipush 32
invokevirtual java.security.MessageDigest.update:([BII)V
3: .line 1538
aload 4 /* digest */
aload 3 /* messageCopy */
invokevirtual java.security.MessageDigest.update:([B)V
4: .line 1539
aload 4 /* digest */
invokevirtual java.security.MessageDigest.digest:()[B
astore 5 /* r */
start local 5 // byte[] r
5: .line 1540
aload 5 /* r */
invokestatic com.google.crypto.tink.subtle.Ed25519.reduce:([B)V
6: .line 1542
aload 5 /* r */
invokestatic com.google.crypto.tink.subtle.Ed25519.scalarMultWithBase:([B)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
invokevirtual com.google.crypto.tink.subtle.Ed25519$XYZ.toBytes:()[B
iconst_0
bipush 32
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 6 /* rB */
start local 6 // byte[] rB
7: .line 1543
aload 4 /* digest */
invokevirtual java.security.MessageDigest.reset:()V
8: .line 1544
aload 4 /* digest */
aload 6 /* rB */
invokevirtual java.security.MessageDigest.update:([B)V
9: .line 1545
aload 4 /* digest */
aload 1 /* publicKey */
invokevirtual java.security.MessageDigest.update:([B)V
10: .line 1546
aload 4 /* digest */
aload 3 /* messageCopy */
invokevirtual java.security.MessageDigest.update:([B)V
11: .line 1547
aload 4 /* digest */
invokevirtual java.security.MessageDigest.digest:()[B
astore 7 /* hram */
start local 7 // byte[] hram
12: .line 1548
aload 7 /* hram */
invokestatic com.google.crypto.tink.subtle.Ed25519.reduce:([B)V
13: .line 1549
bipush 32
newarray 8
astore 8 /* s */
start local 8 // byte[] s
14: .line 1550
aload 8 /* s */
aload 7 /* hram */
aload 2 /* hashedPrivateKey */
aload 5 /* r */
invokestatic com.google.crypto.tink.subtle.Ed25519.mulAdd:([B[B[B[B)V
15: .line 1551
iconst_2
anewarray byte[]
dup
iconst_0
aload 6 /* rB */
aastore
dup
iconst_1
aload 8 /* s */
aastore
invokestatic com.google.crypto.tink.subtle.Bytes.concat:([[B)[B
areturn
end local 8 // byte[] s
end local 7 // byte[] hram
end local 6 // byte[] rB
end local 5 // byte[] r
end local 4 // java.security.MessageDigest digest
end local 3 // byte[] messageCopy
end local 2 // byte[] hashedPrivateKey
end local 1 // byte[] publicKey
end local 0 // byte[] message
LocalVariableTable:
Start End Slot Name Signature
0 16 0 message [B
0 16 1 publicKey [B
0 16 2 hashedPrivateKey [B
1 16 3 messageCopy [B
2 16 4 digest Ljava/security/MessageDigest;
5 16 5 r [B
7 16 6 rB [B
12 16 7 hram [B
14 16 8 s [B
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
message final
publicKey final
hashedPrivateKey final
private static boolean isSmallerThanGroupOrder(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 // byte[] s
0: .line 1572
bipush 31
istore 1 /* j */
start local 1 // int j
1: goto 8
2: .line 1574
StackMap locals: int
StackMap stack:
aload 0 /* s */
iload 1 /* j */
baload
sipush 255
iand
istore 2 /* a */
start local 2 // int a
3: .line 1575
getstatic com.google.crypto.tink.subtle.Ed25519.GROUP_ORDER:[B
iload 1 /* j */
baload
sipush 255
iand
istore 3 /* b */
start local 3 // int b
4: .line 1576
iload 2 /* a */
iload 3 /* b */
if_icmpeq 7
5: .line 1577
iload 2 /* a */
iload 3 /* b */
if_icmpge 6
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
6: iconst_0
ireturn
end local 3 // int b
end local 2 // int a
7: .line 1572
StackMap locals:
StackMap stack:
iinc 1 /* j */ -1
StackMap locals:
StackMap stack:
8: iload 1 /* j */
ifge 2
end local 1 // int j
9: .line 1580
iconst_0
ireturn
end local 0 // byte[] s
LocalVariableTable:
Start End Slot Name Signature
0 10 0 s [B
1 9 1 j I
3 7 2 a I
4 7 3 b I
MethodParameters:
Name Flags
s
static boolean verify(byte[], byte[], byte[]);
descriptor: ([B[B[B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 // byte[] message
start local 1 // byte[] signature
start local 2 // byte[] publicKey
0: .line 1592
aload 1 /* signature */
arraylength
bipush 64
if_icmpeq 2
1: .line 1593
iconst_0
ireturn
2: .line 1595
StackMap locals:
StackMap stack:
aload 1 /* signature */
bipush 32
bipush 64
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 3 /* s */
start local 3 // byte[] s
3: .line 1596
aload 3 /* s */
invokestatic com.google.crypto.tink.subtle.Ed25519.isSmallerThanGroupOrder:([B)Z
ifne 5
4: .line 1597
iconst_0
ireturn
5: .line 1599
StackMap locals: byte[]
StackMap stack:
getstatic com.google.crypto.tink.subtle.EngineFactory.MESSAGE_DIGEST:Lcom/google/crypto/tink/subtle/EngineFactory;
ldc "SHA-512"
invokevirtual com.google.crypto.tink.subtle.EngineFactory.getInstance:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.MessageDigest
astore 4 /* digest */
start local 4 // java.security.MessageDigest digest
6: .line 1600
aload 4 /* digest */
aload 1 /* signature */
iconst_0
bipush 32
invokevirtual java.security.MessageDigest.update:([BII)V
7: .line 1601
aload 4 /* digest */
aload 2 /* publicKey */
invokevirtual java.security.MessageDigest.update:([B)V
8: .line 1602
aload 4 /* digest */
aload 0 /* message */
invokevirtual java.security.MessageDigest.update:([B)V
9: .line 1603
aload 4 /* digest */
invokevirtual java.security.MessageDigest.digest:()[B
astore 5 /* h */
start local 5 // byte[] h
10: .line 1604
aload 5 /* h */
invokestatic com.google.crypto.tink.subtle.Ed25519.reduce:([B)V
11: .line 1606
aload 2 /* publicKey */
invokestatic com.google.crypto.tink.subtle.Ed25519$XYZT.fromBytesNegateVarTime:([B)Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
astore 6 /* negPublicKey */
start local 6 // com.google.crypto.tink.subtle.Ed25519$XYZT negPublicKey
12: .line 1607
aload 5 /* h */
aload 6 /* negPublicKey */
aload 3 /* s */
invokestatic com.google.crypto.tink.subtle.Ed25519.doubleScalarMultVarTime:([BLcom/google/crypto/tink/subtle/Ed25519$XYZT;[B)Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
astore 7 /* xyz */
start local 7 // com.google.crypto.tink.subtle.Ed25519$XYZ xyz
13: .line 1608
aload 7 /* xyz */
invokevirtual com.google.crypto.tink.subtle.Ed25519$XYZ.toBytes:()[B
astore 8 /* expectedR */
start local 8 // byte[] expectedR
14: .line 1609
iconst_0
istore 9 /* i */
start local 9 // int i
15: goto 19
16: .line 1610
StackMap locals: byte[] byte[] byte[] byte[] java.security.MessageDigest byte[] com.google.crypto.tink.subtle.Ed25519$XYZT com.google.crypto.tink.subtle.Ed25519$XYZ byte[] int
StackMap stack:
aload 8 /* expectedR */
iload 9 /* i */
baload
aload 1 /* signature */
iload 9 /* i */
baload
if_icmpeq 18
17: .line 1611
iconst_0
ireturn
18: .line 1609
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 9 /* i */
bipush 32
if_icmplt 16
end local 9 // int i
20: .line 1614
iconst_1
ireturn
end local 8 // byte[] expectedR
end local 7 // com.google.crypto.tink.subtle.Ed25519$XYZ xyz
end local 6 // com.google.crypto.tink.subtle.Ed25519$XYZT negPublicKey
end local 5 // byte[] h
end local 4 // java.security.MessageDigest digest
end local 3 // byte[] s
end local 2 // byte[] publicKey
end local 1 // byte[] signature
end local 0 // byte[] message
LocalVariableTable:
Start End Slot Name Signature
0 21 0 message [B
0 21 1 signature [B
0 21 2 publicKey [B
3 21 3 s [B
6 21 4 digest Ljava/security/MessageDigest;
10 21 5 h [B
12 21 6 negPublicKey Lcom/google/crypto/tink/subtle/Ed25519$XYZT;
13 21 7 xyz Lcom/google/crypto/tink/subtle/Ed25519$XYZ;
14 21 8 expectedR [B
15 20 9 i I
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
message final
signature final
publicKey final
}
SourceFile: "Ed25519.java"
NestMembers:
com.google.crypto.tink.subtle.Ed25519$CachedXYT com.google.crypto.tink.subtle.Ed25519$CachedXYZT com.google.crypto.tink.subtle.Ed25519$PartialXYZT com.google.crypto.tink.subtle.Ed25519$XYZ com.google.crypto.tink.subtle.Ed25519$XYZT
InnerClasses:
CachedXYT = com.google.crypto.tink.subtle.Ed25519$CachedXYT of com.google.crypto.tink.subtle.Ed25519
private CachedXYZT = com.google.crypto.tink.subtle.Ed25519$CachedXYZT of com.google.crypto.tink.subtle.Ed25519
private PartialXYZT = com.google.crypto.tink.subtle.Ed25519$PartialXYZT of com.google.crypto.tink.subtle.Ed25519
private XYZ = com.google.crypto.tink.subtle.Ed25519$XYZ of com.google.crypto.tink.subtle.Ed25519
private XYZT = com.google.crypto.tink.subtle.Ed25519$XYZT of com.google.crypto.tink.subtle.Ed25519