src/nt/mfsum/min25/lib.hpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "../../../math/div64/lib.hpp" | ||
| 4 | #include "../../../math/qpow/basic/lib.hpp" | ||
| 5 | #include "../../../math/sum_ik_flist/lib.hpp" | ||
| 6 | #include "../../prime_seq/lib.hpp" | ||
| 7 | |||
| 8 | namespace tifa_libs { | ||
| 9 | |||
| 10 | // f(p, c) = value of f(p^c) | ||
| 11 | template <class T, T (*f)(u64, u64)> | ||
| 12 | class min25_sieve { | ||
| 13 | u64 m, sqm, s; | ||
| 14 | vecu p; | ||
| 15 | |||
| 16 |
12/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::idx(unsigned long) const:
✓ Branch 0 taken 351073757 times.
✓ Branch 1 taken 3084571 times.
|
2124949968 | ND CEXP u64 idx(u64 n) CNE { retif_((n <= sqm), s - n, div_u64d(m, n)); } |
| 17 | |||
| 18 | public: | ||
| 19 | // m^{3/2} in u64 | ||
| 20 | 288 | CEXPE min25_sieve(u64 m) NE : m{m}, sqm{isqrt(m)} { | |
| 21 |
12/24tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
|
288 | if (assert(m < (1ll << 42)); m) { |
| 22 | 288 | u64 hls = div_u64d(m, sqm); | |
| 23 |
36/36tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::min25_sieve(unsigned long):
✓ Branch 0 taken 47 times.
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 42 times.
✓ Branch 5 taken 5 times.
✓ Branch 6 taken 43 times.
|
288 | if (hls != 1 && div_u64d(m, hls - 1) == sqm) --hls; |
| 24 | 288 | s = hls + sqm, p = prime_seq((u32)sqm); | |
| 25 | } | ||
| 26 | 288 | } | |
| 27 | |||
| 28 | 576 | ND CEXP vec<T> sum_pk(u32 k) CNE { | |
| 29 | 576 | auto sik = sum_ik<T>[k]; | |
| 30 |
6/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 96 times.
|
576 | retif_((!m) [[unlikely]], {}); |
| 31 | 576 | u64 hls = div_u64d(m, sqm); | |
| 32 |
36/36tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 10 times.
✓ Branch 4 taken 84 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 86 times.
|
576 | if (hls != 1 && div_u64d(m, hls - 1) == sqm) --hls; |
| 33 | 576 | vec<T> h(s); | |
| 34 |
12/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 6169142 times.
✓ Branch 7 taken 96 times.
|
37015428 | flt_ (u64, i, 1, hls) h[i] = sik(div_u64d(m, i)) - 1; |
| 35 |
12/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 6169178 times.
✓ Branch 6 taken 96 times.
|
37015644 | flt_ (u64, i, 1, sqm + 1) h[s - i] = sik(i) - 1; |
| 36 |
12/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 5 taken 604736 times.
✓ Branch 6 taken 96 times.
|
3628992 | for (cu32 x : p) { |
| 37 | 3628416 | T _ = x, pi = h[s - x + 1]; | |
| 38 | 3628416 | _ = qpow(_, k); | |
| 39 | 3628416 | cu64 x2 = u64(x) * x, mx = min(hls, div_u64d(m, x2) + 1); | |
| 40 |
24/24tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 0 taken 16308708 times.
✓ Branch 1 taken 611730274 times.
✓ Branch 9 taken 628038982 times.
✓ Branch 10 taken 604736 times.
|
3771862308 | for (u64 i = 1, ix = x; i < mx; ++i, ix += x) h[i] -= ((ix < hls ? h[ix] : h[s - div_u64d(m, ix)]) - pi) * _; |
| 41 |
12/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✓ Branch 6 taken 261819590 times.
✓ Branch 7 taken 604736 times.
|
1574545956 | for (u64 n = sqm; n >= x2; --n) h[s - n] -= (h[s - div_u64d(n, x)] - pi) * _; |
| 42 | } | ||
| 43 |
6/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::sum_pk(unsigned int) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 96 times.
|
576 | assert(h.size() == s); |
| 44 | 576 | return h; | |
| 45 | 576 | } | |
| 46 | 288 | ND CEXP T run(vec<T> fprime) CNE { | |
| 47 |
6/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
|
288 | retif_((!m) [[unlikely]], {}); |
| 48 |
6/12tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const:
✗ Branch 1 not taken.
✓ Branch 2 taken 48 times.
|
288 | assert(fprime.size() == s); |
| 49 | 288 | T ans = fprime[idx(m)] + 1; | |
| 50 | 152915760 | auto dfs = [&, this](auto&& dfs, u32 i, u32 c, u64 prod, T now) NE -> void { | |
| 51 | 76457736 | ans += now * f(p[i], c + 1); | |
| 52 | 76457736 | cu64 lim = div_u64d(m, prod); | |
| 53 |
12/12void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >) const:
✓ Branch 2 taken 6666023 times.
✓ Branch 3 taken 6076933 times.
|
76457736 | if (lim >= (u64)p[i] * p[i]) dfs(dfs, i, c + 1, p[i] * prod, now); |
| 54 | 76457736 | now *= f(p[i], c), ans += now * (fprime[idx(lim)] - fprime[idx(p[i])]); | |
| 55 | 76457736 | u32 j = i + 1; | |
| 56 |
36/36void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >) const:
✓ Branch 3 taken 18517475 times.
✓ Branch 4 taken 46 times.
✓ Branch 8 taken 5774565 times.
✓ Branch 9 taken 12742910 times.
✓ Branch 10 taken 5774565 times.
✓ Branch 11 taken 12742956 times.
|
111105126 | for (; j < p.size() && (u64)p[j] * p[j] * p[j] <= lim; ++j) dfs(dfs, j, 1, prod * p[j], now); |
| 57 |
36/36void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >) const:
✓ Branch 1 taken 177079094 times.
✓ Branch 2 taken 46 times.
✓ Branch 5 taken 164336184 times.
✓ Branch 6 taken 12742910 times.
✓ Branch 7 taken 164336184 times.
✓ Branch 8 taken 12742956 times.
|
1062474840 | for (; j < p.size() && (u64)p[j] * p[j] <= lim; ++j) { |
| 58 | 986017104 | T _ = f(p[j], 2); | |
| 59 | 986017104 | u64 i1 = idx(div_u64d(lim, p[j])), i2 = idx(p[j]); | |
| 60 | 986017104 | ans += now * (_ += f(p[j], 1) * (fprime[i1] - fprime[i2])); | |
| 61 | } | ||
| 62 | }; | ||
| 63 |
12/12void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<11l> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<11l> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<11l> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
void tifa_libs::min25_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, &(f(unsigned long, unsigned long))>::run(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >) const::{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}::operator()<{lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>({lambda(auto:1&&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&, unsigned int, unsigned int, unsigned long, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >) const:
✓ Branch 4 taken 302368 times.
✓ Branch 5 taken 48 times.
|
1814496 | flt_ (u32, i, 0, (u32)p.size()) dfs(dfs, i, 1, p[i], 1); |
| 64 | 288 | return ans; | |
| 65 | } | ||
| 66 | }; | ||
| 67 | |||
| 68 | } // namespace tifa_libs | ||
| 69 |