class org.apache.commons.math3.util.FastMathCalc
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.commons.math3.util.FastMathCalc
super_class: java.lang.Object
{
private static final long HEX_40000000;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
private static final double[] FACT;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[][] LN_SPLIT_COEF;
descriptor: [[D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String TABLE_START_DECL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " {"
private static final java.lang.String TABLE_END_DECL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " };"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: .line 36
bipush 20
newarray 7
dup
iconst_0
1: .line 37
dconst_1
dastore
dup
iconst_1
2: .line 38
dconst_1
dastore
dup
iconst_2
3: .line 39
ldc 2.0
dastore
dup
iconst_3
4: .line 40
ldc 6.0
dastore
dup
iconst_4
5: .line 41
ldc 24.0
dastore
dup
iconst_5
6: .line 42
ldc 120.0
dastore
dup
bipush 6
7: .line 43
ldc 720.0
dastore
dup
bipush 7
8: .line 44
ldc 5040.0
dastore
dup
bipush 8
9: .line 45
ldc 40320.0
dastore
dup
bipush 9
10: .line 46
ldc 362880.0
dastore
dup
bipush 10
11: .line 47
ldc 3628800.0
dastore
dup
bipush 11
12: .line 48
ldc 3.99168E7
dastore
dup
bipush 12
13: .line 49
ldc 4.790016E8
dastore
dup
bipush 13
14: .line 50
ldc 6.2270208E9
dastore
dup
bipush 14
15: .line 51
ldc 8.71782912E10
dastore
dup
bipush 15
16: .line 52
ldc 1.307674368E12
dastore
dup
bipush 16
17: .line 53
ldc 2.0922789888E13
dastore
dup
bipush 17
18: .line 54
ldc 3.55687428096E14
dastore
dup
bipush 18
19: .line 55
ldc 6.402373705728E15
dastore
dup
bipush 19
20: .line 56
ldc 1.21645100408832E17
dastore
21: .line 35
putstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
22: .line 60
bipush 16
anewarray double[]
dup
iconst_0
23: .line 61
iconst_2
newarray 7
dup
iconst_0
ldc 2.0
dastore
dup
iconst_1
dconst_0
dastore
aastore
dup
iconst_1
24: .line 62
iconst_2
newarray 7
dup
iconst_0
ldc 0.6666666269302368
dastore
dup
iconst_1
ldc 3.9736429850260626E-8
dastore
aastore
dup
iconst_2
25: .line 63
iconst_2
newarray 7
dup
iconst_0
ldc 0.3999999761581421
dastore
dup
iconst_1
ldc 2.3841857910019882E-8
dastore
aastore
dup
iconst_3
26: .line 64
iconst_2
newarray 7
dup
iconst_0
ldc 0.2857142686843872
dastore
dup
iconst_1
ldc 1.7029898543501842E-8
dastore
aastore
dup
iconst_4
27: .line 65
iconst_2
newarray 7
dup
iconst_0
ldc 0.2222222089767456
dastore
dup
iconst_1
ldc 1.3245471311735498E-8
dastore
aastore
dup
iconst_5
28: .line 66
iconst_2
newarray 7
dup
iconst_0
ldc 0.1818181574344635
dastore
dup
iconst_1
ldc 2.4384203044354907E-8
dastore
aastore
dup
bipush 6
29: .line 67
iconst_2
newarray 7
dup
iconst_0
ldc 0.1538461446762085
dastore
dup
iconst_1
ldc 9.140260083262505E-9
dastore
aastore
dup
bipush 7
30: .line 68
iconst_2
newarray 7
dup
iconst_0
ldc 0.13333332538604736
dastore
dup
iconst_1
ldc 9.220590270857665E-9
dastore
aastore
dup
bipush 8
31: .line 69
iconst_2
newarray 7
dup
iconst_0
ldc 0.11764700710773468
dastore
dup
iconst_1
ldc 1.2393345855018391E-8
dastore
aastore
dup
bipush 9
32: .line 70
iconst_2
newarray 7
dup
iconst_0
ldc 0.10526403784751892
dastore
dup
iconst_1
ldc 8.251545029714408E-9
dastore
aastore
dup
bipush 10
33: .line 71
iconst_2
newarray 7
dup
iconst_0
ldc 0.0952233225107193
dastore
dup
iconst_1
ldc 1.2675934823758863E-8
dastore
aastore
dup
bipush 11
34: .line 72
iconst_2
newarray 7
dup
iconst_0
ldc 0.08713622391223907
dastore
dup
iconst_1
ldc 1.1430250008909141E-8
dastore
aastore
dup
bipush 12
35: .line 73
iconst_2
newarray 7
dup
iconst_0
ldc 0.07842259109020233
dastore
dup
iconst_1
ldc 2.404307984052299E-9
dastore
aastore
dup
bipush 13
36: .line 74
iconst_2
newarray 7
dup
iconst_0
ldc 0.08371849358081818
dastore
dup
iconst_1
ldc 1.176342548272881E-8
dastore
aastore
dup
bipush 14
37: .line 75
iconst_2
newarray 7
dup
iconst_0
ldc 0.030589580535888672
dastore
dup
iconst_1
ldc 1.2958646899018938E-9
dastore
aastore
dup
bipush 15
38: .line 76
iconst_2
newarray 7
dup
iconst_0
ldc 0.14982303977012634
dastore
dup
iconst_1
ldc 1.225743062930824E-8
dastore
aastore
39: .line 60
putstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
40: .line 83
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.commons.math3.util.FastMathCalc this
0: .line 88
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 89
return
end local 0 // org.apache.commons.math3.util.FastMathCalc this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/util/FastMathCalc;
private static void buildSinCosTables(double[], double[], double[], double[], int, double[], double[]);
descriptor: ([D[D[D[DI[D[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=7
start local 0 // double[] SINE_TABLE_A
start local 1 // double[] SINE_TABLE_B
start local 2 // double[] COSINE_TABLE_A
start local 3 // double[] COSINE_TABLE_B
start local 4 // int SINE_TABLE_LEN
start local 5 // double[] TANGENT_TABLE_A
start local 6 // double[] TANGENT_TABLE_B
0: .line 104
iconst_2
newarray 7
astore 7 /* result */
start local 7 // double[] result
1: .line 107
iconst_0
istore 8 /* i */
start local 8 // int i
2: goto 11
3: .line 108
StackMap locals: double[] int
StackMap stack:
iload 8 /* i */
i2d
ldc 8.0
ddiv
dstore 9 /* x */
start local 9 // double x
4: .line 110
dload 9 /* x */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.slowSin:(D[D)D
pop2
5: .line 111
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
dastore
6: .line 112
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
dastore
7: .line 114
dload 9 /* x */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.slowCos:(D[D)D
pop2
8: .line 115
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
dastore
9: .line 116
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
dastore
end local 9 // double x
10: .line 107
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 8 /* i */
bipush 7
if_icmplt 3
end local 8 // int i
12: .line 120
bipush 7
istore 8 /* i */
start local 8 // int i
13: goto 56
14: .line 121
StackMap locals:
StackMap stack:
iconst_2
newarray 7
astore 9 /* xs */
start local 9 // double[] xs
15: .line 122
iconst_2
newarray 7
astore 10 /* ys */
start local 10 // double[] ys
16: .line 123
iconst_2
newarray 7
astore 11 /* as */
start local 11 // double[] as
17: .line 124
iconst_2
newarray 7
astore 12 /* bs */
start local 12 // double[] bs
18: .line 125
iconst_2
newarray 7
astore 13 /* temps */
start local 13 // double[] temps
19: .line 127
iload 8 /* i */
iconst_1
iand
ifne 35
20: .line 129
aload 9 /* xs */
iconst_0
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
daload
dastore
21: .line 130
aload 9 /* xs */
iconst_1
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
daload
dastore
22: .line 131
aload 10 /* ys */
iconst_0
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
daload
dastore
23: .line 132
aload 10 /* ys */
iconst_1
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
daload
dastore
24: .line 135
aload 9 /* xs */
aload 10 /* ys */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
25: .line 136
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
ldc 2.0
dmul
dastore
26: .line 137
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
ldc 2.0
dmul
dastore
27: .line 140
aload 10 /* ys */
aload 10 /* ys */
aload 11 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
28: .line 141
aload 9 /* xs */
aload 9 /* xs */
aload 13 /* temps */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
29: .line 142
aload 13 /* temps */
iconst_0
aload 13 /* temps */
iconst_0
daload
dneg
dastore
30: .line 143
aload 13 /* temps */
iconst_1
aload 13 /* temps */
iconst_1
daload
dneg
dastore
31: .line 144
aload 11 /* as */
aload 13 /* temps */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
32: .line 145
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
dastore
33: .line 146
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
dastore
34: .line 147
goto 55
35: .line 148
StackMap locals: double[] double[] double[] double[] int double[] double[] double[] int double[] double[] double[] double[] double[]
StackMap stack:
aload 9 /* xs */
iconst_0
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
daload
dastore
36: .line 149
aload 9 /* xs */
iconst_1
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
daload
dastore
37: .line 150
aload 10 /* ys */
iconst_0
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
daload
dastore
38: .line 151
aload 10 /* ys */
iconst_1
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
daload
dastore
39: .line 152
aload 11 /* as */
iconst_0
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
iconst_1
iadd
daload
dastore
40: .line 153
aload 11 /* as */
iconst_1
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
iconst_1
iadd
daload
dastore
41: .line 154
aload 12 /* bs */
iconst_0
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
iconst_2
idiv
iconst_1
iadd
daload
dastore
42: .line 155
aload 12 /* bs */
iconst_1
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
iconst_2
idiv
iconst_1
iadd
daload
dastore
43: .line 158
aload 9 /* xs */
aload 12 /* bs */
aload 13 /* temps */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
44: .line 159
aload 10 /* ys */
aload 11 /* as */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
45: .line 160
aload 7 /* result */
aload 13 /* temps */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
46: .line 161
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
dastore
47: .line 162
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
dastore
48: .line 165
aload 10 /* ys */
aload 12 /* bs */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
49: .line 166
aload 9 /* xs */
aload 11 /* as */
aload 13 /* temps */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
50: .line 167
aload 13 /* temps */
iconst_0
aload 13 /* temps */
iconst_0
daload
dneg
dastore
51: .line 168
aload 13 /* temps */
iconst_1
aload 13 /* temps */
iconst_1
daload
dneg
dastore
52: .line 169
aload 7 /* result */
aload 13 /* temps */
aload 7 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
53: .line 170
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
aload 7 /* result */
iconst_0
daload
dastore
54: .line 171
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
aload 7 /* result */
iconst_1
daload
dastore
end local 13 // double[] temps
end local 12 // double[] bs
end local 11 // double[] as
end local 10 // double[] ys
end local 9 // double[] xs
55: .line 120
StackMap locals: double[] double[] double[] double[] int double[] double[] double[] int
StackMap stack:
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
56: iload 8 /* i */
iload 4 /* SINE_TABLE_LEN */
if_icmplt 14
end local 8 // int i
57: .line 176
iconst_0
istore 8 /* i */
start local 8 // int i
58: goto 71
59: .line 177
StackMap locals:
StackMap stack:
iconst_2
newarray 7
astore 9 /* xs */
start local 9 // double[] xs
60: .line 178
iconst_2
newarray 7
astore 10 /* ys */
start local 10 // double[] ys
61: .line 179
iconst_2
newarray 7
astore 11 /* as */
start local 11 // double[] as
62: .line 181
aload 11 /* as */
iconst_0
aload 2 /* COSINE_TABLE_A */
iload 8 /* i */
daload
dastore
63: .line 182
aload 11 /* as */
iconst_1
aload 3 /* COSINE_TABLE_B */
iload 8 /* i */
daload
dastore
64: .line 184
aload 11 /* as */
aload 10 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitReciprocal:([D[D)V
65: .line 186
aload 9 /* xs */
iconst_0
aload 0 /* SINE_TABLE_A */
iload 8 /* i */
daload
dastore
66: .line 187
aload 9 /* xs */
iconst_1
aload 1 /* SINE_TABLE_B */
iload 8 /* i */
daload
dastore
67: .line 189
aload 9 /* xs */
aload 10 /* ys */
aload 11 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
68: .line 191
aload 5 /* TANGENT_TABLE_A */
iload 8 /* i */
aload 11 /* as */
iconst_0
daload
dastore
69: .line 192
aload 6 /* TANGENT_TABLE_B */
iload 8 /* i */
aload 11 /* as */
iconst_1
daload
dastore
end local 11 // double[] as
end local 10 // double[] ys
end local 9 // double[] xs
70: .line 176
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
71: iload 8 /* i */
iload 4 /* SINE_TABLE_LEN */
if_icmplt 59
end local 8 // int i
72: .line 195
return
end local 7 // double[] result
end local 6 // double[] TANGENT_TABLE_B
end local 5 // double[] TANGENT_TABLE_A
end local 4 // int SINE_TABLE_LEN
end local 3 // double[] COSINE_TABLE_B
end local 2 // double[] COSINE_TABLE_A
end local 1 // double[] SINE_TABLE_B
end local 0 // double[] SINE_TABLE_A
LocalVariableTable:
Start End Slot Name Signature
0 73 0 SINE_TABLE_A [D
0 73 1 SINE_TABLE_B [D
0 73 2 COSINE_TABLE_A [D
0 73 3 COSINE_TABLE_B [D
0 73 4 SINE_TABLE_LEN I
0 73 5 TANGENT_TABLE_A [D
0 73 6 TANGENT_TABLE_B [D
1 73 7 result [D
2 12 8 i I
4 10 9 x D
13 57 8 i I
15 55 9 xs [D
16 55 10 ys [D
17 55 11 as [D
18 55 12 bs [D
19 55 13 temps [D
58 72 8 i I
60 70 9 xs [D
61 70 10 ys [D
62 70 11 as [D
MethodParameters:
Name Flags
SINE_TABLE_A
SINE_TABLE_B
COSINE_TABLE_A
COSINE_TABLE_B
SINE_TABLE_LEN
TANGENT_TABLE_A
TANGENT_TABLE_B
static double slowCos(double, double[]);
descriptor: (D[D)D
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=2
start local 0 // double x
start local 2 // double[] result
0: .line 207
iconst_2
newarray 7
astore 3 /* xs */
start local 3 // double[] xs
1: .line 208
iconst_2
newarray 7
astore 4 /* ys */
start local 4 // double[] ys
2: .line 209
iconst_2
newarray 7
astore 5 /* facts */
start local 5 // double[] facts
3: .line 210
iconst_2
newarray 7
astore 6 /* as */
start local 6 // double[] as
4: .line 211
dload 0 /* x */
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
5: .line 212
aload 4 /* ys */
iconst_0
aload 4 /* ys */
iconst_1
dconst_0
dup2_x2
dastore
dastore
6: .line 214
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
arraylength
iconst_1
isub
istore 7 /* i */
start local 7 // int i
7: goto 20
8: .line 215
StackMap locals: double double[] double[] double[] double[] double[] int
StackMap stack:
aload 3 /* xs */
aload 4 /* ys */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
9: .line 216
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
10: .line 218
iload 7 /* i */
iconst_1
iand
ifeq 12
11: .line 219
goto 19
12: .line 222
StackMap locals:
StackMap stack:
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
iload 7 /* i */
daload
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
13: .line 223
aload 6 /* as */
aload 5 /* facts */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitReciprocal:([D[D)V
14: .line 225
iload 7 /* i */
iconst_2
iand
ifeq 17
15: .line 226
aload 5 /* facts */
iconst_0
aload 5 /* facts */
iconst_0
daload
dneg
dastore
16: .line 227
aload 5 /* facts */
iconst_1
aload 5 /* facts */
iconst_1
daload
dneg
dastore
17: .line 230
StackMap locals:
StackMap stack:
aload 4 /* ys */
aload 5 /* facts */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
18: .line 231
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
19: .line 214
StackMap locals:
StackMap stack:
iinc 7 /* i */ -1
StackMap locals:
StackMap stack:
20: iload 7 /* i */
ifge 8
end local 7 // int i
21: .line 234
aload 2 /* result */
ifnull 24
22: .line 235
aload 2 /* result */
iconst_0
aload 4 /* ys */
iconst_0
daload
dastore
23: .line 236
aload 2 /* result */
iconst_1
aload 4 /* ys */
iconst_1
daload
dastore
24: .line 239
StackMap locals:
StackMap stack:
aload 4 /* ys */
iconst_0
daload
aload 4 /* ys */
iconst_1
daload
dadd
dreturn
end local 6 // double[] as
end local 5 // double[] facts
end local 4 // double[] ys
end local 3 // double[] xs
end local 2 // double[] result
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 25 0 x D
0 25 2 result [D
1 25 3 xs [D
2 25 4 ys [D
3 25 5 facts [D
4 25 6 as [D
7 21 7 i I
MethodParameters:
Name Flags
x final
result final
static double slowSin(double, double[]);
descriptor: (D[D)D
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=2
start local 0 // double x
start local 2 // double[] result
0: .line 251
iconst_2
newarray 7
astore 3 /* xs */
start local 3 // double[] xs
1: .line 252
iconst_2
newarray 7
astore 4 /* ys */
start local 4 // double[] ys
2: .line 253
iconst_2
newarray 7
astore 5 /* facts */
start local 5 // double[] facts
3: .line 254
iconst_2
newarray 7
astore 6 /* as */
start local 6 // double[] as
4: .line 255
dload 0 /* x */
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
5: .line 256
aload 4 /* ys */
iconst_0
aload 4 /* ys */
iconst_1
dconst_0
dup2_x2
dastore
dastore
6: .line 258
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
arraylength
iconst_1
isub
istore 7 /* i */
start local 7 // int i
7: goto 20
8: .line 259
StackMap locals: double double[] double[] double[] double[] double[] int
StackMap stack:
aload 3 /* xs */
aload 4 /* ys */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
9: .line 260
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
10: .line 262
iload 7 /* i */
iconst_1
iand
ifne 12
11: .line 263
goto 19
12: .line 266
StackMap locals:
StackMap stack:
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
iload 7 /* i */
daload
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
13: .line 267
aload 6 /* as */
aload 5 /* facts */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitReciprocal:([D[D)V
14: .line 269
iload 7 /* i */
iconst_2
iand
ifeq 17
15: .line 270
aload 5 /* facts */
iconst_0
aload 5 /* facts */
iconst_0
daload
dneg
dastore
16: .line 271
aload 5 /* facts */
iconst_1
aload 5 /* facts */
iconst_1
daload
dneg
dastore
17: .line 274
StackMap locals:
StackMap stack:
aload 4 /* ys */
aload 5 /* facts */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
18: .line 275
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
19: .line 258
StackMap locals:
StackMap stack:
iinc 7 /* i */ -1
StackMap locals:
StackMap stack:
20: iload 7 /* i */
ifge 8
end local 7 // int i
21: .line 278
aload 2 /* result */
ifnull 24
22: .line 279
aload 2 /* result */
iconst_0
aload 4 /* ys */
iconst_0
daload
dastore
23: .line 280
aload 2 /* result */
iconst_1
aload 4 /* ys */
iconst_1
daload
dastore
24: .line 283
StackMap locals:
StackMap stack:
aload 4 /* ys */
iconst_0
daload
aload 4 /* ys */
iconst_1
daload
dadd
dreturn
end local 6 // double[] as
end local 5 // double[] facts
end local 4 // double[] ys
end local 3 // double[] xs
end local 2 // double[] result
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 25 0 x D
0 25 2 result [D
1 25 3 xs [D
2 25 4 ys [D
3 25 5 facts [D
4 25 6 as [D
7 21 7 i I
MethodParameters:
Name Flags
x final
result final
static double slowexp(double, double[]);
descriptor: (D[D)D
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=2
start local 0 // double x
start local 2 // double[] result
0: .line 295
iconst_2
newarray 7
astore 3 /* xs */
start local 3 // double[] xs
1: .line 296
iconst_2
newarray 7
astore 4 /* ys */
start local 4 // double[] ys
2: .line 297
iconst_2
newarray 7
astore 5 /* facts */
start local 5 // double[] facts
3: .line 298
iconst_2
newarray 7
astore 6 /* as */
start local 6 // double[] as
4: .line 299
dload 0 /* x */
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
5: .line 300
aload 4 /* ys */
iconst_0
aload 4 /* ys */
iconst_1
dconst_0
dup2_x2
dastore
dastore
6: .line 302
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
arraylength
iconst_1
isub
istore 7 /* i */
start local 7 // int i
7: goto 17
8: .line 303
StackMap locals: double double[] double[] double[] double[] double[] int
StackMap stack:
aload 3 /* xs */
aload 4 /* ys */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
9: .line 304
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
10: .line 305
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
11: .line 307
getstatic org.apache.commons.math3.util.FastMathCalc.FACT:[D
iload 7 /* i */
daload
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
12: .line 308
aload 6 /* as */
aload 5 /* facts */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitReciprocal:([D[D)V
13: .line 310
aload 4 /* ys */
aload 5 /* facts */
aload 6 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
14: .line 311
aload 4 /* ys */
iconst_0
aload 6 /* as */
iconst_0
daload
dastore
15: .line 312
aload 4 /* ys */
iconst_1
aload 6 /* as */
iconst_1
daload
dastore
16: .line 302
iinc 7 /* i */ -1
StackMap locals:
StackMap stack:
17: iload 7 /* i */
ifge 8
end local 7 // int i
18: .line 315
aload 2 /* result */
ifnull 21
19: .line 316
aload 2 /* result */
iconst_0
aload 4 /* ys */
iconst_0
daload
dastore
20: .line 317
aload 2 /* result */
iconst_1
aload 4 /* ys */
iconst_1
daload
dastore
21: .line 320
StackMap locals:
StackMap stack:
aload 4 /* ys */
iconst_0
daload
aload 4 /* ys */
iconst_1
daload
dadd
dreturn
end local 6 // double[] as
end local 5 // double[] facts
end local 4 // double[] ys
end local 3 // double[] xs
end local 2 // double[] result
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 22 0 x D
0 22 2 result [D
1 22 3 xs [D
2 22 4 ys [D
3 22 5 facts [D
4 22 6 as [D
7 18 7 i I
MethodParameters:
Name Flags
x final
result final
private static void split(double, double[]);
descriptor: (D[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 // double d
start local 2 // double[] split
0: .line 329
dload 0 /* d */
ldc 8.0E298
dcmpg
ifge 5
dload 0 /* d */
ldc -8.0E298
dcmpl
ifle 5
1: .line 330
dload 0 /* d */
ldc 1.073741824E9
dmul
dstore 3 /* a */
start local 3 // double a
2: .line 331
aload 2 /* split */
iconst_0
dload 0 /* d */
dload 3 /* a */
dadd
dload 3 /* a */
dsub
dastore
3: .line 332
aload 2 /* split */
iconst_1
dload 0 /* d */
aload 2 /* split */
iconst_0
daload
dsub
dastore
end local 3 // double a
4: .line 333
goto 8
5: .line 334
StackMap locals:
StackMap stack:
dload 0 /* d */
ldc 9.313225746154785E-10
dmul
dstore 3 /* a */
start local 3 // double a
6: .line 335
aload 2 /* split */
iconst_0
dload 0 /* d */
dload 3 /* a */
dadd
dload 0 /* d */
dsub
ldc 1.073741824E9
dmul
dastore
7: .line 336
aload 2 /* split */
iconst_1
dload 0 /* d */
aload 2 /* split */
iconst_0
daload
dsub
dastore
end local 3 // double a
8: .line 338
StackMap locals:
StackMap stack:
return
end local 2 // double[] split
end local 0 // double d
LocalVariableTable:
Start End Slot Name Signature
0 9 0 d D
0 9 2 split [D
2 4 3 a D
6 8 3 a D
MethodParameters:
Name Flags
d final
split final
private static void resplit(double[]);
descriptor: ([D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 // double[] a
0: .line 345
aload 0 /* a */
iconst_0
daload
aload 0 /* a */
iconst_1
daload
dadd
dstore 1 /* c */
start local 1 // double c
1: .line 346
dload 1 /* c */
aload 0 /* a */
iconst_0
daload
dsub
aload 0 /* a */
iconst_1
daload
dsub
dneg
dstore 3 /* d */
start local 3 // double d
2: .line 348
dload 1 /* c */
ldc 8.0E298
dcmpg
ifge 7
dload 1 /* c */
ldc -8.0E298
dcmpl
ifle 7
3: .line 349
dload 1 /* c */
ldc 1.073741824E9
dmul
dstore 5 /* z */
start local 5 // double z
4: .line 350
aload 0 /* a */
iconst_0
dload 1 /* c */
dload 5 /* z */
dadd
dload 5 /* z */
dsub
dastore
5: .line 351
aload 0 /* a */
iconst_1
dload 1 /* c */
aload 0 /* a */
iconst_0
daload
dsub
dload 3 /* d */
dadd
dastore
end local 5 // double z
6: .line 352
goto 10
7: .line 353
StackMap locals: double double
StackMap stack:
dload 1 /* c */
ldc 9.313225746154785E-10
dmul
dstore 5 /* z */
start local 5 // double z
8: .line 354
aload 0 /* a */
iconst_0
dload 1 /* c */
dload 5 /* z */
dadd
dload 1 /* c */
dsub
ldc 1.073741824E9
dmul
dastore
9: .line 355
aload 0 /* a */
iconst_1
dload 1 /* c */
aload 0 /* a */
iconst_0
daload
dsub
dload 3 /* d */
dadd
dastore
end local 5 // double z
10: .line 357
StackMap locals:
StackMap stack:
return
end local 3 // double d
end local 1 // double c
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 11 0 a [D
1 11 1 c D
2 11 3 d D
4 6 5 z D
8 10 5 z D
MethodParameters:
Name Flags
a final
private static void splitMult(double[], double[], double[]);
descriptor: ([D[D[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=3, args_size=3
start local 0 // double[] a
start local 1 // double[] b
start local 2 // double[] ans
0: .line 365
aload 2 /* ans */
iconst_0
aload 0 /* a */
iconst_0
daload
aload 1 /* b */
iconst_0
daload
dmul
dastore
1: .line 366
aload 2 /* ans */
iconst_1
aload 0 /* a */
iconst_0
daload
aload 1 /* b */
iconst_1
daload
dmul
aload 0 /* a */
iconst_1
daload
aload 1 /* b */
iconst_0
daload
dmul
dadd
aload 0 /* a */
iconst_1
daload
aload 1 /* b */
iconst_1
daload
dmul
dadd
dastore
2: .line 369
aload 2 /* ans */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
3: .line 370
return
end local 2 // double[] ans
end local 1 // double[] b
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 4 0 a [D
0 4 1 b [D
0 4 2 ans [D
MethodParameters:
Name Flags
a
b
ans
private static void splitAdd(double[], double[], double[]);
descriptor: ([D[D[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // double[] a
start local 1 // double[] b
start local 2 // double[] ans
0: .line 378
aload 2 /* ans */
iconst_0
aload 0 /* a */
iconst_0
daload
aload 1 /* b */
iconst_0
daload
dadd
dastore
1: .line 379
aload 2 /* ans */
iconst_1
aload 0 /* a */
iconst_1
daload
aload 1 /* b */
iconst_1
daload
dadd
dastore
2: .line 381
aload 2 /* ans */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
3: .line 382
return
end local 2 // double[] ans
end local 1 // double[] b
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 4 0 a [D
0 4 1 b [D
0 4 2 ans [D
MethodParameters:
Name Flags
a final
b final
ans final
static void splitReciprocal(double[], double[]);
descriptor: ([D[D)V
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=5, args_size=2
start local 0 // double[] in
start local 1 // double[] result
0: .line 406
aload 0 /* in */
iconst_0
daload
dconst_0
dcmpl
ifne 3
1: .line 407
aload 0 /* in */
iconst_0
aload 0 /* in */
iconst_1
daload
dastore
2: .line 408
aload 0 /* in */
iconst_1
dconst_0
dastore
3: .line 411
StackMap locals:
StackMap stack:
aload 1 /* result */
iconst_0
ldc 0.9999997615814209
aload 0 /* in */
iconst_0
daload
ddiv
dastore
4: .line 412
aload 1 /* result */
iconst_1
ldc 2.384185791015625E-7
aload 0 /* in */
iconst_0
daload
dmul
ldc 0.9999997615814209
aload 0 /* in */
iconst_1
daload
dmul
dsub
aload 0 /* in */
iconst_0
daload
aload 0 /* in */
iconst_0
daload
dmul
aload 0 /* in */
iconst_0
daload
aload 0 /* in */
iconst_1
daload
dmul
dadd
ddiv
dastore
5: .line 414
aload 1 /* result */
iconst_1
daload
aload 1 /* result */
iconst_1
daload
dcmpl
ifeq 7
6: .line 415
aload 1 /* result */
iconst_1
dconst_0
dastore
7: .line 419
StackMap locals:
StackMap stack:
aload 1 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
8: .line 421
iconst_0
istore 2 /* i */
start local 2 // int i
9: goto 18
10: .line 423
StackMap locals: int
StackMap stack:
dconst_1
aload 1 /* result */
iconst_0
daload
aload 0 /* in */
iconst_0
daload
dmul
dsub
aload 1 /* result */
iconst_0
daload
aload 0 /* in */
iconst_1
daload
dmul
dsub
11: .line 424
aload 1 /* result */
iconst_1
daload
aload 0 /* in */
iconst_0
daload
dmul
12: .line 423
dsub
13: .line 424
aload 1 /* result */
iconst_1
daload
aload 0 /* in */
iconst_1
daload
dmul
14: .line 423
dsub
dstore 3 /* err */
start local 3 // double err
15: .line 426
dload 3 /* err */
aload 1 /* result */
iconst_0
daload
aload 1 /* result */
iconst_1
daload
dadd
dmul
dstore 3 /* err */
16: .line 428
aload 1 /* result */
iconst_1
dup2
daload
dload 3 /* err */
dadd
dastore
end local 3 // double err
17: .line 421
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 2 /* i */
iconst_2
if_icmplt 10
end local 2 // int i
19: .line 430
return
end local 1 // double[] result
end local 0 // double[] in
LocalVariableTable:
Start End Slot Name Signature
0 20 0 in [D
0 20 1 result [D
9 19 2 i I
15 17 3 err D
MethodParameters:
Name Flags
in final
result final
private static void quadMult(double[], double[], double[]);
descriptor: ([D[D[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=8, args_size=3
start local 0 // double[] a
start local 1 // double[] b
start local 2 // double[] result
0: .line 438
iconst_2
newarray 7
astore 3 /* xs */
start local 3 // double[] xs
1: .line 439
iconst_2
newarray 7
astore 4 /* ys */
start local 4 // double[] ys
2: .line 440
iconst_2
newarray 7
astore 5 /* zs */
start local 5 // double[] zs
3: .line 443
aload 0 /* a */
iconst_0
daload
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
4: .line 444
aload 1 /* b */
iconst_0
daload
aload 4 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
5: .line 445
aload 3 /* xs */
aload 4 /* ys */
aload 5 /* zs */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
6: .line 447
aload 2 /* result */
iconst_0
aload 5 /* zs */
iconst_0
daload
dastore
7: .line 448
aload 2 /* result */
iconst_1
aload 5 /* zs */
iconst_1
daload
dastore
8: .line 451
aload 1 /* b */
iconst_1
daload
aload 4 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
9: .line 452
aload 3 /* xs */
aload 4 /* ys */
aload 5 /* zs */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
10: .line 454
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_0
daload
dadd
dstore 6 /* tmp */
start local 6 // double tmp
11: .line 455
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_0
daload
dsub
dsub
dastore
12: .line 456
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
13: .line 457
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_1
daload
dadd
dstore 6 /* tmp */
14: .line 458
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_1
daload
dsub
dsub
dastore
15: .line 459
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
16: .line 462
aload 0 /* a */
iconst_1
daload
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
17: .line 463
aload 1 /* b */
iconst_0
daload
aload 4 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
18: .line 464
aload 3 /* xs */
aload 4 /* ys */
aload 5 /* zs */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
19: .line 466
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_0
daload
dadd
dstore 6 /* tmp */
20: .line 467
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_0
daload
dsub
dsub
dastore
21: .line 468
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
22: .line 469
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_1
daload
dadd
dstore 6 /* tmp */
23: .line 470
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_1
daload
dsub
dsub
dastore
24: .line 471
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
25: .line 474
aload 0 /* a */
iconst_1
daload
aload 3 /* xs */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
26: .line 475
aload 1 /* b */
iconst_1
daload
aload 4 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
27: .line 476
aload 3 /* xs */
aload 4 /* ys */
aload 5 /* zs */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
28: .line 478
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_0
daload
dadd
dstore 6 /* tmp */
29: .line 479
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_0
daload
dsub
dsub
dastore
30: .line 480
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
31: .line 481
aload 2 /* result */
iconst_0
daload
aload 5 /* zs */
iconst_1
daload
dadd
dstore 6 /* tmp */
32: .line 482
aload 2 /* result */
iconst_1
dup2
daload
dload 6 /* tmp */
aload 2 /* result */
iconst_0
daload
dsub
aload 5 /* zs */
iconst_1
daload
dsub
dsub
dastore
33: .line 483
aload 2 /* result */
iconst_0
dload 6 /* tmp */
dastore
34: .line 484
return
end local 6 // double tmp
end local 5 // double[] zs
end local 4 // double[] ys
end local 3 // double[] xs
end local 2 // double[] result
end local 1 // double[] b
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 35 0 a [D
0 35 1 b [D
0 35 2 result [D
1 35 3 xs [D
2 35 4 ys [D
3 35 5 zs [D
11 35 6 tmp D
MethodParameters:
Name Flags
a final
b final
result final
static double expint(int, double[]);
descriptor: (I[D)D
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // int p
start local 1 // double[] result
0: .line 493
iconst_2
newarray 7
astore 2 /* xs */
start local 2 // double[] xs
1: .line 494
iconst_2
newarray 7
astore 3 /* as */
start local 3 // double[] as
2: .line 495
iconst_2
newarray 7
astore 4 /* ys */
start local 4 // double[] ys
3: .line 504
aload 2 /* xs */
iconst_0
ldc 2.718281828459045
dastore
4: .line 505
aload 2 /* xs */
iconst_1
ldc 1.4456468917292502E-16
dastore
5: .line 507
dconst_1
aload 4 /* ys */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
6: .line 509
goto 13
7: .line 510
StackMap locals: double[] double[] double[]
StackMap stack:
iload 0 /* p */
iconst_1
iand
ifeq 10
8: .line 511
aload 4 /* ys */
aload 2 /* xs */
aload 3 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.quadMult:([D[D[D)V
9: .line 512
aload 4 /* ys */
iconst_0
aload 3 /* as */
iconst_0
daload
dastore
aload 4 /* ys */
iconst_1
aload 3 /* as */
iconst_1
daload
dastore
10: .line 515
StackMap locals:
StackMap stack:
aload 2 /* xs */
aload 2 /* xs */
aload 3 /* as */
invokestatic org.apache.commons.math3.util.FastMathCalc.quadMult:([D[D[D)V
11: .line 516
aload 2 /* xs */
iconst_0
aload 3 /* as */
iconst_0
daload
dastore
aload 2 /* xs */
iconst_1
aload 3 /* as */
iconst_1
daload
dastore
12: .line 518
iload 0 /* p */
iconst_1
ishr
istore 0 /* p */
13: .line 509
StackMap locals:
StackMap stack:
iload 0 /* p */
ifgt 7
14: .line 521
aload 1 /* result */
ifnull 18
15: .line 522
aload 1 /* result */
iconst_0
aload 4 /* ys */
iconst_0
daload
dastore
16: .line 523
aload 1 /* result */
iconst_1
aload 4 /* ys */
iconst_1
daload
dastore
17: .line 525
aload 1 /* result */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
18: .line 528
StackMap locals:
StackMap stack:
aload 4 /* ys */
iconst_0
daload
aload 4 /* ys */
iconst_1
daload
dadd
dreturn
end local 4 // double[] ys
end local 3 // double[] as
end local 2 // double[] xs
end local 1 // double[] result
end local 0 // int p
LocalVariableTable:
Start End Slot Name Signature
0 19 0 p I
0 19 1 result [D
1 19 2 xs [D
2 19 3 as [D
3 19 4 ys [D
MethodParameters:
Name Flags
p
result final
static double[] slowLog(double);
descriptor: (D)[D
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 // double xi
0: .line 550
iconst_2
newarray 7
astore 2 /* x */
start local 2 // double[] x
1: .line 551
iconst_2
newarray 7
astore 3 /* x2 */
start local 3 // double[] x2
2: .line 552
iconst_2
newarray 7
astore 4 /* y */
start local 4 // double[] y
3: .line 553
iconst_2
newarray 7
astore 5 /* a */
start local 5 // double[] a
4: .line 555
dload 0 /* xi */
aload 2 /* x */
invokestatic org.apache.commons.math3.util.FastMathCalc.split:(D[D)V
5: .line 558
aload 2 /* x */
iconst_0
dup2
daload
dconst_1
dadd
dastore
6: .line 559
aload 2 /* x */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
7: .line 560
aload 2 /* x */
aload 5 /* a */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitReciprocal:([D[D)V
8: .line 561
aload 2 /* x */
iconst_0
dup2
daload
ldc 2.0
dsub
dastore
9: .line 562
aload 2 /* x */
invokestatic org.apache.commons.math3.util.FastMathCalc.resplit:([D)V
10: .line 563
aload 2 /* x */
aload 5 /* a */
aload 4 /* y */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
11: .line 564
aload 2 /* x */
iconst_0
aload 4 /* y */
iconst_0
daload
dastore
12: .line 565
aload 2 /* x */
iconst_1
aload 4 /* y */
iconst_1
daload
dastore
13: .line 568
aload 2 /* x */
aload 2 /* x */
aload 3 /* x2 */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
14: .line 574
aload 4 /* y */
iconst_0
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
arraylength
iconst_1
isub
aaload
iconst_0
daload
dastore
15: .line 575
aload 4 /* y */
iconst_1
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
arraylength
iconst_1
isub
aaload
iconst_1
daload
dastore
16: .line 577
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
arraylength
iconst_2
isub
istore 6 /* i */
start local 6 // int i
17: goto 25
18: .line 578
StackMap locals: double double[] double[] double[] double[] int
StackMap stack:
aload 4 /* y */
aload 3 /* x2 */
aload 5 /* a */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
19: .line 579
aload 4 /* y */
iconst_0
aload 5 /* a */
iconst_0
daload
dastore
20: .line 580
aload 4 /* y */
iconst_1
aload 5 /* a */
iconst_1
daload
dastore
21: .line 581
aload 4 /* y */
getstatic org.apache.commons.math3.util.FastMathCalc.LN_SPLIT_COEF:[[D
iload 6 /* i */
aaload
aload 5 /* a */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitAdd:([D[D[D)V
22: .line 582
aload 4 /* y */
iconst_0
aload 5 /* a */
iconst_0
daload
dastore
23: .line 583
aload 4 /* y */
iconst_1
aload 5 /* a */
iconst_1
daload
dastore
24: .line 577
iinc 6 /* i */ -1
StackMap locals:
StackMap stack:
25: iload 6 /* i */
ifge 18
end local 6 // int i
26: .line 586
aload 4 /* y */
aload 2 /* x */
aload 5 /* a */
invokestatic org.apache.commons.math3.util.FastMathCalc.splitMult:([D[D[D)V
27: .line 587
aload 4 /* y */
iconst_0
aload 5 /* a */
iconst_0
daload
dastore
28: .line 588
aload 4 /* y */
iconst_1
aload 5 /* a */
iconst_1
daload
dastore
29: .line 590
aload 4 /* y */
areturn
end local 5 // double[] a
end local 4 // double[] y
end local 3 // double[] x2
end local 2 // double[] x
end local 0 // double xi
LocalVariableTable:
Start End Slot Name Signature
0 30 0 xi D
1 30 2 x [D
2 30 3 x2 [D
3 30 4 y [D
4 30 5 a [D
17 26 6 i I
MethodParameters:
Name Flags
xi
static void printarray(java.io.PrintStream, java.lang.String, int, double[][]);
descriptor: (Ljava/io/PrintStream;Ljava/lang/String;I[[D)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=14, args_size=4
start local 0 // java.io.PrintStream out
start local 1 // java.lang.String name
start local 2 // int expectedLen
start local 3 // double[][] array2d
0: .line 602
aload 0 /* out */
aload 1 /* name */
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: .line 603
iload 2 /* expectedLen */
aload 3 /* array2d */
arraylength
invokestatic org.apache.commons.math3.util.FastMathCalc.checkLen:(II)V
2: .line 604
aload 0 /* out */
ldc " { "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: .line 605
iconst_0
istore 4 /* i */
start local 4 // int i
4: .line 606
aload 3 /* array2d */
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 14
StackMap locals: java.io.PrintStream java.lang.String int double[][] int top int int double[][]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5 /* array */
start local 5 // double[] array
6: .line 607
aload 0 /* out */
ldc " {"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
7: .line 608
aload 5 /* array */
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 11
StackMap locals: java.io.PrintStream java.lang.String int double[][] int double[] int int double[][] top top int int double[]
StackMap stack:
8: aload 13
iload 11
daload
dstore 9 /* d */
start local 9 // double d
9: .line 609
aload 0 /* out */
ldc "%-25.25s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 9 /* d */
invokestatic org.apache.commons.math3.util.FastMathCalc.format:(D)Ljava/lang/String;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 9 // double d
10: .line 608
iinc 11 1
StackMap locals:
StackMap stack:
11: iload 11
iload 12
if_icmplt 8
12: .line 611
aload 0 /* out */
new java.lang.StringBuilder
dup
ldc "}, // "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4 /* i */
iinc 4 /* i */ 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 // double[] array
13: .line 606
iinc 6 1
StackMap locals: java.io.PrintStream java.lang.String int double[][] int top int int double[][]
StackMap stack:
14: iload 6
iload 7
if_icmplt 5
15: .line 613
aload 0 /* out */
ldc " };"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: .line 614
return
end local 4 // int i
end local 3 // double[][] array2d
end local 2 // int expectedLen
end local 1 // java.lang.String name
end local 0 // java.io.PrintStream out
LocalVariableTable:
Start End Slot Name Signature
0 17 0 out Ljava/io/PrintStream;
0 17 1 name Ljava/lang/String;
0 17 2 expectedLen I
0 17 3 array2d [[D
4 17 4 i I
6 13 5 array [D
9 10 9 d D
MethodParameters:
Name Flags
out
name
expectedLen
array2d
static void printarray(java.io.PrintStream, java.lang.String, int, double[]);
descriptor: (Ljava/io/PrintStream;Ljava/lang/String;I[D)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=9, args_size=4
start local 0 // java.io.PrintStream out
start local 1 // java.lang.String name
start local 2 // int expectedLen
start local 3 // double[] array
0: .line 624
aload 0 /* out */
new java.lang.StringBuilder
dup
aload 1 /* name */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: .line 625
iload 2 /* expectedLen */
aload 3 /* array */
arraylength
invokestatic org.apache.commons.math3.util.FastMathCalc.checkLen:(II)V
2: .line 626
aload 0 /* out */
ldc " {"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: .line 627
aload 3 /* array */
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 7
StackMap locals: java.io.PrintStream java.lang.String int double[] top top int int double[]
StackMap stack:
4: aload 8
iload 6
daload
dstore 4 /* d */
start local 4 // double d
5: .line 628
aload 0 /* out */
ldc " %s%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 4 /* d */
invokestatic org.apache.commons.math3.util.FastMathCalc.format:(D)Ljava/lang/String;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 4 // double d
6: .line 627
iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 7
if_icmplt 4
8: .line 630
aload 0 /* out */
ldc " };"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: .line 631
return
end local 3 // double[] array
end local 2 // int expectedLen
end local 1 // java.lang.String name
end local 0 // java.io.PrintStream out
LocalVariableTable:
Start End Slot Name Signature
0 10 0 out Ljava/io/PrintStream;
0 10 1 name Ljava/lang/String;
0 10 2 expectedLen I
0 10 3 array [D
5 6 4 d D
MethodParameters:
Name Flags
out
name
expectedLen
array
static java.lang.String format(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 // double d
0: .line 638
dload 0 /* d */
dload 0 /* d */
dcmpl
ifeq 2
1: .line 639
ldc "Double.NaN,"
areturn
2: .line 641
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
dload 0 /* d */
dconst_0
dcmpl
iflt 3
ldc "+"
goto 4
StackMap locals: double
StackMap stack: new 2 new 2
3: ldc ""
StackMap locals: double
StackMap stack: new 2 new 2 java.lang.String
4: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 0 /* d */
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "d,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 // double d
LocalVariableTable:
Start End Slot Name Signature
0 5 0 d D
MethodParameters:
Name Flags
d
private static void checkLen(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int expectedLen
start local 1 // int actual
0: .line 653
iload 0 /* expectedLen */
iload 1 /* actual */
if_icmpeq 2
1: .line 654
new org.apache.commons.math3.exception.DimensionMismatchException
dup
iload 1 /* actual */
iload 0 /* expectedLen */
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
2: .line 656
StackMap locals:
StackMap stack:
return
end local 1 // int actual
end local 0 // int expectedLen
LocalVariableTable:
Start End Slot Name Signature
0 3 0 expectedLen I
0 3 1 actual I
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException
MethodParameters:
Name Flags
expectedLen
actual
}
SourceFile: "FastMathCalc.java"