| line |
true |
false |
branch |
|
181
|
9 |
1 |
for (n = 0; n <= 8; n++) |
|
211
|
0 |
1 |
SUM_ADD(sum, (LNV_ONE/L_k1)); |
|
212
|
20 |
0 |
for (k = 1; k < 500; k++) { |
|
217
|
20 |
0 |
SUM_ADD(sum, r); |
|
220
|
1 |
19 |
if (fabslnv(r) < 0.1 * LNV_EPSILON) |
|
230
|
8704 |
0 |
for (n = 2; n <= 400; n++) { |
|
234
|
7717 |
987 |
SUM_ADD(sum, term); |
|
236
|
131 |
8573 |
if (fabslnv(term) < LNV_EPSILON*fabslnv(SUM_FINAL(sum))) break; |
|
238
|
129 |
2 |
SUM_ADD(sum, euler_mascheroni); |
|
239
|
131 |
0 |
SUM_ADD(sum, loglnv(fabslnv(x))); |
|
240
|
129 |
2 |
SUM_ADD(sum, x); |
|
248
|
0 |
0 |
for (n = 2; n <= 400; n++) { |
|
251
|
0 |
0 |
if (term < LNV_EPSILON*SUM_FINAL(sum)) break; |
|
252
|
0 |
0 |
if (term < last_term) { |
|
253
|
0 |
0 |
SUM_ADD(sum, term); |
|
256
|
0 |
0 |
SUM_ADD(sum, (-last_term/1.07) ); |
|
261
|
0 |
0 |
SUM_ADD(sum, invx); |
|
262
|
0 |
0 |
SUM_ADD(sum, LNV_ONE); |
|
268
|
0 |
138 |
if (x == 0) croak("Invalid input to ExponentialIntegral: x must be != 0"); |
|
270
|
0 |
138 |
if (x >= 12000) return INFINITY; |
|
271
|
0 |
138 |
if (x <= -12000) return 0; |
|
273
|
6 |
132 |
if (x < 0) { |
|
274
|
5 |
1 |
if (x >= -1.0 && !nv_is_quad) return _ei_chebyshev_neg(x); |
|
|
5 |
0 |
if (x >= -1.0 && !nv_is_quad) return _ei_chebyshev_neg(x); |
|
275
|
1 |
0 |
else if (x < -0.80) return -_eintv_laguerre_series(1, -x); |
|
278
|
131 |
1 |
if (x < (-2 * loglnv(LNV_EPSILON))) return _ei_series_convergent(x); |
|
279
|
1 |
0 |
if (x >= 24 && (!nv_is_quad || x <= 43.2)) return _ei_chebyshev_pos24(x); |
|
|
0 |
1 |
if (x >= 24 && (!nv_is_quad || x <= 43.2)) return _ei_chebyshev_pos24(x); |
|
|
0 |
0 |
if (x >= 24 && (!nv_is_quad || x <= 43.2)) return _ei_chebyshev_pos24(x); |
|
285
|
0 |
886 |
if (x == 0) return 0; |
|
286
|
0 |
886 |
if (x == 1) return -INFINITY; |
|
287
|
0 |
886 |
if (x == 2) return li2; |
|
288
|
0 |
886 |
if (x < 0) croak("Invalid input to LogarithmicIntegral: x must be >= 0"); |
|
289
|
0 |
886 |
if (x >= NV_MAX) return INFINITY; |
|
292
|
886 |
0 |
if (x > 1) { |
|
298
|
34116 |
0 |
for (n = 1, k = 0; n < 200; n++) { |
|
303
|
17287 |
34116 |
for (; k <= (n - 1) / 2; k++) |
|
307
|
886 |
33230 |
if (fabslnv(sum - old_sum) <= LNV_EPSILON) break; |
|
319
|
0 |
88 |
t = (lx <= 2) ? 2 : lx * logl(lx); |
|
320
|
352 |
48 |
for (i = 0; i < 4; i++) { |
|
323
|
264 |
88 |
if (i > 0 && fabsl(term) >= fabsl(old_term)) { t -= term/4; break; } |
|
|
40 |
224 |
if (i > 0 && fabsl(term) >= fabsl(old_term)) { t -= term/4; break; } |
|
334
|
3 |
84 |
if (x <= 2) return x + (x > 0); |
|
337
|
0 |
84 |
i = (x > 4e16) ? 2048 : 128; |
|
338
|
0 |
84 |
if (Li(r-1) >= lx) { |
|
339
|
0 |
0 |
while (Li(r-i) >= lx) r -= i; |
|
340
|
0 |
0 |
for (i = i/2; i > 0; i /= 2) |
|
341
|
0 |
0 |
if (Li(r-i) >= lx) r -= i; |
|
342
|
0 |
84 |
} else if (Li(r) < lx) { |
|
343
|
0 |
0 |
while (Li(r+i-1) < lx) r += i; |
|
344
|
0 |
0 |
for (i = i/2; i > 0; i /= 2) |
|
345
|
0 |
0 |
if (Li(r+i-1) < lx) r += i; |
|
355
|
0 |
23 |
if (lx <= 3.5) { |
|
359
|
0 |
23 |
if (lx < 50) { t *= 1.2; } |
|
360
|
1 |
22 |
else if (lx < 1000) { t *= 1.15; } |
|
368
|
143 |
0 |
for (i = 0; i < 100; i++) { |
|
381
|
120 |
23 |
if (i > 0 && fabsl(term) >= fabsl(old_term)) { t -= term/4; break; } |
|
|
23 |
97 |
if (i > 0 && fabsl(term) >= fabsl(old_term)) { t -= term/4; break; } |
|
389
|
0 |
23 |
if (x < 2) return x + (x > 0); |
|
475
|
0 |
3916 |
if (x < 0) croak("Invalid input to RiemannZeta: x must be >= 0"); |
|
476
|
0 |
3916 |
if (x == 1) return INFINITY; |
|
478
|
3912 |
4 |
if (x == (unsigned int)x) { |
|
480
|
3912 |
0 |
if ((k >= 0) && (k < (int)NPRECALC_ZETA)) |
|
|
9 |
3903 |
if ((k >= 0) && (k < (int)NPRECALC_ZETA)) |
|
485
|
3907 |
0 |
if (x >= 0.5 && x <= 5.0) { |
|
|
2 |
3905 |
if (x >= 0.5 && x <= 5.0) { |
|
510
|
0 |
3905 |
if (x > 17000.0) |
|
556
|
12907 |
2 |
for (i = 2; i < 11; i++) { |
|
559
|
3903 |
9004 |
if (fabsl(b) < fabsl(LDBL_EPSILON * s)) |
|
564
|
19 |
0 |
for (i = 0; i < 13; i++) { |
|
570
|
2 |
17 |
if (fabsl(t) < fabsl(LDBL_EPSILON * s)) |
|
584
|
0 |
366 |
if (x <= 0) croak("Invalid input to RiemannR: x must be > 0"); |
|
585
|
9 |
357 |
if (eps < LDBL_EPSILON) eps = LDBL_EPSILON; |
|
587
|
2 |
364 |
if (x > 1e19) { |
|
589
|
0 |
2 |
SUM_ADD(sum, Li(x)); |
|
590
|
132 |
0 |
for (k = 2; k <= 100; k++) { |
|
591
|
50 |
82 |
if (amob[k] == 0) continue; |
|
594
|
0 |
82 |
if (part_term > LDBL_MAX) return INFINITY; |
|
597
|
82 |
0 |
SUM_ADD(sum, term); |
|
598
|
2 |
80 |
if (fabslnv(SUM_FINAL(sum) - old_sum) <= eps) break; |
|
604
|
0 |
364 |
SUM_ADD(sum, 1.0); |
|
608
|
23081 |
0 |
for (k = 1; k <= 10000; k++) { |
|
609
|
19178 |
3903 |
ki = (k-1 < NPRECALC_ZETA) ? riemann_zeta_table[k-1] : ld_riemann_zeta(k+1); |
|
613
|
19737 |
3344 |
SUM_ADD(sum, term); |
|
615
|
364 |
22717 |
if (fabslnv(SUM_FINAL(sum) - old_sum) <= eps) break; |
|
640
|
1 |
7 |
if (x < -0.312) { |
|
644
|
0 |
1 |
if (k2 <= 0) return -1.0L + 1*LDBL_EPSILON; |
|
649
|
7 |
0 |
} else if (x > -0.14 && x < 0.085) { |
|
|
1 |
6 |
} else if (x > -0.14 && x < 0.085) { |
|
654
|
1 |
5 |
} else if (x < 1) { |
|
663
|
2 |
3 |
} else if (x < 40) { |
|
667
|
1 |
2 |
} else if (x < 20000) { |
|
688
|
0 |
9 |
if (x < -0.36787944117145L) |
|
690
|
1 |
8 |
if (x == 0.0L) return 0.0L; |
|
699
|
1 |
7 |
if (x < -0.36768) return w; |
|
713
|
15 |
0 |
for (i = 0; i < 6 && w != 0.0L; i++) { |
|
|
15 |
0 |
for (i = 0; i < 6 && w != 0.0L; i++) { |
|
720
|
0 |
15 |
if (isnan(wen)) return 0; |
|
722
|
7 |
8 |
if (fabsl(wen) <= 64*LDBL_EPSILON) break; |
|
756
|
8 |
1 |
for (k = log2floor(n); k > 0; k--) { |
|
|
49 |
9 |
for (k = log2floor(n); k > 0; k--) { |
|
757
|
31 |
18 |
SUM_ADD(sum, chebyshev_theta(rootint(n,k))); |
|
901
|
53 |
6 |
if (n < 500) { |
|
902
|
326 |
53 |
for (i = 1; (tp = primes_tiny[i]) <= n; i++) { |
|
903
|
244 |
82 |
SUM_ADD(sum, loglnv(tp)); |
|
909
|
1 |
5 |
if (n >= _cheby_theta[0].n) { |
|
910
|
1 |
0 |
for (i = 1; i < NCHEBY_VALS; i++) |
|
911
|
1 |
0 |
if (n < _cheby_theta[i].n) |
|
918
|
0 |
5 |
SUM_ADD(sum, loglnv(2*3*5*7*11*13)); |
|
931
|
10 |
6 |
while (next_segment_primes(ctx, &seg_base, &seg_low, &seg_high)) { |
|
932
|
330069 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) { |
|
|
6 |
330063 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) { |
|
|
330048 |
15 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) { |
|
|
330069 |
20038 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) { |
|
|
20044 |
10 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) { |
|
934
|
41254 |
288794 |
if (++i >= (LNV_IS_QUAD ? 64 : 8)) { |
|
935
|
41247 |
7 |
SUM_ADD(sum, loglnv(prod)); |
|
941
|
6 |
0 |
if (prod > 1.0) { SUM_ADD(sum, loglnv(prod)); prod = LNV_ONE; } |
|
|
6 |
0 |
if (prod > 1.0) { SUM_ADD(sum, loglnv(prod)); prod = LNV_ONE; } |
|
945
|
1 |
5 |
if (initial_sum > 0) SUM_ADD(sum, initial_sum); |
|
|
0 |
1 |
if (initial_sum > 0) SUM_ADD(sum, initial_sum); |