GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 1220 / 0 / 1220
Functions: 100.0% 407 / 1 / 408
Branches: 51.2% 416 / 0 / 812

src/nt/mod/barrett/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../../../util/alias/num/lib.hpp"
4
5 namespace tifa_libs {
6
7 template <u64 MOD, u64 B_ = 1>
8 struct barrett {
9 static CEXP u64 B = B_ % MOD, R = ((u128)B << 64) / MOD;
10
11 900517911620 static CEXP u64 reduce(u64 a) NE {
12
413/808
tifa_libs::barrett<1000000007ul, 0ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 10ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114514ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114515ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114516ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114517ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114518ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114519ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114520ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114521ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114522ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 114523ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 11ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 12ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 13ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 14ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 15ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 16ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 17ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 18ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919810ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919811ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919812ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919813ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919814ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919815ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919816ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1919819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260820ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260821ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260822ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260823ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260824ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260825ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19260826ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 19ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 375625 times.
✓ Branch 1 taken 4992514321 times.
tifa_libs::barrett<1000000007ul, 2ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 3ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967296ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967297ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967298ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967299ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967300ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967301ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967302ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967303ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967304ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4294967305ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 42ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 43ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 44ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 45ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 46ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 47ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 48ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 49ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 4ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 50ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 51ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 5ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 6ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 7ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 8ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244353ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244354ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244355ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244356ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244357ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244358ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244359ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244360ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244361ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 998244362ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1000000007ul, 9ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<1012924417ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 73665239 times.
✓ Branch 1 taken 8081770815 times.
tifa_libs::barrett<114514ul, 0ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 10ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114514ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114515ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114516ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114517ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114518ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114519ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114520ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114521ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114522ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 114523ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 11ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 12ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 13ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 14ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 15ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 16ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 17ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 18ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919810ul>::reduce(unsigned long):
✓ Branch 0 taken 1 time.
✓ Branch 1 taken 9999 times.
tifa_libs::barrett<114514ul, 1919811ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919812ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919813ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919814ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919815ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919816ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1919819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260820ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260821ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260822ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260823ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260824ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260825ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19260826ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 19ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 1ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 2ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 3ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967296ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967297ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967298ul>::reduce(unsigned long):
✓ Branch 0 taken 1 time.
✓ Branch 1 taken 9999 times.
tifa_libs::barrett<114514ul, 4294967299ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967300ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967301ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967302ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967303ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967304ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4294967305ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 42ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 43ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 44ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 45ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 46ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 47ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 48ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 49ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 4ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 50ul>::reduce(unsigned long):
✓ Branch 0 taken 1 time.
✓ Branch 1 taken 9999 times.
tifa_libs::barrett<114514ul, 51ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 5ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 6ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 7ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 8ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244353ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244354ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244355ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244356ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244357ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244358ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244359ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244360ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244361ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 998244362ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<114514ul, 9ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<167772161ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 17593810 times.
✓ Branch 1 taken 197283358758 times.
tifa_libs::barrett<2ul, 0ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 10ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114514ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114515ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114516ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114517ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114518ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114519ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114520ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114521ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114522ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 114523ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 11ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 12ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 13ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 14ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 15ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 16ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 17ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 18ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919810ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919811ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919812ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919813ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919814ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919815ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919816ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1919819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260820ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260821ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260822ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260823ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260824ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260825ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19260826ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 19ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 1ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 2ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 3ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967296ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967297ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967298ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967299ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967300ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967301ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967302ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967303ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967304ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4294967305ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 42ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 43ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 44ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 45ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 46ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 47ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 48ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 49ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 4ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 50ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 51ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 5ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 6ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 7ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 8ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244353ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244354ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244355ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244356ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244357ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244358ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244359ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244360ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244361ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 998244362ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<2ul, 9ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 0ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 10ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114514ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114515ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114516ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114517ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114518ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114519ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114520ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114521ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114522ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 114523ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 11ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 12ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 13ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 14ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 15ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 16ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 17ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 18ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919810ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919811ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919812ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919813ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919814ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919815ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919816ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1919819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260820ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260821ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260822ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260823ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260824ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260825ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19260826ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 19ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 1ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 2ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 3ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967296ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967297ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967298ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967299ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967300ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967301ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967302ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967303ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967304ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4294967305ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 42ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 43ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 44ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 45ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 46ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 47ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 48ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 49ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 4ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 50ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 51ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 5ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 6ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 7ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 8ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244353ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244354ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244355ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244356ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244357ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244358ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244359ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244360ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244361ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 998244362ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<3ul, 9ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<469762049ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 480346575 times.
✓ Branch 1 taken 196820644513 times.
tifa_libs::barrett<754974721ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 1229366853 times.
✓ Branch 1 taken 196071576085 times.
tifa_libs::barrett<998244353ul, 0ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 10ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114514ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114515ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114516ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114517ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114518ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114519ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114520ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114521ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114522ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 114523ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 11ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 12ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 13ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 14ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 15ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 16ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 17ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 18ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919810ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919811ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919812ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919813ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919814ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919815ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919816ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1919819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260817ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260818ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260819ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260820ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260821ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260822ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260823ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260824ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260825ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19260826ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 19ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 1ul>::reduce(unsigned long):
✓ Branch 0 taken 2503763354 times.
✓ Branch 1 taken 290939690708 times.
tifa_libs::barrett<998244353ul, 2ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 3ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967296ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967297ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967298ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967299ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967300ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967301ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967302ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967303ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967304ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4294967305ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 42ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 43ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 44ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 45ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 46ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 47ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 48ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 49ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 4ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 50ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 51ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 5ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 6ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 7ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 8ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244353ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244354ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244355ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244356ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244357ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244358ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244359ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244360ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244361ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 998244362ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
tifa_libs::barrett<998244353ul, 9ul>::reduce(unsigned long):
✗ Branch 0 not taken.
✓ Branch 1 taken 10000 times.
900517911620 if (u64 q = u64((u128)a * R >> 64); (a = a * B - q * MOD) >= MOD) a -= MOD;
13 900517911620 return a;
14 }
15 };
16 template <> // dynamic
17 struct barrett<0> {
18 u64 mod, b, r;
19 CEXP barrett() NE = default;
20 20293080 CEXPE barrett(u64 mod, u64 b = 1) NE { reset(mod, b); }
21
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 20301823 times.
20301823 CEXP void reset(u64 mod_, u64 b_ = 1) NE { assert(mod_), mod = mod_, b = b_ % mod, r = (u64(((u128)b << 64) / mod)); }
22 201896593805 ND CEXP u64 reduce(u64 a) CNE {
23
2/2
✓ Branch 0 taken 5065234337 times.
✓ Branch 1 taken 196831359468 times.
201896593805 if (cu64 q = u64((u128)a * r >> 64); (a = a * b - q * mod) >= mod) a -= mod;
24 201896593805 return a;
25 }
26 };
27
28 } // namespace tifa_libs
29