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/808tifa_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 |