GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 96.3% 260 / 0 / 270
Functions: 100.0% 40 / 0 / 40
Branches: 82.1% 230 / 0 / 280

src/comb/stirling2_smallp/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../binom/lib.hpp"
4
5 namespace tifa_libs {
6
7 template <class mint, class fact = fact_helper<mint>>
8 class stirling2 {
9 const binom<mint, fact> mCn;
10 vvec<mint> S;
11
12 public:
13 //! @param p MUST be prime
14 400 CEXPE stirling2() NE : mCn(mint::mod()), S(mint::mod()) {
15 200 u32 p = mint::mod();
16
10/20
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
200 assert(p < 32768), S[0] = {1};
17
20/20
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
172000 flt_ (u32, i, 1, p) {
18 171800 S[i].assign(i + 1, 0);
19
20/20
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
294861770 flt_ (u32, j, 0, i + 1) {
20
20/20
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
294689970 if (j) S[i][j] += S[i - 1][j - 1];
21
20/20
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::stirling2():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
294689970 if (j < i) S[i][j] += S[i - 1][j] * j;
22 }
23 }
24 200 }
25
26 35997820 static CEXP u32 mod() NE { return mint::mod(); }
27 template <std::signed_integral T>
28 36000160 CEXP mint operator()(T m_, T n_) CNE {
29
20/40
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
36000160 retif_((n_ < 0 || n_ > m_) [[unlikely]], 0);
30
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 3599782 times.
36000160 retif_((!m_) [[unlikely]], 1);
31 35997820 cu32 p = mod();
32 35997820 cu64 m = (u64)m_, n = (u64)n_, i = n / p;
33
10/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✗ Branch 0 not taken.
✓ Branch 1 taken 3599782 times.
35997820 if (m < i) return 0;
34 35997820 u64 a = (m - i) / (p - 1);
35 35997820 cu32 j = u32(n % p);
36 35997820 u32 b = u32((m - i) % (p - 1));
37
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✓ Branch 1 taken 2787634 times.
35997820 if (!b) {
38
10/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 812148 times.
✗ Branch 1 not taken.
8121480 if (b += p - 1; a) --a;
39 else return 0;
40 }
41
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1141869 times.
✓ Branch 1 taken 2457913 times.
35997820 if (j > b) return 0;
42
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 1645765 times.
✓ Branch 1 taken 812148 times.
24579130 if (b < p - 1) return mCn.lucas(a, i) * S[b][j];
43
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, double> > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::operator()<long>(long, long) const:
✓ Branch 0 taken 362132 times.
✓ Branch 1 taken 450016 times.
8121480 if (!j) return mCn.lucas(a, i - 1);
44 4500160 return mCn.lucas(a, i) * S[p - 1][j];
45 }
46 template <std::unsigned_integral T>
47 36000160 CEXP mint operator()(T m_, T n_) CNE { return operator()(std::make_signed_t<T>(m_), std::make_signed_t<T>(n_)); }
48 };
49
50 } // namespace tifa_libs
51