From 7a9d5f2491dfc68307bdadfb180fbd9a882177b2 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 30 Sep 2021 15:55:20 +0100 Subject: [PATCH] Update performance result logs --- performance/Jamfile.v2 | 1 - performance/miller_rabin_performance.log | 50 +- performance/performance_test.log | 3124 +++++++++-------- .../rational_bernoulli_allocations.log | 102 + performance/rational_bernoulli_bench.log | 155 + performance/rational_determinant_bench.log | 24 + performance/sf_performance.log | 316 +- 7 files changed, 2186 insertions(+), 1586 deletions(-) create mode 100644 performance/rational_bernoulli_allocations.log create mode 100644 performance/rational_bernoulli_bench.log create mode 100644 performance/rational_determinant_bench.log diff --git a/performance/Jamfile.v2 b/performance/Jamfile.v2 index 007496ec..d6d89638 100644 --- a/performance/Jamfile.v2 +++ b/performance/Jamfile.v2 @@ -81,7 +81,6 @@ test-suite performance : TEST_CPP_BIN_FLOAT TEST_CPP_INT TEST_CPP_INT_RATIONAL - TEST_MUL_ONLY [ requires cxx11_auto_declarations cxx11_allocator ] ] diff --git a/performance/miller_rabin_performance.log b/performance/miller_rabin_performance.log index fd578e56..cb740b9f 100644 --- a/performance/miller_rabin_performance.log +++ b/performance/miller_rabin_performance.log @@ -1,40 +1,40 @@ -Time for cpp_int (no Expression templates) = 0.0632349 +Time for cpp_int (no Expression templates) = 0.0717379 Number of primes found = 9 -Time for cpp_int = 0.0597808 +Time for cpp_int = 0.0497465 Number of primes found = 9 -Time for cpp_int (128-bit cache) = 0.061515 +Time for cpp_int (128-bit cache) = 0.0490558 Number of primes found = 9 -Time for cpp_int (256-bit cache) = 0.061159 +Time for cpp_int (256-bit cache) = 0.0510209 Number of primes found = 9 -Time for cpp_int (512-bit cache) = 0.0521137 +Time for cpp_int (512-bit cache) = 0.0458041 Number of primes found = 9 -Time for cpp_int (1024-bit cache) = 0.051393 +Time for cpp_int (1024-bit cache) = 0.0478607 Number of primes found = 9 -Time for uint1024_t = 0.047259 +Time for uint1024_t = 0.0413295 Number of primes found = 9 -Time for checked_uint1024_t = 0.0477963 +Time for checked_uint1024_t = 0.0422246 Number of primes found = 9 -Time for mpz_int (no Expression templates) = 0.00748244 +Time for mpz_int (no Expression templates) = 0.00443395 Number of primes found = 9 -Time for mpz_int = 0.00692059 +Time for mpz_int = 0.00466034 Number of primes found = 9 -Time for mpz_int (native Miller Rabin Test) = 0.000384121 seconds -Time for tom_int (no Expression templates) = 0.0288748 +Time for mpz_int (native Miller Rabin Test) = 0.000165419 seconds +Time for tom_int (no Expression templates) = 0.274765 Number of primes found = 9 -Time for tom_int = 0.0288394 +Time for tom_int = 0.0226395 Number of primes found = 9 [table [[Integer Type][Relative Performance (Actual time in parenthesis)]] -[[checked_uint1024_t][6.90638(0.0477963s)]] -[[cpp_int][8.63811(0.0597808s)]] -[[cpp_int (1024-bit cache)][7.4261(0.051393s)]] -[[cpp_int (128-bit cache)][8.88868(0.061515s)]] -[[cpp_int (256-bit cache)][8.83724(0.061159s)]] -[[cpp_int (512-bit cache)][7.53024(0.0521137s)]] -[[cpp_int (no Expression templates)][9.1372(0.0632349s)]] -[[mpz_int][1(0.00692059s)]] -[[mpz_int (no Expression templates)][1.08118(0.00748244s)]] -[[tom_int][4.16719(0.0288394s)]] -[[tom_int (no Expression templates)][4.1723(0.0288748s)]] -[[uint1024_t][6.82875(0.047259s)]] +[[checked_uint1024_t][9.52301(0.0422246s)]] +[[cpp_int][11.2194(0.0497465s)]] +[[cpp_int (1024-bit cache)][10.7941(0.0478607s)]] +[[cpp_int (128-bit cache)][11.0637(0.0490558s)]] +[[cpp_int (256-bit cache)][11.5069(0.0510209s)]] +[[cpp_int (512-bit cache)][10.3303(0.0458041s)]] +[[cpp_int (no Expression templates)][16.1792(0.0717379s)]] +[[mpz_int][1.05106(0.00466034s)]] +[[mpz_int (no Expression templates)][1(0.00443395s)]] +[[tom_int][5.10595(0.0226395s)]] +[[tom_int (no Expression templates)][61.9684(0.274765s)]] +[[uint1024_t][9.32113(0.0413295s)]] ] diff --git a/performance/performance_test.log b/performance/performance_test.log index 505fb5b5..b5430b6f 100644 --- a/performance/performance_test.log +++ b/performance/performance_test.log @@ -1,1597 +1,1917 @@ [table:platform Platform Details -[[Platform][Linux 5.3.0-24-generic, version #26-Ubuntu SMP Thu Nov 14 01:33:18 UTC 2019, x86_64]] -[[Compiler][GNU C++ version 9.2.1 20191008]] -[[GMP][6.1.2]] +[[Platform][[[Compiler][GNU C++ version 10.3.0]] +[[GMP][6.2.0]] [[MPFR][262146]] -[[Boost][107200]] -[[Run date][Dec 13 2019]] +[[Boost][107800]] +[[Run date][Sep 30 2021]] ] -gmp_float 50 + 0.0146581 -gmp_float 50 - 0.0174816 -gmp_float 50 * 0.0190973 -gmp_float 50 / 0.117114 -gmp_float 50 str 0.000625689 -gmp_float 50 +(int) 0.00724196 -gmp_float 50 -(int) 0.0181961 -gmp_float 50 *(int) 0.00749984 -gmp_float 50 /(int) 0.0194966 -gmp_float 50 construct 0.0502204 -gmp_float 50 construct(unsigned) 0.0554274 -gmp_float 50 construct(unsigned long long) 0.0549133 -gmp_float 50 +(unsigned long long) 0.00751313 -gmp_float 50 -(unsigned long long) 0.0177832 -gmp_float 50 *(unsigned long long) 0.00696399 -gmp_float 50 /(unsigned long long) 0.0189978 -gmp_float 50 +=(unsigned long long) 0.0153858 -gmp_float 50 -=(unsigned long long) 0.0240839 -gmp_float 50 *=(unsigned long long) 0.0147675 -gmp_float 50 /=(unsigned long long) 0.0257964 -gmp_float 100 + 0.0154229 -gmp_float 100 - 0.0183114 -gmp_float 100 * 0.0373344 -gmp_float 100 / 0.142427 -gmp_float 100 str 0.000909959 -gmp_float 100 +(int) 0.00756543 -gmp_float 100 -(int) 0.0183525 -gmp_float 100 *(int) 0.00733255 -gmp_float 100 /(int) 0.0223617 -gmp_float 100 construct 0.0503551 -gmp_float 100 construct(unsigned) 0.0556435 -gmp_float 100 construct(unsigned long long) 0.054621 -gmp_float 100 +(unsigned long long) 0.00778945 -gmp_float 100 -(unsigned long long) 0.0184047 -gmp_float 100 *(unsigned long long) 0.00721095 -gmp_float 100 /(unsigned long long) 0.0214276 -gmp_float 100 +=(unsigned long long) 0.0169298 -gmp_float 100 -=(unsigned long long) 0.0256223 -gmp_float 100 *=(unsigned long long) 0.0159383 -gmp_float 100 /=(unsigned long long) 0.0305434 -gmp_float 500 + 0.0208329 -gmp_float 500 - 0.0244205 -gmp_float 500 * 0.276224 -gmp_float 500 / 0.402463 -gmp_float 500 str 0.00304907 -gmp_float 500 +(int) 0.00998923 -gmp_float 500 -(int) 0.0218218 -gmp_float 500 *(int) 0.0139051 -gmp_float 500 /(int) 0.0570519 -gmp_float 500 construct 0.109351 -gmp_float 500 construct(unsigned) 0.111332 -gmp_float 500 construct(unsigned long long) 0.11125 -gmp_float 500 +(unsigned long long) 0.0101232 -gmp_float 500 -(unsigned long long) 0.0210111 -gmp_float 500 *(unsigned long long) 0.0140224 -gmp_float 500 /(unsigned long long) 0.0564701 -gmp_float 500 +=(unsigned long long) 0.022811 -gmp_float 500 -=(unsigned long long) 0.0304267 -gmp_float 500 *=(unsigned long long) 0.0212737 -gmp_float 500 /=(unsigned long long) 0.0641451 -gmp_int 128 + 0.00643694 -gmp_int 128 - 0.00931231 -gmp_int 128 * 0.00672197 -gmp_int 128 / 0.0853863 -gmp_int 128 str 0.000219061 -gmp_int 128 +(int) 0.00367891 -gmp_int 128 -(int) 0.00375949 -gmp_int 128 *(int) 0.00596161 -gmp_int 128 /(int) 0.0112211 -gmp_int 128 construct 0.0489404 -gmp_int 128 construct(unsigned) 0.0520479 -gmp_int 128 construct(unsigned long long) 0.0528826 -gmp_int 128 % 0.0638235 -gmp_int 128 | 0.00819781 -gmp_int 128 & 0.00610446 -gmp_int 128 ^ 0.00900763 -gmp_int 128 << 0.0116198 -gmp_int 128 >> 0.00344295 -gmp_int 128 %(int) 0.0103823 -gmp_int 128 |(int) 0.0329958 -gmp_int 128 &(int) 0.0311256 -gmp_int 128 ^(int) 0.0344397 -gmp_int 128 gcd 0.191195 -gmp_int 128 powm 0.0752583 -gmp_int 128 +(unsigned long long) 0.00400966 -gmp_int 128 -(unsigned long long) 0.00465772 -gmp_int 128 *(unsigned long long) 0.00575774 -gmp_int 128 /(unsigned long long) 0.0119333 -gmp_int 128 +=(unsigned long long) 0.00797012 -gmp_int 128 -=(unsigned long long) 0.0081014 -gmp_int 128 *=(unsigned long long) 0.00994121 -gmp_int 128 /=(unsigned long long) 0.0163719 -gmp_int 256 + 0.00787741 -gmp_int 256 - 0.00942373 -gmp_int 256 * 0.0180725 -gmp_int 256 / 0.11081 -gmp_int 256 str 0.000265419 -gmp_int 256 +(int) 0.00405429 -gmp_int 256 -(int) 0.00387191 -gmp_int 256 *(int) 0.00574233 -gmp_int 256 /(int) 0.0130833 -gmp_int 256 construct 0.0484711 -gmp_int 256 construct(unsigned) 0.0512762 -gmp_int 256 construct(unsigned long long) 0.0514712 -gmp_int 256 % 0.0771433 -gmp_int 256 | 0.00772371 -gmp_int 256 & 0.00583083 -gmp_int 256 ^ 0.00859017 -gmp_int 256 << 0.0119341 -gmp_int 256 >> 0.0033497 -gmp_int 256 %(int) 0.0149784 -gmp_int 256 |(int) 0.0327581 -gmp_int 256 &(int) 0.0303296 -gmp_int 256 ^(int) 0.0336138 -gmp_int 256 gcd 0.842898 -gmp_int 256 powm 0.187607 -gmp_int 256 +(unsigned long long) 0.00409262 -gmp_int 256 -(unsigned long long) 0.00394375 -gmp_int 256 *(unsigned long long) 0.00553729 -gmp_int 256 /(unsigned long long) 0.0137293 -gmp_int 256 +=(unsigned long long) 0.00789978 -gmp_int 256 -=(unsigned long long) 0.00807013 -gmp_int 256 *=(unsigned long long) 0.0104288 -gmp_int 256 /=(unsigned long long) 0.0189142 -gmp_int 512 + 0.00759213 -gmp_int 512 - 0.00962656 -gmp_int 512 * 0.0366081 -gmp_int 512 / 0.114775 -gmp_int 512 str 0.000464936 -gmp_int 512 +(int) 0.00396328 -gmp_int 512 -(int) 0.00398606 -gmp_int 512 *(int) 0.00696202 -gmp_int 512 /(int) 0.0191805 -gmp_int 512 construct 0.0493265 -gmp_int 512 construct(unsigned) 0.0525909 -gmp_int 512 construct(unsigned long long) 0.0537536 -gmp_int 512 % 0.0854098 -gmp_int 512 | 0.00868852 -gmp_int 512 & 0.00780563 -gmp_int 512 ^ 0.0101714 -gmp_int 512 << 0.0150714 -gmp_int 512 >> 0.00330767 -gmp_int 512 %(int) 0.0168035 -gmp_int 512 |(int) 0.034836 -gmp_int 512 &(int) 0.0323335 -gmp_int 512 ^(int) 0.0353319 -gmp_int 512 gcd 1.9441 -gmp_int 512 powm 0.807043 -gmp_int 512 +(unsigned long long) 0.00450039 -gmp_int 512 -(unsigned long long) 0.00461397 -gmp_int 512 *(unsigned long long) 0.00709163 -gmp_int 512 /(unsigned long long) 0.0188726 -gmp_int 512 +=(unsigned long long) 0.00812 -gmp_int 512 -=(unsigned long long) 0.00845934 -gmp_int 512 *=(unsigned long long) 0.0117912 -gmp_int 512 /=(unsigned long long) 0.0226949 -gmp_int 1024 + 0.00992945 -gmp_int 1024 - 0.0109271 -gmp_int 1024 * 0.100555 -gmp_int 1024 / 0.132969 -gmp_int 1024 str 0.000975531 -gmp_int 1024 +(int) 0.00571412 -gmp_int 1024 -(int) 0.00521786 -gmp_int 1024 *(int) 0.00950608 -gmp_int 1024 /(int) 0.0317386 -gmp_int 1024 construct 0.0481075 -gmp_int 1024 construct(unsigned) 0.0515831 -gmp_int 1024 construct(unsigned long long) 0.0517252 -gmp_int 1024 % 0.0987817 -gmp_int 1024 | 0.00950363 -gmp_int 1024 & 0.00821528 -gmp_int 1024 ^ 0.00995865 -gmp_int 1024 << 0.0193613 -gmp_int 1024 >> 0.00332904 -gmp_int 1024 %(int) 0.0204792 -gmp_int 1024 |(int) 0.0342437 -gmp_int 1024 &(int) 0.0306228 -gmp_int 1024 ^(int) 0.0348967 -gmp_int 1024 gcd 4.0549 -gmp_int 1024 powm 4.7187 -gmp_int 1024 +(unsigned long long) 0.0055593 -gmp_int 1024 -(unsigned long long) 0.00543571 -gmp_int 1024 *(unsigned long long) 0.00962312 -gmp_int 1024 /(unsigned long long) 0.0315286 -gmp_int 1024 +=(unsigned long long) 0.00914227 -gmp_int 1024 -=(unsigned long long) 0.00944683 -gmp_int 1024 *=(unsigned long long) 0.0141241 -gmp_int 1024 /=(unsigned long long) 0.0359977 -cpp_int(fixed) 128 + 0.000836815 -cpp_int(fixed) 128 - 0.00107085 -cpp_int(fixed) 128 * 0.000960586 -cpp_int(fixed) 128 / 0.0325094 -cpp_int(fixed) 128 str 0.00112106 -cpp_int(fixed) 128 +(int) 0.000651354 -cpp_int(fixed) 128 -(int) 0.000981414 -cpp_int(fixed) 128 *(int) 0.000634036 -cpp_int(fixed) 128 /(int) 0.0186586 -cpp_int(fixed) 128 construct 0.000571519 -cpp_int(fixed) 128 construct(unsigned) 0.000762672 -cpp_int(fixed) 128 construct(unsigned long long) 0.000803908 -cpp_int(fixed) 128 % 0.0330895 -cpp_int(fixed) 128 | 0.00328643 -cpp_int(fixed) 128 & 0.00316334 -cpp_int(fixed) 128 ^ 0.00338833 -cpp_int(fixed) 128 << 0.000848746 -cpp_int(fixed) 128 >> 0.000802316 -cpp_int(fixed) 128 %(int) 0.020153 -cpp_int(fixed) 128 |(int) 0.00343686 -cpp_int(fixed) 128 &(int) 0.00349434 -cpp_int(fixed) 128 ^(int) 0.00345661 -cpp_int(fixed) 128 gcd 0.664533 -cpp_int(fixed) 128 powm 0.438734 -cpp_int(fixed) 128 +(unsigned long long) 0.00063349 -cpp_int(fixed) 128 -(unsigned long long) 0.00096911 -cpp_int(fixed) 128 *(unsigned long long) 0.000696646 -cpp_int(fixed) 128 /(unsigned long long) 0.0205101 -cpp_int(fixed) 128 +=(unsigned long long) 0.000579142 -cpp_int(fixed) 128 -=(unsigned long long) 0.000804926 -cpp_int(fixed) 128 *=(unsigned long long) 0.000748647 -cpp_int(fixed) 128 /=(unsigned long long) 0.0196733 -cpp_int(fixed) 256 + 0.00681969 -cpp_int(fixed) 256 - 0.00932056 -cpp_int(fixed) 256 * 0.0189943 -cpp_int(fixed) 256 / 0.112153 -cpp_int(fixed) 256 str 0.00051039 -cpp_int(fixed) 256 +(int) 0.00918106 -cpp_int(fixed) 256 -(int) 0.00778659 -cpp_int(fixed) 256 *(int) 0.00533605 -cpp_int(fixed) 256 /(int) 0.0691348 -cpp_int(fixed) 256 construct 0.00204677 -cpp_int(fixed) 256 construct(unsigned) 0.00223478 -cpp_int(fixed) 256 construct(unsigned long long) 0.00227157 -cpp_int(fixed) 256 % 0.10904 -cpp_int(fixed) 256 | 0.0112498 -cpp_int(fixed) 256 & 0.0121216 -cpp_int(fixed) 256 ^ 0.013859 -cpp_int(fixed) 256 << 0.00624253 -cpp_int(fixed) 256 >> 0.00532573 -cpp_int(fixed) 256 %(int) 0.0699684 -cpp_int(fixed) 256 |(int) 0.0108938 -cpp_int(fixed) 256 &(int) 0.0182556 -cpp_int(fixed) 256 ^(int) 0.013225 -cpp_int(fixed) 256 gcd 1.43732 -cpp_int(fixed) 256 powm 1.66829 -cpp_int(fixed) 256 +(unsigned long long) 0.00923798 -cpp_int(fixed) 256 -(unsigned long long) 0.00840261 -cpp_int(fixed) 256 *(unsigned long long) 0.00422601 -cpp_int(fixed) 256 /(unsigned long long) 0.0761662 -cpp_int(fixed) 256 +=(unsigned long long) 0.00776928 -cpp_int(fixed) 256 -=(unsigned long long) 0.00736247 -cpp_int(fixed) 256 *=(unsigned long long) 0.00940387 -cpp_int(fixed) 256 /=(unsigned long long) 0.0817993 -cpp_int(fixed) 512 + 0.0107337 -cpp_int(fixed) 512 - 0.0113195 -cpp_int(fixed) 512 * 0.0512925 -cpp_int(fixed) 512 / 0.187605 -cpp_int(fixed) 512 str 0.00114008 -cpp_int(fixed) 512 +(int) 0.00891717 -cpp_int(fixed) 512 -(int) 0.0079343 -cpp_int(fixed) 512 *(int) 0.0087273 -cpp_int(fixed) 512 /(int) 0.128571 -cpp_int(fixed) 512 construct 0.00318462 -cpp_int(fixed) 512 construct(unsigned) 0.00348916 -cpp_int(fixed) 512 construct(unsigned long long) 0.00344948 -cpp_int(fixed) 512 % 0.184697 -cpp_int(fixed) 512 | 0.0126787 -cpp_int(fixed) 512 & 0.0130102 -cpp_int(fixed) 512 ^ 0.0160556 -cpp_int(fixed) 512 << 0.00903085 -cpp_int(fixed) 512 >> 0.00707508 -cpp_int(fixed) 512 %(int) 0.129488 -cpp_int(fixed) 512 |(int) 0.0114047 -cpp_int(fixed) 512 &(int) 0.0195101 -cpp_int(fixed) 512 ^(int) 0.0115328 -cpp_int(fixed) 512 gcd 4.50823 -cpp_int(fixed) 512 powm 8.01404 -cpp_int(fixed) 512 +(unsigned long long) 0.00963492 -cpp_int(fixed) 512 -(unsigned long long) 0.00881879 -cpp_int(fixed) 512 *(unsigned long long) 0.00592347 -cpp_int(fixed) 512 /(unsigned long long) 0.148664 -cpp_int(fixed) 512 +=(unsigned long long) 0.00796329 -cpp_int(fixed) 512 -=(unsigned long long) 0.00770724 -cpp_int(fixed) 512 *=(unsigned long long) 0.0111425 -cpp_int(fixed) 512 /=(unsigned long long) 0.149478 -cpp_int(fixed) 1024 + 0.0205823 -cpp_int(fixed) 1024 - 0.0212976 -cpp_int(fixed) 1024 * 0.133528 -cpp_int(fixed) 1024 / 0.355761 -cpp_int(fixed) 1024 str 0.00362969 -cpp_int(fixed) 1024 +(int) 0.0134049 -cpp_int(fixed) 1024 -(int) 0.0123073 -cpp_int(fixed) 1024 *(int) 0.0173257 -cpp_int(fixed) 1024 /(int) 0.268837 -cpp_int(fixed) 1024 construct 0.00774465 -cpp_int(fixed) 1024 construct(unsigned) 0.00779734 -cpp_int(fixed) 1024 construct(unsigned long long) 0.007641 -cpp_int(fixed) 1024 % 0.350131 -cpp_int(fixed) 1024 | 0.0185784 -cpp_int(fixed) 1024 & 0.0174986 -cpp_int(fixed) 1024 ^ 0.0181626 -cpp_int(fixed) 1024 << 0.0137187 -cpp_int(fixed) 1024 >> 0.0140212 -cpp_int(fixed) 1024 %(int) 0.274825 -cpp_int(fixed) 1024 |(int) 0.0205014 -cpp_int(fixed) 1024 &(int) 0.0303898 -cpp_int(fixed) 1024 ^(int) 0.0206643 -cpp_int(fixed) 1024 gcd 14.4217 -cpp_int(fixed) 1024 powm 41.6696 -cpp_int(fixed) 1024 +(unsigned long long) 0.0138758 -cpp_int(fixed) 1024 -(unsigned long long) 0.0128921 -cpp_int(fixed) 1024 *(unsigned long long) 0.013052 -cpp_int(fixed) 1024 /(unsigned long long) 0.307082 -cpp_int(fixed) 1024 +=(unsigned long long) 0.00863808 -cpp_int(fixed) 1024 -=(unsigned long long) 0.0085416 -cpp_int(fixed) 1024 *=(unsigned long long) 0.0138715 -cpp_int(fixed) 1024 /=(unsigned long long) 0.29968 -cpp_int 128 + 0.013332 -cpp_int 128 - 0.013267 -cpp_int 128 * 0.0300171 -cpp_int 128 / 0.120457 -cpp_int 128 str 0.000421266 -cpp_int 128 +(int) 0.00838402 -cpp_int 128 -(int) 0.00718041 -cpp_int 128 *(int) 0.00819119 -cpp_int 128 /(int) 0.0610196 -cpp_int 128 construct 0.00154337 -cpp_int 128 construct(unsigned) 0.00163907 -cpp_int 128 construct(unsigned long long) 0.00192516 -cpp_int 128 % 0.0864932 -cpp_int 128 | 0.0172824 -cpp_int 128 & 0.0183659 -cpp_int 128 ^ 0.0176691 -cpp_int 128 << 0.0162764 -cpp_int 128 >> 0.0162325 -cpp_int 128 %(int) 0.0411513 -cpp_int 128 |(int) 0.0155813 -cpp_int 128 &(int) 0.022195 -cpp_int 128 ^(int) 0.0154762 -cpp_int 128 gcd 0.395833 -cpp_int 128 powm 0.802191 -cpp_int 128 +(unsigned long long) 0.00642975 -cpp_int 128 -(unsigned long long) 0.00750847 -cpp_int 128 *(unsigned long long) 0.00634192 -cpp_int 128 /(unsigned long long) 0.0679437 -cpp_int 128 +=(unsigned long long) 0.0119696 -cpp_int 128 -=(unsigned long long) 0.0131613 -cpp_int 128 *=(unsigned long long) 0.0124159 -cpp_int 128 /=(unsigned long long) 0.0787575 -cpp_int 256 + 0.0143298 -cpp_int 256 - 0.0143848 -cpp_int 256 * 0.0236033 -cpp_int 256 / 0.256283 -cpp_int 256 str 0.000851021 -cpp_int 256 +(int) 0.00932673 -cpp_int 256 -(int) 0.00764735 -cpp_int 256 *(int) 0.00975751 -cpp_int 256 /(int) 0.114124 -cpp_int 256 construct 0.00165673 -cpp_int 256 construct(unsigned) 0.00163286 -cpp_int 256 construct(unsigned long long) 0.00189599 -cpp_int 256 % 0.180207 -cpp_int 256 | 0.0151621 -cpp_int 256 & 0.0152432 -cpp_int 256 ^ 0.0151583 -cpp_int 256 << 0.0163378 -cpp_int 256 >> 0.0157363 -cpp_int 256 %(int) 0.0824453 -cpp_int 256 |(int) 0.015007 -cpp_int 256 &(int) 0.0225044 -cpp_int 256 ^(int) 0.0152722 -cpp_int 256 gcd 2.95518 -cpp_int 256 powm 2.61537 -cpp_int 256 +(unsigned long long) 0.00645253 -cpp_int 256 -(unsigned long long) 0.00771183 -cpp_int 256 *(unsigned long long) 0.00682732 -cpp_int 256 /(unsigned long long) 0.118515 -cpp_int 256 +=(unsigned long long) 0.0116516 -cpp_int 256 -=(unsigned long long) 0.0134809 -cpp_int 256 *=(unsigned long long) 0.0117921 -cpp_int 256 /=(unsigned long long) 0.16217 -cpp_int 512 + 0.0167551 -cpp_int 512 - 0.0168786 -cpp_int 512 * 0.0566226 -cpp_int 512 / 0.342198 -cpp_int 512 str 0.00169768 -cpp_int 512 +(int) 0.00974958 -cpp_int 512 -(int) 0.00793413 -cpp_int 512 *(int) 0.0145601 -cpp_int 512 /(int) 0.188141 -cpp_int 512 construct 0.00160871 -cpp_int 512 construct(unsigned) 0.00171255 -cpp_int 512 construct(unsigned long long) 0.00183399 -cpp_int 512 % 0.265481 -cpp_int 512 | 0.015208 -cpp_int 512 & 0.0150612 -cpp_int 512 ^ 0.01576 -cpp_int 512 << 0.021464 -cpp_int 512 >> 0.0149173 -cpp_int 512 %(int) 0.158338 -cpp_int 512 |(int) 0.0145389 -cpp_int 512 &(int) 0.022403 -cpp_int 512 ^(int) 0.0149375 -cpp_int 512 gcd 8.63567 -cpp_int 512 powm 10.4205 -cpp_int 512 +(unsigned long long) 0.00641131 -cpp_int 512 -(unsigned long long) 0.00832029 -cpp_int 512 *(unsigned long long) 0.00820436 -cpp_int 512 /(unsigned long long) 0.19782 -cpp_int 512 +=(unsigned long long) 0.0113839 -cpp_int 512 -=(unsigned long long) 0.0129795 -cpp_int 512 *=(unsigned long long) 0.0140258 -cpp_int 512 /=(unsigned long long) 0.247055 -cpp_int 1024 + 0.0233641 -cpp_int 1024 - 0.0248697 -cpp_int 1024 * 0.200935 -cpp_int 1024 / 0.552845 -cpp_int 1024 str 0.00504001 -cpp_int 1024 +(int) 0.0103926 -cpp_int 1024 -(int) 0.00889396 -cpp_int 1024 *(int) 0.0199823 -cpp_int 1024 /(int) 0.347422 -cpp_int 1024 construct 0.00172862 -cpp_int 1024 construct(unsigned) 0.0017176 -cpp_int 1024 construct(unsigned long long) 0.00196715 -cpp_int 1024 % 0.437939 -cpp_int 1024 | 0.017812 -cpp_int 1024 & 0.0169715 -cpp_int 1024 ^ 0.0166044 -cpp_int 1024 << 0.0286746 -cpp_int 1024 >> 0.0162095 -cpp_int 1024 %(int) 0.324245 -cpp_int 1024 |(int) 0.0155149 -cpp_int 1024 &(int) 0.0249629 -cpp_int 1024 ^(int) 0.0152534 -cpp_int 1024 gcd 22.6997 -cpp_int 1024 powm 51.2302 -cpp_int 1024 +(unsigned long long) 0.00821865 -cpp_int 1024 -(unsigned long long) 0.00851748 -cpp_int 1024 *(unsigned long long) 0.012381 -cpp_int 1024 /(unsigned long long) 0.36737 -cpp_int 1024 +=(unsigned long long) 0.0125775 -cpp_int 1024 -=(unsigned long long) 0.0140383 -cpp_int 1024 *=(unsigned long long) 0.017396 -cpp_int 1024 /=(unsigned long long) 0.405759 -cpp_rational 128 + 1.97719 -cpp_rational 128 - 2.0234 -cpp_rational 128 * 1.11835 -cpp_rational 128 / 6.66075 -cpp_rational 128 str 0.00206821 -cpp_rational 128 +(int) 0.669913 -cpp_rational 128 -(int) 0.62794 -cpp_rational 128 *(int) 0.612884 -cpp_rational 128 /(int) 0.64166 -cpp_rational 128 construct 0.00323537 -cpp_rational 128 construct(unsigned) 0.00321917 -cpp_rational 128 construct(unsigned long long) 0.00333944 -cpp_rational 128 +(unsigned long long) 1.16835 -cpp_rational 128 -(unsigned long long) 1.16081 -cpp_rational 128 *(unsigned long long) 0.691659 -cpp_rational 128 /(unsigned long long) 0.691696 -cpp_rational 128 +=(unsigned long long) 1.14891 -cpp_rational 128 -=(unsigned long long) 1.16049 -cpp_rational 128 *=(unsigned long long) 0.690473 -cpp_rational 128 /=(unsigned long long) 0.685733 -cpp_rational 256 + 7.34254 -cpp_rational 256 - 7.38282 -cpp_rational 256 * 6.61855 -cpp_rational 256 / 21.0634 -cpp_rational 256 str 0.00645497 -cpp_rational 256 +(int) 2.91217 -cpp_rational 256 -(int) 2.96506 -cpp_rational 256 *(int) 2.83784 -cpp_rational 256 /(int) 2.84312 -cpp_rational 256 construct 0.00328614 -cpp_rational 256 construct(unsigned) 0.00319471 -cpp_rational 256 construct(unsigned long long) 0.00335336 -cpp_rational 256 +(unsigned long long) 3.37438 -cpp_rational 256 -(unsigned long long) 3.40187 -cpp_rational 256 *(unsigned long long) 2.97414 -cpp_rational 256 /(unsigned long long) 2.94678 -cpp_rational 256 +=(unsigned long long) 3.45541 -cpp_rational 256 -=(unsigned long long) 3.64132 -cpp_rational 256 *=(unsigned long long) 3.35519 -cpp_rational 256 /=(unsigned long long) 3.08065 -cpp_rational 512 + 21.2507 -cpp_rational 512 - 19.913 -cpp_rational 512 * 18.5981 -cpp_rational 512 / 55.0195 -cpp_rational 512 str 0.0156602 -cpp_rational 512 +(int) 7.40631 -cpp_rational 512 -(int) 7.56072 -cpp_rational 512 *(int) 7.61151 -cpp_rational 512 /(int) 7.74325 -cpp_rational 512 construct 0.0032946 -cpp_rational 512 construct(unsigned) 0.00327131 -cpp_rational 512 construct(unsigned long long) 0.00348777 -cpp_rational 512 +(unsigned long long) 8.08959 -cpp_rational 512 -(unsigned long long) 8.26011 -cpp_rational 512 *(unsigned long long) 7.64879 -cpp_rational 512 /(unsigned long long) 7.48547 -cpp_rational 512 +=(unsigned long long) 8.17612 -cpp_rational 512 -=(unsigned long long) 8.10257 -cpp_rational 512 *=(unsigned long long) 7.47312 -cpp_rational 512 /=(unsigned long long) 7.43555 -cpp_rational 1024 + 49.7843 -cpp_rational 1024 - 50.8786 -cpp_rational 1024 * 47.0022 -cpp_rational 1024 / 149.774 -cpp_rational 1024 str 0.0705044 -cpp_rational 1024 +(int) 29.7057 -cpp_rational 1024 -(int) 23.42 -cpp_rational 1024 *(int) 19.4821 -cpp_rational 1024 /(int) 19.5619 -cpp_rational 1024 construct 0.00333283 -cpp_rational 1024 construct(unsigned) 0.00366486 -cpp_rational 1024 construct(unsigned long long) 0.00345967 -cpp_rational 1024 +(unsigned long long) 19.9733 -cpp_rational 1024 -(unsigned long long) 20.5682 -cpp_rational 1024 *(unsigned long long) 19.5719 -cpp_rational 1024 /(unsigned long long) 19.5526 -cpp_rational 1024 +=(unsigned long long) 20.0733 -cpp_rational 1024 -=(unsigned long long) 20.0829 -cpp_rational 1024 *=(unsigned long long) 19.3092 -cpp_rational 1024 /=(unsigned long long) 19.2754 -mpq_rational 128 + 0.232113 -mpq_rational 128 - 0.236118 -mpq_rational 128 * 0.431264 -mpq_rational 128 / 1.17344 -mpq_rational 128 str 0.000356077 -mpq_rational 128 +(int) 0.0933486 -mpq_rational 128 -(int) 0.094814 -mpq_rational 128 *(int) 0.108777 -mpq_rational 128 /(int) 0.108671 -mpq_rational 128 construct 0.0935664 -mpq_rational 128 construct(unsigned) 0.0993283 -mpq_rational 128 construct(unsigned long long) 0.09744 -mpq_rational 128 +(unsigned long long) 0.0934708 -mpq_rational 128 -(unsigned long long) 0.0937381 -mpq_rational 128 *(unsigned long long) 0.155504 -mpq_rational 128 /(unsigned long long) 0.158948 -mpq_rational 128 +=(unsigned long long) 0.0976436 -mpq_rational 128 -=(unsigned long long) 0.0993285 -mpq_rational 128 *=(unsigned long long) 0.167468 -mpq_rational 128 /=(unsigned long long) 0.165432 -mpq_rational 256 + 0.93406 -mpq_rational 256 - 0.936822 -mpq_rational 256 * 1.7681 -mpq_rational 256 / 3.51474 -mpq_rational 256 str 0.000559971 -mpq_rational 256 +(int) 0.0975637 -mpq_rational 256 -(int) 0.0966986 -mpq_rational 256 *(int) 0.111198 -mpq_rational 256 /(int) 0.111385 -mpq_rational 256 construct 0.0924926 -mpq_rational 256 construct(unsigned) 0.0977495 -mpq_rational 256 construct(unsigned long long) 0.097742 -mpq_rational 256 +(unsigned long long) 0.100222 -mpq_rational 256 -(unsigned long long) 0.094297 -mpq_rational 256 *(unsigned long long) 0.161502 -mpq_rational 256 /(unsigned long long) 0.161207 -mpq_rational 256 +=(unsigned long long) 0.100389 -mpq_rational 256 -=(unsigned long long) 0.0993737 -mpq_rational 256 *=(unsigned long long) 0.165609 -mpq_rational 256 /=(unsigned long long) 0.168124 -mpq_rational 512 + 2.18402 -mpq_rational 512 - 2.08686 -mpq_rational 512 * 3.94136 -mpq_rational 512 / 6.80254 -mpq_rational 512 str 0.000861937 -mpq_rational 512 +(int) 0.0977514 -mpq_rational 512 -(int) 0.0995801 -mpq_rational 512 *(int) 0.11768 -mpq_rational 512 /(int) 0.118393 -mpq_rational 512 construct 0.0930936 -mpq_rational 512 construct(unsigned) 0.0967869 -mpq_rational 512 construct(unsigned long long) 0.0958203 -mpq_rational 512 +(unsigned long long) 0.0986335 -mpq_rational 512 -(unsigned long long) 0.099081 -mpq_rational 512 *(unsigned long long) 0.172267 -mpq_rational 512 /(unsigned long long) 0.169168 -mpq_rational 512 +=(unsigned long long) 0.104573 -mpq_rational 512 -=(unsigned long long) 0.105098 -mpq_rational 512 *=(unsigned long long) 0.174588 -mpq_rational 512 /=(unsigned long long) 0.171411 -mpq_rational 1024 + 4.46507 -mpq_rational 1024 - 4.44964 -mpq_rational 1024 * 8.56905 -mpq_rational 1024 / 14.1539 -mpq_rational 1024 str 0.00185005 -mpq_rational 1024 +(int) 0.116781 -mpq_rational 1024 -(int) 0.117408 -mpq_rational 1024 *(int) 0.143955 -mpq_rational 1024 /(int) 0.145528 -mpq_rational 1024 construct 0.0919355 -mpq_rational 1024 construct(unsigned) 0.103874 -mpq_rational 1024 construct(unsigned long long) 0.099173 -mpq_rational 1024 +(unsigned long long) 0.116332 -mpq_rational 1024 -(unsigned long long) 0.121534 -mpq_rational 1024 *(unsigned long long) 0.19878 -mpq_rational 1024 /(unsigned long long) 0.197224 -mpq_rational 1024 +=(unsigned long long) 0.124408 -mpq_rational 1024 -=(unsigned long long) 0.12517 -mpq_rational 1024 *=(unsigned long long) 0.20482 -mpq_rational 1024 /=(unsigned long long) 0.204503 -tommath_int 128 + 0.00678965 -tommath_int 128 - 0.0123641 -tommath_int 128 * 0.0246539 -tommath_int 128 / 0.981836 -tommath_int 128 str 0.00472888 -tommath_int 128 +(int) 0.106733 -tommath_int 128 -(int) 0.113635 -tommath_int 128 *(int) 0.118252 -tommath_int 128 /(int) 0.736239 -tommath_int 128 construct 0.115289 -tommath_int 128 construct(unsigned) 0.252455 -tommath_int 128 construct(unsigned long long) 0.349159 -tommath_int 128 % 0.96577 -tommath_int 128 | 0.038702 -tommath_int 128 & 0.0406739 -tommath_int 128 ^ 0.0398677 -tommath_int 128 << 0.0209838 -tommath_int 128 >> 0.0543026 -tommath_int 128 %(int) 0.658846 -tommath_int 128 |(int) 0.136462 -tommath_int 128 &(int) 0.145742 -tommath_int 128 ^(int) 0.136771 -tommath_int 128 gcd 2.06703 -tommath_int 128 powm 0.459715 -tommath_int 128 +(unsigned long long) 0.254372 -tommath_int 128 -(unsigned long long) 0.259661 -tommath_int 128 *(unsigned long long) 0.265975 -tommath_int 128 /(unsigned long long) 0.840045 -tommath_int 128 +=(unsigned long long) 0.257947 -tommath_int 128 -=(unsigned long long) 0.257531 -tommath_int 128 *=(unsigned long long) 0.286726 -tommath_int 128 /=(unsigned long long) 0.88258 -tommath_int 256 + 0.00798749 -tommath_int 256 - 0.0149887 -tommath_int 256 * 0.0349929 -tommath_int 256 / 1.18898 -tommath_int 256 str 0.0105433 -tommath_int 256 +(int) 0.112797 -tommath_int 256 -(int) 0.116037 -tommath_int 256 *(int) 0.125352 -tommath_int 256 /(int) 0.973953 -tommath_int 256 construct 0.0973229 -tommath_int 256 construct(unsigned) 0.247326 -tommath_int 256 construct(unsigned long long) 0.357713 -tommath_int 256 % 1.19522 -tommath_int 256 | 0.0424855 -tommath_int 256 & 0.0427744 -tommath_int 256 ^ 0.0427158 -tommath_int 256 << 0.028672 -tommath_int 256 >> 0.05892 -tommath_int 256 %(int) 0.911168 -tommath_int 256 |(int) 0.142016 -tommath_int 256 &(int) 0.151627 -tommath_int 256 ^(int) 0.147598 -tommath_int 256 gcd 4.31644 -tommath_int 256 powm 1.09382 -tommath_int 256 +(unsigned long long) 0.275892 -tommath_int 256 -(unsigned long long) 0.282188 -tommath_int 256 *(unsigned long long) 0.29312 -tommath_int 256 /(unsigned long long) 1.01524 -tommath_int 256 +=(unsigned long long) 0.276042 -tommath_int 256 -=(unsigned long long) 0.273305 -tommath_int 256 *=(unsigned long long) 0.285285 -tommath_int 256 /=(unsigned long long) 1.00486 -tommath_int 512 + 0.0105369 -tommath_int 512 - 0.0156977 -tommath_int 512 * 0.0562246 -tommath_int 512 / 1.48007 -tommath_int 512 str 0.0256704 -tommath_int 512 +(int) 0.111833 -tommath_int 512 -(int) 0.115455 -tommath_int 512 *(int) 0.129959 -tommath_int 512 /(int) 1.24139 -tommath_int 512 construct 0.0848414 -tommath_int 512 construct(unsigned) 0.227296 -tommath_int 512 construct(unsigned long long) 0.341884 -tommath_int 512 % 1.47963 -tommath_int 512 | 0.0426395 -tommath_int 512 & 0.0425969 -tommath_int 512 ^ 0.0424452 -tommath_int 512 << 0.033255 -tommath_int 512 >> 0.0585334 -tommath_int 512 %(int) 1.20499 -tommath_int 512 |(int) 0.160345 -tommath_int 512 &(int) 0.154665 -tommath_int 512 ^(int) 0.142844 -tommath_int 512 gcd 8.92681 -tommath_int 512 powm 3.07116 -tommath_int 512 +(unsigned long long) 0.280267 -tommath_int 512 -(unsigned long long) 0.278803 -tommath_int 512 *(unsigned long long) 0.2998 -tommath_int 512 /(unsigned long long) 1.48911 -tommath_int 512 +=(unsigned long long) 0.278477 -tommath_int 512 -=(unsigned long long) 0.293781 -tommath_int 512 *=(unsigned long long) 0.324997 -tommath_int 512 /=(unsigned long long) 1.61452 -tommath_int 1024 + 0.0161566 -tommath_int 1024 - 0.018493 -tommath_int 1024 * 0.141039 -tommath_int 1024 / 2.20208 -tommath_int 1024 str 0.0794284 -tommath_int 1024 +(int) 0.139279 -tommath_int 1024 -(int) 0.143658 -tommath_int 1024 *(int) 0.162966 -tommath_int 1024 /(int) 1.90434 -tommath_int 1024 construct 0.0770287 -tommath_int 1024 construct(unsigned) 0.219878 -tommath_int 1024 construct(unsigned long long) 0.341 -tommath_int 1024 % 2.12727 -tommath_int 1024 | 0.0434857 -tommath_int 1024 & 0.0459981 -tommath_int 1024 ^ 0.0434936 -tommath_int 1024 << 0.0408897 -tommath_int 1024 >> 0.0591272 -tommath_int 1024 %(int) 1.92505 -tommath_int 1024 |(int) 0.144457 -tommath_int 1024 &(int) 0.154131 -tommath_int 1024 ^(int) 0.146067 -tommath_int 1024 gcd 20.3168 -tommath_int 1024 powm 14.291 -tommath_int 1024 +(unsigned long long) 0.297388 -tommath_int 1024 -(unsigned long long) 0.293414 -tommath_int 1024 *(unsigned long long) 0.315697 -tommath_int 1024 /(unsigned long long) 2.35142 -tommath_int 1024 +=(unsigned long long) 0.556978 -tommath_int 1024 -=(unsigned long long) 0.571167 -tommath_int 1024 *=(unsigned long long) 0.437006 -tommath_int 1024 /=(unsigned long long) 2.42996 -cpp_dec_float 50 + 0.0218359 -cpp_dec_float 50 - 0.0226168 -cpp_dec_float 50 * 0.031823 -cpp_dec_float 50 / 0.582036 -cpp_dec_float 50 str 0.00302637 -cpp_dec_float 50 +(int) 0.0254011 -cpp_dec_float 50 -(int) 0.0346161 -cpp_dec_float 50 *(int) 0.0318849 -cpp_dec_float 50 /(int) 0.292944 -cpp_dec_float 50 construct 0.00303671 -cpp_dec_float 50 construct(unsigned) 0.0086802 -cpp_dec_float 50 construct(unsigned long long) 0.0155978 -cpp_dec_float 50 +(unsigned long long) 0.030015 -cpp_dec_float 50 -(unsigned long long) 0.0392273 -cpp_dec_float 50 *(unsigned long long) 0.0348541 -cpp_dec_float 50 /(unsigned long long) 0.280663 -cpp_dec_float 50 +=(unsigned long long) 0.0297781 -cpp_dec_float 50 -=(unsigned long long) 0.029523 -cpp_dec_float 50 *=(unsigned long long) 0.0377542 -cpp_dec_float 50 /=(unsigned long long) 0.276449 -cpp_dec_float 100 + 0.0261964 -cpp_dec_float 100 - 0.0316003 -cpp_dec_float 100 * 0.0662176 -cpp_dec_float 100 / 1.02087 -cpp_dec_float 100 str 0.0040019 -cpp_dec_float 100 +(int) 0.0308294 -cpp_dec_float 100 -(int) 0.0403659 -cpp_dec_float 100 *(int) 0.0557104 -cpp_dec_float 100 /(int) 0.482477 -cpp_dec_float 100 construct 0.00411687 -cpp_dec_float 100 construct(unsigned) 0.00831702 -cpp_dec_float 100 construct(unsigned long long) 0.00848537 -cpp_dec_float 100 +(unsigned long long) 0.0317483 -cpp_dec_float 100 -(unsigned long long) 0.0331383 -cpp_dec_float 100 *(unsigned long long) 0.0611235 -cpp_dec_float 100 /(unsigned long long) 0.481967 -cpp_dec_float 100 +=(unsigned long long) 0.0528949 -cpp_dec_float 100 -=(unsigned long long) 0.0365817 -cpp_dec_float 100 *=(unsigned long long) 0.0653562 -cpp_dec_float 100 /=(unsigned long long) 0.492342 -cpp_dec_float 500 + 0.126431 -cpp_dec_float 500 - 0.198666 -cpp_dec_float 500 * 0.482708 -cpp_dec_float 500 / 5.95388 -cpp_dec_float 500 str 0.0103068 -cpp_dec_float 500 +(int) 0.128342 -cpp_dec_float 500 -(int) 0.117354 -cpp_dec_float 500 *(int) 0.461166 -cpp_dec_float 500 /(int) 2.95226 -cpp_dec_float 500 construct 0.0143345 -cpp_dec_float 500 construct(unsigned) 0.0291456 -cpp_dec_float 500 construct(unsigned long long) 0.0287679 -cpp_dec_float 500 +(unsigned long long) 0.0945316 -cpp_dec_float 500 -(unsigned long long) 0.0902684 -cpp_dec_float 500 *(unsigned long long) 0.455598 -cpp_dec_float 500 /(unsigned long long) 2.91535 -cpp_dec_float 500 +=(unsigned long long) 0.110218 -cpp_dec_float 500 -=(unsigned long long) 0.0946795 -cpp_dec_float 500 *=(unsigned long long) 0.460876 -cpp_dec_float 500 /=(unsigned long long) 2.84786 -cpp_bin_float 50 + 0.0381834 -cpp_bin_float 50 - 0.0409089 -cpp_bin_float 50 * 0.0408401 -cpp_bin_float 50 / 0.472005 -cpp_bin_float 50 str 0.00249639 -cpp_bin_float 50 +(int) 0.0381889 -cpp_bin_float 50 -(int) 0.0423205 -cpp_bin_float 50 *(int) 0.0223518 -cpp_bin_float 50 /(int) 0.0938506 -cpp_bin_float 50 construct 0.00303111 -cpp_bin_float 50 construct(unsigned) 0.00519769 -cpp_bin_float 50 construct(unsigned long long) 0.00524853 -cpp_bin_float 50 +(unsigned long long) 0.044578 -cpp_bin_float 50 -(unsigned long long) 0.057902 -cpp_bin_float 50 *(unsigned long long) 0.0235916 -cpp_bin_float 50 /(unsigned long long) 0.101822 -cpp_bin_float 50 +=(unsigned long long) 0.045722 -cpp_bin_float 50 -=(unsigned long long) 0.0470344 -cpp_bin_float 50 *=(unsigned long long) 0.0230891 -cpp_bin_float 50 /=(unsigned long long) 0.125006 -cpp_bin_float 100 + 0.0642049 -cpp_bin_float 100 - 0.0485095 -cpp_bin_float 100 * 0.0653409 -cpp_bin_float 100 / 1.06338 -cpp_bin_float 100 str 0.00505412 -cpp_bin_float 100 +(int) 0.0518618 -cpp_bin_float 100 -(int) 0.0550403 -cpp_bin_float 100 *(int) 0.0313689 -cpp_bin_float 100 /(int) 0.162749 -cpp_bin_float 100 construct 0.00357506 -cpp_bin_float 100 construct(unsigned) 0.0054342 -cpp_bin_float 100 construct(unsigned long long) 0.00566609 -cpp_bin_float 100 +(unsigned long long) 0.0758362 -cpp_bin_float 100 -(unsigned long long) 0.075218 -cpp_bin_float 100 *(unsigned long long) 0.0423397 -cpp_bin_float 100 /(unsigned long long) 0.190303 -cpp_bin_float 100 +=(unsigned long long) 0.0640784 -cpp_bin_float 100 -=(unsigned long long) 0.0618181 -cpp_bin_float 100 *=(unsigned long long) 0.031993 -cpp_bin_float 100 /=(unsigned long long) 0.208589 -cpp_bin_float 500 + 0.102092 -cpp_bin_float 500 - 0.103383 -cpp_bin_float 500 * 0.597984 -cpp_bin_float 500 / 5.3577 -cpp_bin_float 500 str 0.0320983 -cpp_bin_float 500 +(int) 0.104875 -cpp_bin_float 500 -(int) 0.105425 -cpp_bin_float 500 *(int) 0.0632425 -cpp_bin_float 500 /(int) 0.551804 -cpp_bin_float 500 construct 0.0113051 -cpp_bin_float 500 construct(unsigned) 0.0275892 -cpp_bin_float 500 construct(unsigned long long) 0.0278919 -cpp_bin_float 500 +(unsigned long long) 0.112203 -cpp_bin_float 500 -(unsigned long long) 0.116255 -cpp_bin_float 500 *(unsigned long long) 0.0709145 -cpp_bin_float 500 /(unsigned long long) 0.717622 -cpp_bin_float 500 +=(unsigned long long) 0.117755 -cpp_bin_float 500 -=(unsigned long long) 0.124911 -cpp_bin_float 500 *=(unsigned long long) 0.0772075 -cpp_bin_float 500 /=(unsigned long long) 0.662579 -mpfr_float 50 + 0.00990649 -mpfr_float 50 - 0.0131639 -mpfr_float 50 * 0.00985486 -mpfr_float 50 / 0.196689 -mpfr_float 50 str 0.00126221 -mpfr_float 50 +(int) 0.0325694 -mpfr_float 50 -(int) 0.0407359 -mpfr_float 50 *(int) 0.0218488 -mpfr_float 50 /(int) 0.0264314 -mpfr_float 50 construct 0.0838087 -mpfr_float 50 construct(unsigned) 0.107663 -mpfr_float 50 construct(unsigned long long) 0.115395 -mpfr_float 50 +(unsigned long long) 0.0308868 -mpfr_float 50 -(unsigned long long) 0.0443848 -mpfr_float 50 *(unsigned long long) 0.0199265 -mpfr_float 50 /(unsigned long long) 0.0255842 -mpfr_float 50 +=(unsigned long long) 0.0528711 -mpfr_float 50 -=(unsigned long long) 0.0579167 -mpfr_float 50 *=(unsigned long long) 0.0315954 -mpfr_float 50 /=(unsigned long long) 0.0446419 -mpfr_float 50 + 0.0097614 -mpfr_float 50 - 0.00984886 -mpfr_float 50 * 0.00947969 -mpfr_float 50 / 0.200117 -mpfr_float 50 str 0.0012204 -mpfr_float 50 +(int) 0.0327002 -mpfr_float 50 -(int) 0.041936 -mpfr_float 50 *(int) 0.0223562 -mpfr_float 50 /(int) 0.0269409 -mpfr_float 50 construct 0.0853075 -mpfr_float 50 construct(unsigned) 0.130111 -mpfr_float 50 construct(unsigned long long) 0.109108 -mpfr_float 50 +(unsigned long long) 0.0322161 -mpfr_float 50 -(unsigned long long) 0.0447741 -mpfr_float 50 *(unsigned long long) 0.0211571 -mpfr_float 50 /(unsigned long long) 0.0269157 -mpfr_float 50 +=(unsigned long long) 0.0526874 -mpfr_float 50 -=(unsigned long long) 0.0580968 -mpfr_float 50 *=(unsigned long long) 0.0329355 -mpfr_float 50 /=(unsigned long long) 0.0389292 -mpfr_float 100 + 0.0188131 -mpfr_float 100 - 0.0187679 -mpfr_float 100 * 0.0452924 -mpfr_float 100 / 0.256012 -mpfr_float 100 str 0.00146774 -mpfr_float 100 +(int) 0.034396 -mpfr_float 100 -(int) 0.043451 -mpfr_float 100 *(int) 0.0243651 -mpfr_float 100 /(int) 0.0323974 -mpfr_float 100 construct 0.0887486 -mpfr_float 100 construct(unsigned) 0.113405 -mpfr_float 100 construct(unsigned long long) 0.11486 -mpfr_float 100 +(unsigned long long) 0.0376537 -mpfr_float 100 -(unsigned long long) 0.0498416 -mpfr_float 100 *(unsigned long long) 0.0253062 -mpfr_float 100 /(unsigned long long) 0.0361161 -mpfr_float 100 +=(unsigned long long) 0.0562794 -mpfr_float 100 -=(unsigned long long) 0.0653955 -mpfr_float 100 *=(unsigned long long) 0.0383137 -mpfr_float 100 /=(unsigned long long) 0.0455194 -mpfr_float 500 + 0.0378282 -mpfr_float 500 - 0.0381809 -mpfr_float 500 * 0.589363 -mpfr_float 500 / 1.4123 -mpfr_float 500 str 0.00463864 -mpfr_float 500 +(int) 0.0524673 -mpfr_float 500 -(int) 0.0642965 -mpfr_float 500 *(int) 0.0525722 -mpfr_float 500 /(int) 0.0867728 -mpfr_float 500 construct 0.117058 -mpfr_float 500 construct(unsigned) 0.173715 -mpfr_float 500 construct(unsigned long long) 0.144437 -mpfr_float 500 +(unsigned long long) 0.052676 -mpfr_float 500 -(unsigned long long) 0.0723102 -mpfr_float 500 *(unsigned long long) 0.0483258 -mpfr_float 500 /(unsigned long long) 0.0861411 -mpfr_float 500 +=(unsigned long long) 0.0742172 -mpfr_float 500 -=(unsigned long long) 0.0837856 -mpfr_float 500 *=(unsigned long long) 0.0561789 -mpfr_float 500 /=(unsigned long long) 0.109346 -gmp_int 5120 + 0.050588 -gmp_int 5120 - 0.0462452 -gmp_int 5120 * 2.13089 -gmp_int 5120 / 0.340699 -gmp_int 5120 str 0.00720651 -gmp_int 5120 +(int) 0.0291824 -gmp_int 5120 -(int) 0.0309358 -gmp_int 5120 *(int) 0.0425668 -gmp_int 5120 /(int) 0.172715 -gmp_int 5120 construct 0.0629698 -gmp_int 5120 construct(unsigned) 0.0694635 -gmp_int 5120 construct(unsigned long long) 0.138372 -gmp_int 5120 % 0.280057 -gmp_int 5120 | 0.0327866 -gmp_int 5120 & 0.0328374 -gmp_int 5120 ^ 0.0338873 -gmp_int 5120 << 0.0640186 -gmp_int 5120 >> 0.00407185 -gmp_int 5120 %(int) 0.0531708 -gmp_int 5120 |(int) 0.0526751 -gmp_int 5120 &(int) 0.0367266 -gmp_int 5120 ^(int) 0.0541849 -gmp_int 5120 gcd 28.3707 -gmp_int 5120 +(unsigned long long) 0.0188413 -gmp_int 5120 -(unsigned long long) 0.0185005 -gmp_int 5120 *(unsigned long long) 0.0318361 -gmp_int 5120 /(unsigned long long) 0.135343 -gmp_int 5120 +=(unsigned long long) 0.0229395 -gmp_int 5120 -=(unsigned long long) 0.0216753 -gmp_int 5120 *=(unsigned long long) 0.043807 -gmp_int 5120 /=(unsigned long long) 0.149975 -gmp_int 10240 + 0.0500843 -gmp_int 10240 - 0.0551462 -gmp_int 10240 * 4.82421 -gmp_int 10240 / 0.395344 -gmp_int 10240 str 0.0154642 -gmp_int 10240 +(int) 0.033729 -gmp_int 10240 -(int) 0.0335308 -gmp_int 10240 *(int) 0.0589007 -gmp_int 10240 /(int) 0.266509 -gmp_int 10240 construct 0.048682 -gmp_int 10240 construct(unsigned) 0.0510816 -gmp_int 10240 construct(unsigned long long) 0.0510862 -gmp_int 10240 % 0.438501 -gmp_int 10240 | 0.0514528 -gmp_int 10240 & 0.055402 -gmp_int 10240 ^ 0.0517833 -gmp_int 10240 << 0.0979761 -gmp_int 10240 >> 0.00430902 -gmp_int 10240 %(int) 0.0707528 -gmp_int 10240 |(int) 0.0619762 -gmp_int 10240 &(int) 0.0316487 -gmp_int 10240 ^(int) 0.0622954 -gmp_int 10240 gcd 61.2516 -gmp_int 10240 +(unsigned long long) 0.0353357 -gmp_int 10240 -(unsigned long long) 0.0336949 -gmp_int 10240 *(unsigned long long) 0.0586816 -gmp_int 10240 /(unsigned long long) 0.28069 -gmp_int 10240 +=(unsigned long long) 0.0498017 -gmp_int 10240 -=(unsigned long long) 0.0368808 -gmp_int 10240 *=(unsigned long long) 0.0846612 -gmp_int 10240 /=(unsigned long long) 0.297582 -cpp_int 5120 + 0.0544877 -cpp_int 5120 - 0.0615975 -cpp_int 5120 * 3.97724 -cpp_int 5120 / 1.93033 -cpp_int 5120 str 0.0811042 -cpp_int 5120 +(int) 0.0217559 -cpp_int 5120 -(int) 0.0198067 -cpp_int 5120 *(int) 0.0692257 -cpp_int 5120 /(int) 1.5446 -cpp_int 5120 construct 0.00156009 -cpp_int 5120 construct(unsigned) 0.00167292 -cpp_int 5120 construct(unsigned long long) 0.00191441 -cpp_int 5120 % 1.84456 -cpp_int 5120 | 0.0913325 -cpp_int 5120 & 0.0908961 -cpp_int 5120 ^ 0.0907825 -cpp_int 5120 << 0.164462 -cpp_int 5120 >> 0.0539071 -cpp_int 5120 %(int) 1.64821 -cpp_int 5120 |(int) 0.0620504 -cpp_int 5120 &(int) 0.114785 -cpp_int 5120 ^(int) 0.062951 -cpp_int 5120 gcd 269.4 -cpp_int 5120 +(unsigned long long) 0.0236995 -cpp_int 5120 -(unsigned long long) 0.0205857 -cpp_int 5120 *(unsigned long long) 0.0410419 -cpp_int 5120 /(unsigned long long) 1.71211 -cpp_int 5120 +=(unsigned long long) 0.0473177 -cpp_int 5120 -=(unsigned long long) 0.051436 -cpp_int 5120 *=(unsigned long long) 0.135787 -cpp_int 5120 /=(unsigned long long) 1.88874 -cpp_int 10240 + 0.108428 -cpp_int 10240 - 0.124313 -cpp_int 10240 * 15.8254 -cpp_int 10240 / 3.77425 -cpp_int 10240 str 0.313789 -cpp_int 10240 +(int) 0.0382453 -cpp_int 10240 -(int) 0.0351681 -cpp_int 10240 *(int) 0.122618 -cpp_int 10240 /(int) 3.04214 -cpp_int 10240 construct 0.00174205 -cpp_int 10240 construct(unsigned) 0.00156985 -cpp_int 10240 construct(unsigned long long) 0.0018252 -cpp_int 10240 % 3.52132 -cpp_int 10240 | 0.14832 -cpp_int 10240 & 0.150675 -cpp_int 10240 ^ 0.147776 -cpp_int 10240 << 0.258076 -cpp_int 10240 >> 0.0524954 -cpp_int 10240 %(int) 3.18758 -cpp_int 10240 |(int) 0.0526689 -cpp_int 10240 &(int) 0.162092 -cpp_int 10240 ^(int) 0.0542065 -cpp_int 10240 gcd 962.995 -cpp_int 10240 +(unsigned long long) 0.0416466 -cpp_int 10240 -(unsigned long long) 0.0402243 -cpp_int 10240 *(unsigned long long) 0.0850577 -cpp_int 10240 /(unsigned long long) 3.49901 -cpp_int 10240 +=(unsigned long long) 0.0700083 -cpp_int 10240 -=(unsigned long long) 0.0544701 -cpp_int 10240 *=(unsigned long long) 0.222949 -cpp_int 10240 /=(unsigned long long) 3.63347 -tommath_int 5120 + 0.0408838 -tommath_int 5120 - 0.0525017 -tommath_int 5120 * 2.64598 -tommath_int 5120 / 8.78879 -tommath_int 5120 str 1.21819 -tommath_int 5120 +(int) 0.148099 -tommath_int 5120 -(int) 0.153674 -tommath_int 5120 *(int) 0.260397 -tommath_int 5120 /(int) 8.18491 -tommath_int 5120 construct 0.079323 -tommath_int 5120 construct(unsigned) 0.220546 -tommath_int 5120 construct(unsigned long long) 0.351027 -tommath_int 5120 % 8.59385 -tommath_int 5120 | 0.061712 -tommath_int 5120 & 0.0662069 -tommath_int 5120 ^ 0.0634399 -tommath_int 5120 << 0.118049 -tommath_int 5120 >> 0.164016 -tommath_int 5120 %(int) 8.40805 -tommath_int 5120 |(int) 0.178221 -tommath_int 5120 &(int) 0.206173 -tommath_int 5120 ^(int) 0.180022 -tommath_int 5120 gcd 213.524 -tommath_int 5120 +(unsigned long long) 0.306988 -tommath_int 5120 -(unsigned long long) 0.32854 -tommath_int 5120 *(unsigned long long) 0.425264 -tommath_int 5120 /(unsigned long long) 9.42692 -tommath_int 5120 +=(unsigned long long) 0.32154 -tommath_int 5120 -=(unsigned long long) 0.328186 -tommath_int 5120 *=(unsigned long long) 0.478321 -tommath_int 5120 /=(unsigned long long) 9.85499 -tommath_int 10240 + 0.0871834 -tommath_int 10240 - 0.0994384 -tommath_int 10240 * 9.64701 -tommath_int 10240 / 21.113 -tommath_int 10240 str 4.67986 -tommath_int 10240 +(int) 0.18034 -tommath_int 10240 -(int) 0.181844 -tommath_int 10240 *(int) 0.355638 -tommath_int 10240 /(int) 19.5472 -tommath_int 10240 construct 0.0820957 -tommath_int 10240 construct(unsigned) 0.225072 -tommath_int 10240 construct(unsigned long long) 0.320084 -tommath_int 10240 % 20.5696 -tommath_int 10240 | 0.102926 -tommath_int 10240 & 0.105229 -tommath_int 10240 ^ 0.111699 -tommath_int 10240 << 0.216819 -tommath_int 10240 >> 0.196537 -tommath_int 10240 %(int) 19.9384 -tommath_int 10240 |(int) 0.200881 -tommath_int 10240 &(int) 0.251494 -tommath_int 10240 ^(int) 0.211046 -tommath_int 10240 gcd 756.428 -tommath_int 10240 +(unsigned long long) 0.383846 -tommath_int 10240 -(unsigned long long) 0.364638 -tommath_int 10240 *(unsigned long long) 0.600894 -tommath_int 10240 /(unsigned long long) 29.3423 -tommath_int 10240 +=(unsigned long long) 0.866288 -tommath_int 10240 -=(unsigned long long) 0.834089 -tommath_int 10240 *=(unsigned long long) 1.33227 -tommath_int 10240 /=(unsigned long long) 30.1285 +gmp_float 50 + 0.0183555 +gmp_float 50 - 0.0136532 +gmp_float 50 * 0.02086 +gmp_float 50 / 0.101766 +gmp_float 50 str 0.000493989 +gmp_float 50 +(int) 0.00443909 +gmp_float 50 -(int) 0.0134294 +gmp_float 50 *(int) 0.00513201 +gmp_float 50 /(int) 0.0243611 +gmp_float 50 construct 0.0232445 +gmp_float 50 construct(unsigned) 0.0299395 +gmp_float 50 construct(unsigned long long) 0.0258903 +gmp_float 50 +(unsigned long long) 0.0051023 +gmp_float 50 -(unsigned long long) 0.0113255 +gmp_float 50 *(unsigned long long) 0.0128361 +gmp_float 50 /(unsigned long long) 0.0179778 +gmp_float 50 +=(unsigned long long) 0.0164496 +gmp_float 50 -=(unsigned long long) 0.0148782 +gmp_float 50 *=(unsigned long long) 0.00765054 +gmp_float 50 /=(unsigned long long) 0.0195279 +gmp_float 100 + 0.0130366 +gmp_float 100 - 0.0192537 +gmp_float 100 * 0.0257348 +gmp_float 100 / 0.138938 +gmp_float 100 str 0.00109572 +gmp_float 100 +(int) 0.00626549 +gmp_float 100 -(int) 0.0119272 +gmp_float 100 *(int) 0.00558264 +gmp_float 100 /(int) 0.0220741 +gmp_float 100 construct 0.0242744 +gmp_float 100 construct(unsigned) 0.0252132 +gmp_float 100 construct(unsigned long long) 0.0209379 +gmp_float 100 +(unsigned long long) 0.00778526 +gmp_float 100 -(unsigned long long) 0.0194584 +gmp_float 100 *(unsigned long long) 0.00599344 +gmp_float 100 /(unsigned long long) 0.0233296 +gmp_float 100 +=(unsigned long long) 0.0137783 +gmp_float 100 -=(unsigned long long) 0.0221136 +gmp_float 100 *=(unsigned long long) 0.00979552 +gmp_float 100 /=(unsigned long long) 0.032907 +gmp_float 500 + 0.0273382 +gmp_float 500 - 0.0260432 +gmp_float 500 * 0.292919 +gmp_float 500 / 0.430233 +gmp_float 500 str 0.00345598 +gmp_float 500 +(int) 0.0120673 +gmp_float 500 -(int) 0.0272281 +gmp_float 500 *(int) 0.0211042 +gmp_float 500 /(int) 0.0784889 +gmp_float 500 construct 0.0885159 +gmp_float 500 construct(unsigned) 0.0829907 +gmp_float 500 construct(unsigned long long) 0.0914671 +gmp_float 500 +(unsigned long long) 0.0111554 +gmp_float 500 -(unsigned long long) 0.026385 +gmp_float 500 *(unsigned long long) 0.0219284 +gmp_float 500 /(unsigned long long) 0.0704423 +gmp_float 500 +=(unsigned long long) 0.0172751 +gmp_float 500 -=(unsigned long long) 0.0300017 +gmp_float 500 *=(unsigned long long) 0.0296053 +gmp_float 500 /=(unsigned long long) 0.076721 +gmp_int 128 + 0.00515104 +gmp_int 128 - 0.00664573 +gmp_int 128 * 0.00560549 +gmp_int 128 / 0.04667 +gmp_int 128 str 0.000178807 +gmp_int 128 +(int) 0.00347405 +gmp_int 128 -(int) 0.00363988 +gmp_int 128 *(int) 0.00473426 +gmp_int 128 /(int) 0.0115696 +gmp_int 128 construct 0.00329962 +gmp_int 128 construct(unsigned) 0.0241048 +gmp_int 128 construct(unsigned long long) 0.0245077 +gmp_int 128 % 0.0466966 +gmp_int 128 | 0.00437203 +gmp_int 128 & 0.00394167 +gmp_int 128 ^ 0.0048846 +gmp_int 128 << 0.00538874 +gmp_int 128 >> 0.00242687 +gmp_int 128 %(int) 0.0118703 +gmp_int 128 |(int) 0.010008 +gmp_int 128 &(int) 0.0148993 +gmp_int 128 ^(int) 0.0106263 +gmp_int 128 gcd 0.170154 +gmp_int 128 powm 0.0381833 +gmp_int 128 +(unsigned long long) 0.00470432 +gmp_int 128 -(unsigned long long) 0.00866778 +gmp_int 128 *(unsigned long long) 0.00371188 +gmp_int 128 /(unsigned long long) 0.00955921 +gmp_int 128 +=(unsigned long long) 0.00987134 +gmp_int 128 -=(unsigned long long) 0.00635455 +gmp_int 128 *=(unsigned long long) 0.00560359 +gmp_int 128 /=(unsigned long long) 0.0134478 +gmp_int 256 + 0.00997612 +gmp_int 256 - 0.0128659 +gmp_int 256 * 0.0134261 +gmp_int 256 / 0.0571824 +gmp_int 256 str 0.000224466 +gmp_int 256 +(int) 0.0033482 +gmp_int 256 -(int) 0.00382312 +gmp_int 256 *(int) 0.0112929 +gmp_int 256 /(int) 0.0171517 +gmp_int 256 construct 0.0037155 +gmp_int 256 construct(unsigned) 0.0227529 +gmp_int 256 construct(unsigned long long) 0.020762 +gmp_int 256 % 0.0514059 +gmp_int 256 | 0.00480677 +gmp_int 256 & 0.00417321 +gmp_int 256 ^ 0.00693092 +gmp_int 256 << 0.00869801 +gmp_int 256 >> 0.0022372 +gmp_int 256 %(int) 0.0148079 +gmp_int 256 |(int) 0.0103284 +gmp_int 256 &(int) 0.00947844 +gmp_int 256 ^(int) 0.0160125 +gmp_int 256 gcd 0.761472 +gmp_int 256 powm 0.152912 +gmp_int 256 +(unsigned long long) 0.00509394 +gmp_int 256 -(unsigned long long) 0.0049585 +gmp_int 256 *(unsigned long long) 0.00456418 +gmp_int 256 /(unsigned long long) 0.0152731 +gmp_int 256 +=(unsigned long long) 0.00672804 +gmp_int 256 -=(unsigned long long) 0.00828179 +gmp_int 256 *=(unsigned long long) 0.00858963 +gmp_int 256 /=(unsigned long long) 0.0221032 +gmp_int 512 + 0.0130487 +gmp_int 512 - 0.0102195 +gmp_int 512 * 0.0300231 +gmp_int 512 / 0.0796599 +gmp_int 512 str 0.00061628 +gmp_int 512 +(int) 0.00425087 +gmp_int 512 -(int) 0.00424793 +gmp_int 512 *(int) 0.00578859 +gmp_int 512 /(int) 0.0232057 +gmp_int 512 construct 0.00624925 +gmp_int 512 construct(unsigned) 0.0183369 +gmp_int 512 construct(unsigned long long) 0.0202006 +gmp_int 512 % 0.0722958 +gmp_int 512 | 0.00628228 +gmp_int 512 & 0.00524347 +gmp_int 512 ^ 0.00615531 +gmp_int 512 << 0.00888006 +gmp_int 512 >> 0.00238226 +gmp_int 512 %(int) 0.024264 +gmp_int 512 |(int) 0.0247852 +gmp_int 512 &(int) 0.013507 +gmp_int 512 ^(int) 0.0173321 +gmp_int 512 gcd 1.62139 +gmp_int 512 powm 0.766677 +gmp_int 512 +(unsigned long long) 0.00595229 +gmp_int 512 -(unsigned long long) 0.00592785 +gmp_int 512 *(unsigned long long) 0.00637276 +gmp_int 512 /(unsigned long long) 0.0244044 +gmp_int 512 +=(unsigned long long) 0.00868995 +gmp_int 512 -=(unsigned long long) 0.00847054 +gmp_int 512 *=(unsigned long long) 0.00977523 +gmp_int 512 /=(unsigned long long) 0.0334445 +gmp_int 1024 + 0.00971031 +gmp_int 1024 - 0.0105533 +gmp_int 1024 * 0.100546 +gmp_int 1024 / 0.0881567 +gmp_int 1024 str 0.000778966 +gmp_int 1024 +(int) 0.0064494 +gmp_int 1024 -(int) 0.00561665 +gmp_int 1024 *(int) 0.00931559 +gmp_int 1024 /(int) 0.0422461 +gmp_int 1024 construct 0.00336255 +gmp_int 1024 construct(unsigned) 0.0181871 +gmp_int 1024 construct(unsigned long long) 0.0188747 +gmp_int 1024 % 0.0918952 +gmp_int 1024 | 0.00861647 +gmp_int 1024 & 0.00800121 +gmp_int 1024 ^ 0.00963503 +gmp_int 1024 << 0.0193064 +gmp_int 1024 >> 0.00454358 +gmp_int 1024 %(int) 0.0257336 +gmp_int 1024 |(int) 0.0135159 +gmp_int 1024 &(int) 0.0102081 +gmp_int 1024 ^(int) 0.0156309 +gmp_int 1024 gcd 3.48358 +gmp_int 1024 powm 5.14976 +gmp_int 1024 +(unsigned long long) 0.00802101 +gmp_int 1024 -(unsigned long long) 0.00806262 +gmp_int 1024 *(unsigned long long) 0.0102277 +gmp_int 1024 /(unsigned long long) 0.042466 +gmp_int 1024 +=(unsigned long long) 0.0154667 +gmp_int 1024 -=(unsigned long long) 0.0106078 +gmp_int 1024 *=(unsigned long long) 0.0134989 +gmp_int 1024 /=(unsigned long long) 0.0405622 +cpp_int(fixed) 128 + 0.000877268 +cpp_int(fixed) 128 - 0.00192988 +cpp_int(fixed) 128 * 0.00116759 +cpp_int(fixed) 128 / 0.0273912 +cpp_int(fixed) 128 str 0.00084634 +cpp_int(fixed) 128 +(int) 0.000698051 +cpp_int(fixed) 128 -(int) 0.00113016 +cpp_int(fixed) 128 *(int) 0.000662467 +cpp_int(fixed) 128 /(int) 0.0147198 +cpp_int(fixed) 128 construct 0.000587582 +cpp_int(fixed) 128 construct(unsigned) 0.000872038 +cpp_int(fixed) 128 construct(unsigned long long) 0.000903049 +cpp_int(fixed) 128 % 0.0318553 +cpp_int(fixed) 128 | 0.0043918 +cpp_int(fixed) 128 & 0.00358104 +cpp_int(fixed) 128 ^ 0.00360758 +cpp_int(fixed) 128 << 0.00116939 +cpp_int(fixed) 128 >> 0.000934446 +cpp_int(fixed) 128 %(int) 0.0172916 +cpp_int(fixed) 128 |(int) 0.00380628 +cpp_int(fixed) 128 &(int) 0.0038455 +cpp_int(fixed) 128 ^(int) 0.00371059 +cpp_int(fixed) 128 gcd 0.621889 +cpp_int(fixed) 128 powm 0.35895 +cpp_int(fixed) 128 +(unsigned long long) 0.000900057 +cpp_int(fixed) 128 -(unsigned long long) 0.00114855 +cpp_int(fixed) 128 *(unsigned long long) 0.000745744 +cpp_int(fixed) 128 /(unsigned long long) 0.0169001 +cpp_int(fixed) 128 +=(unsigned long long) 0.000869555 +cpp_int(fixed) 128 -=(unsigned long long) 0.000954108 +cpp_int(fixed) 128 *=(unsigned long long) 0.000832044 +cpp_int(fixed) 128 /=(unsigned long long) 0.0226255 +cpp_int(fixed) 256 + 0.00687102 +cpp_int(fixed) 256 - 0.010289 +cpp_int(fixed) 256 * 0.0237359 +cpp_int(fixed) 256 / 0.098585 +cpp_int(fixed) 256 str 0.000401216 +cpp_int(fixed) 256 +(int) 0.00578118 +cpp_int(fixed) 256 -(int) 0.00482789 +cpp_int(fixed) 256 *(int) 0.00648519 +cpp_int(fixed) 256 /(int) 0.0744498 +cpp_int(fixed) 256 construct 0.00243004 +cpp_int(fixed) 256 construct(unsigned) 0.0026667 +cpp_int(fixed) 256 construct(unsigned long long) 0.00253319 +cpp_int(fixed) 256 % 0.0663805 +cpp_int(fixed) 256 | 0.00661838 +cpp_int(fixed) 256 & 0.00641591 +cpp_int(fixed) 256 ^ 0.00686442 +cpp_int(fixed) 256 << 0.00844969 +cpp_int(fixed) 256 >> 0.0146615 +cpp_int(fixed) 256 %(int) 0.0247468 +cpp_int(fixed) 256 |(int) 0.00552682 +cpp_int(fixed) 256 &(int) 0.00630453 +cpp_int(fixed) 256 ^(int) 0.0073244 +cpp_int(fixed) 256 gcd 1.35865 +cpp_int(fixed) 256 powm 1.53516 +cpp_int(fixed) 256 +(unsigned long long) 0.00648945 +cpp_int(fixed) 256 -(unsigned long long) 0.00515424 +cpp_int(fixed) 256 *(unsigned long long) 0.00489332 +cpp_int(fixed) 256 /(unsigned long long) 0.0548884 +cpp_int(fixed) 256 +=(unsigned long long) 0.00906799 +cpp_int(fixed) 256 -=(unsigned long long) 0.00513296 +cpp_int(fixed) 256 *=(unsigned long long) 0.00472864 +cpp_int(fixed) 256 /=(unsigned long long) 0.0691018 +cpp_int(fixed) 512 + 0.0237507 +cpp_int(fixed) 512 - 0.00921062 +cpp_int(fixed) 512 * 0.047591 +cpp_int(fixed) 512 / 0.169344 +cpp_int(fixed) 512 str 0.00103815 +cpp_int(fixed) 512 +(int) 0.00668085 +cpp_int(fixed) 512 -(int) 0.00531307 +cpp_int(fixed) 512 *(int) 0.0088359 +cpp_int(fixed) 512 /(int) 0.141253 +cpp_int(fixed) 512 construct 0.00375174 +cpp_int(fixed) 512 construct(unsigned) 0.00400614 +cpp_int(fixed) 512 construct(unsigned long long) 0.00399907 +cpp_int(fixed) 512 % 0.0966394 +cpp_int(fixed) 512 | 0.00825362 +cpp_int(fixed) 512 & 0.0089337 +cpp_int(fixed) 512 ^ 0.00927498 +cpp_int(fixed) 512 << 0.0173029 +cpp_int(fixed) 512 >> 0.0155169 +cpp_int(fixed) 512 %(int) 0.0688759 +cpp_int(fixed) 512 |(int) 0.00775532 +cpp_int(fixed) 512 &(int) 0.00845281 +cpp_int(fixed) 512 ^(int) 0.00792226 +cpp_int(fixed) 512 gcd 3.28597 +cpp_int(fixed) 512 powm 8.07714 +cpp_int(fixed) 512 +(unsigned long long) 0.008261 +cpp_int(fixed) 512 -(unsigned long long) 0.00726552 +cpp_int(fixed) 512 *(unsigned long long) 0.00764018 +cpp_int(fixed) 512 /(unsigned long long) 0.135566 +cpp_int(fixed) 512 +=(unsigned long long) 0.00681593 +cpp_int(fixed) 512 -=(unsigned long long) 0.00597589 +cpp_int(fixed) 512 *=(unsigned long long) 0.00714494 +cpp_int(fixed) 512 /=(unsigned long long) 0.133354 +cpp_int(fixed) 1024 + 0.0184876 +cpp_int(fixed) 1024 - 0.0162226 +cpp_int(fixed) 1024 * 0.153461 +cpp_int(fixed) 1024 / 0.327451 +cpp_int(fixed) 1024 str 0.00335647 +cpp_int(fixed) 1024 +(int) 0.0123052 +cpp_int(fixed) 1024 -(int) 0.0190533 +cpp_int(fixed) 1024 *(int) 0.0211192 +cpp_int(fixed) 1024 /(int) 0.277366 +cpp_int(fixed) 1024 construct 0.00893771 +cpp_int(fixed) 1024 construct(unsigned) 0.00981681 +cpp_int(fixed) 1024 construct(unsigned long long) 0.0096748 +cpp_int(fixed) 1024 % 0.181883 +cpp_int(fixed) 1024 | 0.0148123 +cpp_int(fixed) 1024 & 0.019269 +cpp_int(fixed) 1024 ^ 0.0172541 +cpp_int(fixed) 1024 << 0.0299716 +cpp_int(fixed) 1024 >> 0.0222922 +cpp_int(fixed) 1024 %(int) 0.111133 +cpp_int(fixed) 1024 |(int) 0.0122062 +cpp_int(fixed) 1024 &(int) 0.0225444 +cpp_int(fixed) 1024 ^(int) 0.0160789 +cpp_int(fixed) 1024 gcd 6.8044 +cpp_int(fixed) 1024 powm 43.7564 +cpp_int(fixed) 1024 +(unsigned long long) 0.0125768 +cpp_int(fixed) 1024 -(unsigned long long) 0.0126235 +cpp_int(fixed) 1024 *(unsigned long long) 0.0157115 +cpp_int(fixed) 1024 /(unsigned long long) 0.2702 +cpp_int(fixed) 1024 +=(unsigned long long) 0.00638493 +cpp_int(fixed) 1024 -=(unsigned long long) 0.00748462 +cpp_int(fixed) 1024 *=(unsigned long long) 0.0134446 +cpp_int(fixed) 1024 /=(unsigned long long) 0.268888 +cpp_int 128 + 0.0086037 +cpp_int 128 - 0.00859678 +cpp_int 128 * 0.0145016 +cpp_int 128 / 0.0878919 +cpp_int 128 str 0.000264092 +cpp_int 128 +(int) 0.00534018 +cpp_int 128 -(int) 0.00347144 +cpp_int 128 *(int) 0.0072726 +cpp_int 128 /(int) 0.0520677 +cpp_int 128 construct 0.00190752 +cpp_int 128 construct(unsigned) 0.00174712 +cpp_int 128 construct(unsigned long long) 0.00192028 +cpp_int 128 % 0.0481508 +cpp_int 128 | 0.00991773 +cpp_int 128 & 0.0101034 +cpp_int 128 ^ 0.0101384 +cpp_int 128 << 0.0116142 +cpp_int 128 >> 0.011709 +cpp_int 128 %(int) 0.00790481 +cpp_int 128 |(int) 0.00805945 +cpp_int 128 &(int) 0.0124861 +cpp_int 128 ^(int) 0.00991885 +cpp_int 128 gcd 0.358587 +cpp_int 128 powm 0.565871 +cpp_int 128 +(unsigned long long) 0.00893714 +cpp_int 128 -(unsigned long long) 0.00807189 +cpp_int 128 *(unsigned long long) 0.00669928 +cpp_int 128 /(unsigned long long) 0.0582351 +cpp_int 128 +=(unsigned long long) 0.0106404 +cpp_int 128 -=(unsigned long long) 0.0103583 +cpp_int 128 *=(unsigned long long) 0.0131299 +cpp_int 128 /=(unsigned long long) 0.0701172 +cpp_int 256 + 0.0160922 +cpp_int 256 - 0.013219 +cpp_int 256 * 0.0246772 +cpp_int 256 / 0.181536 +cpp_int 256 str 0.000644609 +cpp_int 256 +(int) 0.0063589 +cpp_int 256 -(int) 0.00531251 +cpp_int 256 *(int) 0.00991594 +cpp_int 256 /(int) 0.108097 +cpp_int 256 construct 0.00258002 +cpp_int 256 construct(unsigned) 0.00225895 +cpp_int 256 construct(unsigned long long) 0.00200418 +cpp_int 256 % 0.0825917 +cpp_int 256 | 0.00939722 +cpp_int 256 & 0.0128886 +cpp_int 256 ^ 0.0282768 +cpp_int 256 << 0.0147029 +cpp_int 256 >> 0.0153366 +cpp_int 256 %(int) 0.0215141 +cpp_int 256 |(int) 0.0119795 +cpp_int 256 &(int) 0.0114113 +cpp_int 256 ^(int) 0.0115174 +cpp_int 256 gcd 1.42989 +cpp_int 256 powm 2.0199 +cpp_int 256 +(unsigned long long) 0.0136811 +cpp_int 256 -(unsigned long long) 0.00922027 +cpp_int 256 *(unsigned long long) 0.00820918 +cpp_int 256 /(unsigned long long) 0.0982056 +cpp_int 256 +=(unsigned long long) 0.00996803 +cpp_int 256 -=(unsigned long long) 0.0102937 +cpp_int 256 *=(unsigned long long) 0.00790233 +cpp_int 256 /=(unsigned long long) 0.105309 +cpp_int 512 + 0.0131305 +cpp_int 512 - 0.0117779 +cpp_int 512 * 0.0631704 +cpp_int 512 / 0.250544 +cpp_int 512 str 0.00141073 +cpp_int 512 +(int) 0.00666443 +cpp_int 512 -(int) 0.00548206 +cpp_int 512 *(int) 0.0194072 +cpp_int 512 /(int) 0.193637 +cpp_int 512 construct 0.00248269 +cpp_int 512 construct(unsigned) 0.00241092 +cpp_int 512 construct(unsigned long long) 0.00223886 +cpp_int 512 % 0.127209 +cpp_int 512 | 0.012635 +cpp_int 512 & 0.018172 +cpp_int 512 ^ 0.0139063 +cpp_int 512 << 0.0238748 +cpp_int 512 >> 0.0209131 +cpp_int 512 %(int) 0.065874 +cpp_int 512 |(int) 0.012189 +cpp_int 512 &(int) 0.0179186 +cpp_int 512 ^(int) 0.0198209 +cpp_int 512 gcd 3.30534 +cpp_int 512 powm 9.06469 +cpp_int 512 +(unsigned long long) 0.0102989 +cpp_int 512 -(unsigned long long) 0.00830959 +cpp_int 512 *(unsigned long long) 0.0119122 +cpp_int 512 /(unsigned long long) 0.151642 +cpp_int 512 +=(unsigned long long) 0.0108279 +cpp_int 512 -=(unsigned long long) 0.0103591 +cpp_int 512 *=(unsigned long long) 0.0119079 +cpp_int 512 /=(unsigned long long) 0.171387 +cpp_int 1024 + 0.0163002 +cpp_int 1024 - 0.0151597 +cpp_int 1024 * 0.224062 +cpp_int 1024 / 0.365546 +cpp_int 1024 str 0.00383604 +cpp_int 1024 +(int) 0.00836612 +cpp_int 1024 -(int) 0.00759591 +cpp_int 1024 *(int) 0.0214459 +cpp_int 1024 /(int) 0.296939 +cpp_int 1024 construct 0.00191598 +cpp_int 1024 construct(unsigned) 0.00177047 +cpp_int 1024 construct(unsigned long long) 0.00189442 +cpp_int 1024 % 0.171986 +cpp_int 1024 | 0.0152013 +cpp_int 1024 & 0.0204051 +cpp_int 1024 ^ 0.0187085 +cpp_int 1024 << 0.0394659 +cpp_int 1024 >> 0.0146098 +cpp_int 1024 %(int) 0.1044 +cpp_int 1024 |(int) 0.0134288 +cpp_int 1024 &(int) 0.0262296 +cpp_int 1024 ^(int) 0.0153479 +cpp_int 1024 gcd 7.01715 +cpp_int 1024 powm 46.9932 +cpp_int 1024 +(unsigned long long) 0.0115471 +cpp_int 1024 -(unsigned long long) 0.00988039 +cpp_int 1024 *(unsigned long long) 0.0175683 +cpp_int 1024 /(unsigned long long) 0.281298 +cpp_int 1024 +=(unsigned long long) 0.0131949 +cpp_int 1024 -=(unsigned long long) 0.0189898 +cpp_int 1024 *=(unsigned long long) 0.0203561 +cpp_int 1024 /=(unsigned long long) 0.299993 +cpp_rational 128 + 0.415006 +cpp_rational 128 - 0.471759 +cpp_rational 128 * 0.797425 +cpp_rational 128 / 2.28881 +cpp_rational 128 str 0.00168424 +cpp_rational 128 +(int) 0.0177811 +cpp_rational 128 -(int) 0.0292894 +cpp_rational 128 *(int) 0.0637195 +cpp_rational 128 /(int) 0.035134 +cpp_rational 128 construct 0.0135822 +cpp_rational 128 construct(unsigned) 0.00672081 +cpp_rational 128 construct(unsigned long long) 0.00806026 +cpp_rational 128 +(value_type) 0.0265647 +cpp_rational 128 -(value_type) 0.0408789 +cpp_rational 128 *(value_type) 0.408791 +cpp_rational 128 /(value_type) 0.431612 +cpp_rational 128 +=(value_type) 0.0335896 +cpp_rational 128 -=(value_type) 0.0421283 +cpp_rational 128 *=(value_type) 0.40255 +cpp_rational 128 /=(value_type) 0.40369 +cpp_rational 128 +(unsigned long long) 0.0177151 +cpp_rational 128 -(unsigned long long) 0.0296698 +cpp_rational 128 *(unsigned long long) 0.161844 +cpp_rational 128 /(unsigned long long) 0.170727 +cpp_rational 128 +=(unsigned long long) 0.0565983 +cpp_rational 128 -=(unsigned long long) 0.0366534 +cpp_rational 128 *=(unsigned long long) 0.211848 +cpp_rational 128 /=(unsigned long long) 0.216252 +cpp_rational 256 + 1.53458 +cpp_rational 256 - 1.52484 +cpp_rational 256 * 2.96998 +cpp_rational 256 / 6.34454 +cpp_rational 256 str 0.0033367 +cpp_rational 256 +(int) 0.0183744 +cpp_rational 256 -(int) 0.0346718 +cpp_rational 256 *(int) 0.0917847 +cpp_rational 256 /(int) 0.0774619 +cpp_rational 256 construct 0.00935293 +cpp_rational 256 construct(unsigned) 0.0064826 +cpp_rational 256 construct(unsigned long long) 0.00960336 +cpp_rational 256 +(value_type) 0.0391054 +cpp_rational 256 -(value_type) 0.0467416 +cpp_rational 256 *(value_type) 0.600225 +cpp_rational 256 /(value_type) 0.596248 +cpp_rational 256 +=(value_type) 0.0422867 +cpp_rational 256 -=(value_type) 0.0490152 +cpp_rational 256 *=(value_type) 0.629302 +cpp_rational 256 /=(value_type) 0.689514 +cpp_rational 256 +(unsigned long long) 0.0241089 +cpp_rational 256 -(unsigned long long) 0.0496956 +cpp_rational 256 *(unsigned long long) 0.240069 +cpp_rational 256 /(unsigned long long) 0.216019 +cpp_rational 256 +=(unsigned long long) 0.0371419 +cpp_rational 256 -=(unsigned long long) 0.0439181 +cpp_rational 256 *=(unsigned long long) 0.226179 +cpp_rational 256 /=(unsigned long long) 0.235781 +cpp_rational 512 + 3.41194 +cpp_rational 512 - 3.49648 +cpp_rational 512 * 6.73224 +cpp_rational 512 / 13.2036 +cpp_rational 512 str 0.00662873 +cpp_rational 512 +(int) 0.020452 +cpp_rational 512 -(int) 0.035503 +cpp_rational 512 *(int) 0.118274 +cpp_rational 512 /(int) 0.104628 +cpp_rational 512 construct 0.0083784 +cpp_rational 512 construct(unsigned) 0.00618635 +cpp_rational 512 construct(unsigned long long) 0.00769898 +cpp_rational 512 +(value_type) 0.044067 +cpp_rational 512 -(value_type) 0.0548939 +cpp_rational 512 *(value_type) 0.803009 +cpp_rational 512 /(value_type) 0.809662 +cpp_rational 512 +=(value_type) 0.0564267 +cpp_rational 512 -=(value_type) 0.053198 +cpp_rational 512 *=(value_type) 0.8029 +cpp_rational 512 /=(value_type) 0.832288 +cpp_rational 512 +(unsigned long long) 0.0297836 +cpp_rational 512 -(unsigned long long) 0.0461985 +cpp_rational 512 *(unsigned long long) 0.298935 +cpp_rational 512 /(unsigned long long) 0.292536 +cpp_rational 512 +=(unsigned long long) 0.0556987 +cpp_rational 512 -=(unsigned long long) 0.0491612 +cpp_rational 512 *=(unsigned long long) 0.319695 +cpp_rational 512 /=(unsigned long long) 0.314161 +cpp_rational 1024 + 8.04044 +cpp_rational 1024 - 7.71926 +cpp_rational 1024 * 14.4259 +cpp_rational 1024 / 29.3236 +cpp_rational 1024 str 0.0174979 +cpp_rational 1024 +(int) 0.0449351 +cpp_rational 1024 -(int) 0.0577029 +cpp_rational 1024 *(int) 0.218283 +cpp_rational 1024 /(int) 0.207067 +cpp_rational 1024 construct 0.00962697 +cpp_rational 1024 construct(unsigned) 0.00923644 +cpp_rational 1024 construct(unsigned long long) 0.0176689 +cpp_rational 1024 +(value_type) 0.105801 +cpp_rational 1024 -(value_type) 0.103471 +cpp_rational 1024 *(value_type) 1.54645 +cpp_rational 1024 /(value_type) 1.38001 +cpp_rational 1024 +=(value_type) 0.0840696 +cpp_rational 1024 -=(value_type) 0.0881228 +cpp_rational 1024 *=(value_type) 1.37083 +cpp_rational 1024 /=(value_type) 1.37478 +cpp_rational 1024 +(unsigned long long) 0.046594 +cpp_rational 1024 -(unsigned long long) 0.0581714 +cpp_rational 1024 *(unsigned long long) 0.448194 +cpp_rational 1024 /(unsigned long long) 0.435259 +cpp_rational 1024 +=(unsigned long long) 0.0662456 +cpp_rational 1024 -=(unsigned long long) 0.071761 +cpp_rational 1024 *=(unsigned long long) 0.485819 +cpp_rational 1024 /=(unsigned long long) 0.460033 +mpq_rational 128 + 0.188327 +mpq_rational 128 - 0.198113 +mpq_rational 128 * 0.398662 +mpq_rational 128 / 1.12509 +mpq_rational 128 str 0.000272779 +mpq_rational 128 +(int) 0.00859669 +mpq_rational 128 -(int) 0.0119819 +mpq_rational 128 *(int) 0.0338803 +mpq_rational 128 /(int) 0.0650149 +mpq_rational 128 construct 0.0195942 +mpq_rational 128 construct(unsigned) 0.0434929 +mpq_rational 128 construct(unsigned long long) 0.0392716 +mpq_rational 128 +(value_type) 0.0207456 +mpq_rational 128 -(value_type) 0.0241541 +mpq_rational 128 *(value_type) 0.20698 +mpq_rational 128 /(value_type) 0.236534 +mpq_rational 128 +=(value_type) 0.0174923 +mpq_rational 128 -=(value_type) 0.023896 +mpq_rational 128 *=(value_type) 0.206213 +mpq_rational 128 /=(value_type) 0.233487 +mpq_rational 128 +(unsigned long long) 0.0085503 +mpq_rational 128 -(unsigned long long) 0.0101037 +mpq_rational 128 *(unsigned long long) 0.100601 +mpq_rational 128 /(unsigned long long) 0.129932 +mpq_rational 128 +=(unsigned long long) 0.00775585 +mpq_rational 128 -=(unsigned long long) 0.00991947 +mpq_rational 128 *=(unsigned long long) 0.107424 +mpq_rational 128 /=(unsigned long long) 0.136121 +mpq_rational 256 + 0.776716 +mpq_rational 256 - 0.791584 +mpq_rational 256 * 1.50207 +mpq_rational 256 / 2.82848 +mpq_rational 256 str 0.000434761 +mpq_rational 256 +(int) 0.0101891 +mpq_rational 256 -(int) 0.013618 +mpq_rational 256 *(int) 0.0475114 +mpq_rational 256 /(int) 0.0713565 +mpq_rational 256 construct 0.0204126 +mpq_rational 256 construct(unsigned) 0.0485316 +mpq_rational 256 construct(unsigned long long) 0.0568506 +mpq_rational 256 +(value_type) 0.0245401 +mpq_rational 256 -(value_type) 0.030741 +mpq_rational 256 *(value_type) 0.247956 +mpq_rational 256 /(value_type) 0.270701 +mpq_rational 256 +=(value_type) 0.0202988 +mpq_rational 256 -=(value_type) 0.0240502 +mpq_rational 256 *=(value_type) 0.241165 +mpq_rational 256 /=(value_type) 0.269395 +mpq_rational 256 +(unsigned long long) 0.0104799 +mpq_rational 256 -(unsigned long long) 0.0117459 +mpq_rational 256 *(unsigned long long) 0.102844 +mpq_rational 256 /(unsigned long long) 0.131923 +mpq_rational 256 +=(unsigned long long) 0.00984535 +mpq_rational 256 -=(unsigned long long) 0.0117724 +mpq_rational 256 *=(unsigned long long) 0.103523 +mpq_rational 256 /=(unsigned long long) 0.137652 +mpq_rational 512 + 1.93921 +mpq_rational 512 - 1.98459 +mpq_rational 512 * 3.60314 +mpq_rational 512 / 6.22726 +mpq_rational 512 str 0.00103828 +mpq_rational 512 +(int) 0.014773 +mpq_rational 512 -(int) 0.0238773 +mpq_rational 512 *(int) 0.0548556 +mpq_rational 512 /(int) 0.0961679 +mpq_rational 512 construct 0.0221797 +mpq_rational 512 construct(unsigned) 0.0513108 +mpq_rational 512 construct(unsigned long long) 0.0695842 +mpq_rational 512 +(value_type) 0.0348044 +mpq_rational 512 -(value_type) 0.0417365 +mpq_rational 512 *(value_type) 0.302865 +mpq_rational 512 /(value_type) 0.329335 +mpq_rational 512 +=(value_type) 0.0355556 +mpq_rational 512 -=(value_type) 0.0287769 +mpq_rational 512 *=(value_type) 0.282857 +mpq_rational 512 /=(value_type) 0.333863 +mpq_rational 512 +(unsigned long long) 0.016419 +mpq_rational 512 -(unsigned long long) 0.0274924 +mpq_rational 512 *(unsigned long long) 0.158713 +mpq_rational 512 /(unsigned long long) 0.173528 +mpq_rational 512 +=(unsigned long long) 0.0204678 +mpq_rational 512 -=(unsigned long long) 0.0267879 +mpq_rational 512 *=(unsigned long long) 0.131194 +mpq_rational 512 /=(unsigned long long) 0.176279 +mpq_rational 1024 + 3.79923 +mpq_rational 1024 - 3.79396 +mpq_rational 1024 * 7.3374 +mpq_rational 1024 / 12.4178 +mpq_rational 1024 str 0.00192772 +mpq_rational 1024 +(int) 0.024704 +mpq_rational 1024 -(int) 0.0295391 +mpq_rational 1024 *(int) 0.0900656 +mpq_rational 1024 /(int) 0.16035 +mpq_rational 1024 construct 0.0277033 +mpq_rational 1024 construct(unsigned) 0.0533278 +mpq_rational 1024 construct(unsigned long long) 0.0650815 +mpq_rational 1024 +(value_type) 0.0541719 +mpq_rational 1024 -(value_type) 0.0478777 +mpq_rational 1024 *(value_type) 0.332089 +mpq_rational 1024 /(value_type) 0.355055 +mpq_rational 1024 +=(value_type) 0.0453556 +mpq_rational 1024 -=(value_type) 0.041857 +mpq_rational 1024 *=(value_type) 0.31582 +mpq_rational 1024 /=(value_type) 0.391409 +mpq_rational 1024 +(unsigned long long) 0.0270577 +mpq_rational 1024 -(unsigned long long) 0.040243 +mpq_rational 1024 *(unsigned long long) 0.16579 +mpq_rational 1024 /(unsigned long long) 0.246334 +mpq_rational 1024 +=(unsigned long long) 0.032877 +mpq_rational 1024 -=(unsigned long long) 0.0384444 +mpq_rational 1024 *=(unsigned long long) 0.179978 +mpq_rational 1024 /=(unsigned long long) 0.231505 +tommath_int 128 + 0.0119929 +tommath_int 128 - 0.0179911 +tommath_int 128 * 0.0198027 +tommath_int 128 / 1.11768 +tommath_int 128 str 0.00299152 +tommath_int 128 +(int) 0.0889366 +tommath_int 128 -(int) 0.0917047 +tommath_int 128 *(int) 0.103447 +tommath_int 128 /(int) 0.69963 +tommath_int 128 construct 0.147542 +tommath_int 128 construct(unsigned) 0.180915 +tommath_int 128 construct(unsigned long long) 0.165695 +tommath_int 128 % 0.874748 +tommath_int 128 | 0.00739324 +tommath_int 128 & 0.00780901 +tommath_int 128 ^ 0.00825059 +tommath_int 128 << 0.0126218 +tommath_int 128 >> 0.0959319 +tommath_int 128 %(int) 0.545134 +tommath_int 128 |(int) 0.0839291 +tommath_int 128 &(int) 0.0965583 +tommath_int 128 ^(int) 0.0968501 +tommath_int 128 gcd 1.36458 +tommath_int 128 powm 0.421869 +tommath_int 128 +(unsigned long long) 0.0907784 +tommath_int 128 -(unsigned long long) 0.0828488 +tommath_int 128 *(unsigned long long) 0.107341 +tommath_int 128 /(unsigned long long) 0.604848 +tommath_int 128 +=(unsigned long long) 0.0768906 +tommath_int 128 -=(unsigned long long) 0.0847801 +tommath_int 128 *=(unsigned long long) 0.0959064 +tommath_int 128 /=(unsigned long long) 0.619583 +tommath_int 256 + 0.00709542 +tommath_int 256 - 0.011194 +tommath_int 256 * 0.0326465 +tommath_int 256 / 0.989116 +tommath_int 256 str 0.00597113 +tommath_int 256 +(int) 0.0832749 +tommath_int 256 -(int) 0.0820224 +tommath_int 256 *(int) 0.0942242 +tommath_int 256 /(int) 0.769191 +tommath_int 256 construct 0.154596 +tommath_int 256 construct(unsigned) 0.190967 +tommath_int 256 construct(unsigned long long) 0.166489 +tommath_int 256 % 1.03711 +tommath_int 256 | 0.00891185 +tommath_int 256 & 0.00928657 +tommath_int 256 ^ 0.0113947 +tommath_int 256 << 0.0201243 +tommath_int 256 >> 0.0951565 +tommath_int 256 %(int) 0.807325 +tommath_int 256 |(int) 0.102949 +tommath_int 256 &(int) 0.0990734 +tommath_int 256 ^(int) 0.107261 +tommath_int 256 gcd 3.38266 +tommath_int 256 powm 1.29063 +tommath_int 256 +(unsigned long long) 0.0981367 +tommath_int 256 -(unsigned long long) 0.0941371 +tommath_int 256 *(unsigned long long) 0.109883 +tommath_int 256 /(unsigned long long) 0.876321 +tommath_int 256 +=(unsigned long long) 0.0951277 +tommath_int 256 -=(unsigned long long) 0.0957029 +tommath_int 256 *=(unsigned long long) 0.117129 +tommath_int 256 /=(unsigned long long) 0.964961 +tommath_int 512 + 0.0133422 +tommath_int 512 - 0.017801 +tommath_int 512 * 0.0847288 +tommath_int 512 / 1.38686 +tommath_int 512 str 0.0190933 +tommath_int 512 +(int) 0.0870848 +tommath_int 512 -(int) 0.0820267 +tommath_int 512 *(int) 0.0973642 +tommath_int 512 /(int) 0.938285 +tommath_int 512 construct 0.13579 +tommath_int 512 construct(unsigned) 0.157218 +tommath_int 512 construct(unsigned long long) 0.155821 +tommath_int 512 % 1.29969 +tommath_int 512 | 0.0112155 +tommath_int 512 & 0.0113032 +tommath_int 512 ^ 0.0126854 +tommath_int 512 << 0.0215291 +tommath_int 512 >> 0.0932504 +tommath_int 512 %(int) 0.930702 +tommath_int 512 |(int) 0.0775007 +tommath_int 512 &(int) 0.0815778 +tommath_int 512 ^(int) 0.079649 +tommath_int 512 gcd 7.37824 +tommath_int 512 powm 3.21051 +tommath_int 512 +(unsigned long long) 0.0860324 +tommath_int 512 -(unsigned long long) 0.0825755 +tommath_int 512 *(unsigned long long) 0.107907 +tommath_int 512 /(unsigned long long) 1.07209 +tommath_int 512 +=(unsigned long long) 0.0792569 +tommath_int 512 -=(unsigned long long) 0.0820388 +tommath_int 512 *=(unsigned long long) 0.114277 +tommath_int 512 /=(unsigned long long) 1.00956 +tommath_int 1024 + 0.0143218 +tommath_int 1024 - 0.0192393 +tommath_int 1024 * 0.168568 +tommath_int 1024 / 1.84837 +tommath_int 1024 str 0.0582251 +tommath_int 1024 +(int) 0.0809152 +tommath_int 1024 -(int) 0.0915478 +tommath_int 1024 *(int) 0.110883 +tommath_int 1024 /(int) 1.48179 +tommath_int 1024 construct 0.128148 +tommath_int 1024 construct(unsigned) 0.150237 +tommath_int 1024 construct(unsigned long long) 0.143768 +tommath_int 1024 % 1.75398 +tommath_int 1024 | 0.0160686 +tommath_int 1024 & 0.0244762 +tommath_int 1024 ^ 0.0195826 +tommath_int 1024 << 0.0361972 +tommath_int 1024 >> 0.0955953 +tommath_int 1024 %(int) 1.36603 +tommath_int 1024 |(int) 0.0767652 +tommath_int 1024 &(int) 0.0869813 +tommath_int 1024 ^(int) 0.0866224 +tommath_int 1024 gcd 15.4317 +tommath_int 1024 powm 12.628 +tommath_int 1024 +(unsigned long long) 0.0806864 +tommath_int 1024 -(unsigned long long) 0.0801335 +tommath_int 1024 *(unsigned long long) 0.118102 +tommath_int 1024 /(unsigned long long) 1.69916 +tommath_int 1024 +=(unsigned long long) 0.0929332 +tommath_int 1024 -=(unsigned long long) 0.100611 +tommath_int 1024 *=(unsigned long long) 0.152996 +tommath_int 1024 /=(unsigned long long) 1.68307 +cpp_dec_float 50 + 0.0198859 +cpp_dec_float 50 - 0.0194363 +cpp_dec_float 50 * 0.061884 +cpp_dec_float 50 / 0.83092 +cpp_dec_float 50 str 0.00145276 +cpp_dec_float 50 +(int) 0.0143136 +cpp_dec_float 50 -(int) 0.0216737 +cpp_dec_float 50 *(int) 0.0630393 +cpp_dec_float 50 /(int) 0.40163 +cpp_dec_float 50 construct 0.00383901 +cpp_dec_float 50 construct(unsigned) 0.00770653 +cpp_dec_float 50 construct(unsigned long long) 0.00840151 +cpp_dec_float 50 +(unsigned long long) 0.0231609 +cpp_dec_float 50 -(unsigned long long) 0.0248419 +cpp_dec_float 50 *(unsigned long long) 0.0745654 +cpp_dec_float 50 /(unsigned long long) 0.396014 +cpp_dec_float 50 +=(unsigned long long) 0.017568 +cpp_dec_float 50 -=(unsigned long long) 0.0249846 +cpp_dec_float 50 *=(unsigned long long) 0.0706828 +cpp_dec_float 50 /=(unsigned long long) 0.408938 +cpp_dec_float 100 + 0.0216812 +cpp_dec_float 100 - 0.0313385 +cpp_dec_float 100 * 0.130292 +cpp_dec_float 100 / 1.73437 +cpp_dec_float 100 str 0.00180621 +cpp_dec_float 100 +(int) 0.0169356 +cpp_dec_float 100 -(int) 0.0263524 +cpp_dec_float 100 *(int) 0.125171 +cpp_dec_float 100 /(int) 0.861622 +cpp_dec_float 100 construct 0.00443324 +cpp_dec_float 100 construct(unsigned) 0.00867913 +cpp_dec_float 100 construct(unsigned long long) 0.00854971 +cpp_dec_float 100 +(unsigned long long) 0.0292658 +cpp_dec_float 100 -(unsigned long long) 0.0287785 +cpp_dec_float 100 *(unsigned long long) 0.147631 +cpp_dec_float 100 /(unsigned long long) 0.991001 +cpp_dec_float 100 +=(unsigned long long) 0.0236933 +cpp_dec_float 100 -=(unsigned long long) 0.0396995 +cpp_dec_float 100 *=(unsigned long long) 0.172634 +cpp_dec_float 100 /=(unsigned long long) 1.27727 +cpp_dec_float 500 + 0.207727 +cpp_dec_float 500 - 0.21259 +cpp_dec_float 500 * 1.6902 +cpp_dec_float 500 / 22.744 +cpp_dec_float 500 str 0.0109211 +cpp_dec_float 500 +(int) 0.151114 +cpp_dec_float 500 -(int) 0.14371 +cpp_dec_float 500 *(int) 2.44271 +cpp_dec_float 500 /(int) 12.8722 +cpp_dec_float 500 construct 0.0256013 +cpp_dec_float 500 construct(unsigned) 0.0455813 +cpp_dec_float 500 construct(unsigned long long) 0.0429815 +cpp_dec_float 500 +(unsigned long long) 0.148942 +cpp_dec_float 500 -(unsigned long long) 0.150724 +cpp_dec_float 500 *(unsigned long long) 2.68446 +cpp_dec_float 500 /(unsigned long long) 14.1836 +cpp_dec_float 500 +=(unsigned long long) 0.186187 +cpp_dec_float 500 -=(unsigned long long) 0.199025 +cpp_dec_float 500 *=(unsigned long long) 2.40228 +cpp_dec_float 500 /=(unsigned long long) 10.9233 +cpp_bin_float 50 + 0.0479759 +cpp_bin_float 50 - 0.0688937 +cpp_bin_float 50 * 0.0720574 +cpp_bin_float 50 / 0.549759 +cpp_bin_float 50 str 0.00301165 +cpp_bin_float 50 +(int) 0.0524679 +cpp_bin_float 50 -(int) 0.0848243 +cpp_bin_float 50 *(int) 0.0399504 +cpp_bin_float 50 /(int) 0.141651 +cpp_bin_float 50 construct 0.0030982 +cpp_bin_float 50 construct(unsigned) 0.00808983 +cpp_bin_float 50 construct(unsigned long long) 0.0175206 +cpp_bin_float 50 +(unsigned long long) 0.109321 +cpp_bin_float 50 -(unsigned long long) 0.102878 +cpp_bin_float 50 *(unsigned long long) 0.0508387 +cpp_bin_float 50 /(unsigned long long) 0.19558 +cpp_bin_float 50 +=(unsigned long long) 0.109847 +cpp_bin_float 50 -=(unsigned long long) 0.129938 +cpp_bin_float 50 *=(unsigned long long) 0.0500366 +cpp_bin_float 50 /=(unsigned long long) 0.215322 +cpp_bin_float 100 + 0.0901201 +cpp_bin_float 100 - 0.0896788 +cpp_bin_float 100 * 0.111688 +cpp_bin_float 100 / 1.39191 +cpp_bin_float 100 str 0.0051705 +cpp_bin_float 100 +(int) 0.0871804 +cpp_bin_float 100 -(int) 0.084402 +cpp_bin_float 100 *(int) 0.0464923 +cpp_bin_float 100 /(int) 0.271491 +cpp_bin_float 100 construct 0.00608929 +cpp_bin_float 100 construct(unsigned) 0.0120486 +cpp_bin_float 100 construct(unsigned long long) 0.0267453 +cpp_bin_float 100 +(unsigned long long) 0.128103 +cpp_bin_float 100 -(unsigned long long) 0.0883961 +cpp_bin_float 100 *(unsigned long long) 0.0540758 +cpp_bin_float 100 /(unsigned long long) 0.244599 +cpp_bin_float 100 +=(unsigned long long) 0.0942496 +cpp_bin_float 100 -=(unsigned long long) 0.101449 +cpp_bin_float 100 *=(unsigned long long) 0.0547429 +cpp_bin_float 100 /=(unsigned long long) 0.256093 +cpp_bin_float 500 + 0.219881 +cpp_bin_float 500 - 0.196627 +cpp_bin_float 500 * 0.850904 +cpp_bin_float 500 / 5.32129 +cpp_bin_float 500 str 0.043165 +cpp_bin_float 500 +(int) 0.165014 +cpp_bin_float 500 -(int) 0.181209 +cpp_bin_float 500 *(int) 0.12206 +cpp_bin_float 500 /(int) 0.643802 +cpp_bin_float 500 construct 0.0152335 +cpp_bin_float 500 construct(unsigned) 0.0530205 +cpp_bin_float 500 construct(unsigned long long) 0.0570308 +cpp_bin_float 500 +(unsigned long long) 0.16427 +cpp_bin_float 500 -(unsigned long long) 0.185162 +cpp_bin_float 500 *(unsigned long long) 0.0843974 +cpp_bin_float 500 /(unsigned long long) 0.621615 +cpp_bin_float 500 +=(unsigned long long) 0.157162 +cpp_bin_float 500 -=(unsigned long long) 0.163157 +cpp_bin_float 500 *=(unsigned long long) 0.0987612 +cpp_bin_float 500 /=(unsigned long long) 0.638041 +mpfr_float 50 + 0.0106639 +mpfr_float 50 - 0.0274747 +mpfr_float 50 * 0.026548 +mpfr_float 50 / 0.239385 +mpfr_float 50 str 0.000800609 +mpfr_float 50 +(int) 0.029943 +mpfr_float 50 -(int) 0.0662094 +mpfr_float 50 *(int) 0.022273 +mpfr_float 50 /(int) 0.0362858 +mpfr_float 50 construct 0.04809 +mpfr_float 50 construct(unsigned) 0.0751445 +mpfr_float 50 construct(unsigned long long) 0.0787188 +mpfr_float 50 +(unsigned long long) 0.0240813 +mpfr_float 50 -(unsigned long long) 0.0438217 +mpfr_float 50 *(unsigned long long) 0.0207341 +mpfr_float 50 /(unsigned long long) 0.0603899 +mpfr_float 50 +=(unsigned long long) 0.0528778 +mpfr_float 50 -=(unsigned long long) 0.0613088 +mpfr_float 50 *=(unsigned long long) 0.0350654 +mpfr_float 50 /=(unsigned long long) 0.0458197 +mpfr_float 50 + 0.0183477 +mpfr_float 50 - 0.0241287 +mpfr_float 50 * 0.0161758 +mpfr_float 50 / 0.169939 +mpfr_float 50 str 0.00227407 +mpfr_float 50 +(int) 0.0256829 +mpfr_float 50 -(int) 0.0692297 +mpfr_float 50 *(int) 0.0336498 +mpfr_float 50 /(int) 0.0549347 +mpfr_float 50 construct 0.0773304 +mpfr_float 50 construct(unsigned) 0.102564 +mpfr_float 50 construct(unsigned long long) 0.08974 +mpfr_float 50 +(unsigned long long) 0.0261189 +mpfr_float 50 -(unsigned long long) 0.0606961 +mpfr_float 50 *(unsigned long long) 0.0276134 +mpfr_float 50 /(unsigned long long) 0.0520857 +mpfr_float 50 +=(unsigned long long) 0.0571878 +mpfr_float 50 -=(unsigned long long) 0.0589902 +mpfr_float 50 *=(unsigned long long) 0.0229147 +mpfr_float 50 /=(unsigned long long) 0.0523141 +mpfr_float 100 + 0.0190178 +mpfr_float 100 - 0.0395976 +mpfr_float 100 * 0.0661794 +mpfr_float 100 / 0.300455 +mpfr_float 100 str 0.00132816 +mpfr_float 100 +(int) 0.0300081 +mpfr_float 100 -(int) 0.0654074 +mpfr_float 100 *(int) 0.0339721 +mpfr_float 100 /(int) 0.0592293 +mpfr_float 100 construct 0.0866815 +mpfr_float 100 construct(unsigned) 0.0730204 +mpfr_float 100 construct(unsigned long long) 0.0720298 +mpfr_float 100 +(unsigned long long) 0.0290995 +mpfr_float 100 -(unsigned long long) 0.056868 +mpfr_float 100 *(unsigned long long) 0.0276341 +mpfr_float 100 /(unsigned long long) 0.0628383 +mpfr_float 100 +=(unsigned long long) 0.0502709 +mpfr_float 100 -=(unsigned long long) 0.0731736 +mpfr_float 100 *=(unsigned long long) 0.0348128 +mpfr_float 100 /=(unsigned long long) 0.071302 +mpfr_float 500 + 0.0609463 +mpfr_float 500 - 0.0646638 +mpfr_float 500 * 0.321884 +mpfr_float 500 / 1.2162 +mpfr_float 500 str 0.0048926 +mpfr_float 500 +(int) 0.062913 +mpfr_float 500 -(int) 0.0711089 +mpfr_float 500 *(int) 0.0792629 +mpfr_float 500 /(int) 0.126251 +mpfr_float 500 construct 0.0762248 +mpfr_float 500 construct(unsigned) 0.0813206 +mpfr_float 500 construct(unsigned long long) 0.0785786 +mpfr_float 500 +(unsigned long long) 0.0616622 +mpfr_float 500 -(unsigned long long) 0.0905736 +mpfr_float 500 *(unsigned long long) 0.0506668 +mpfr_float 500 /(unsigned long long) 0.117803 +mpfr_float 500 +=(unsigned long long) 0.0787754 +mpfr_float 500 -=(unsigned long long) 0.105476 +mpfr_float 500 *=(unsigned long long) 0.0716736 +mpfr_float 500 /=(unsigned long long) 0.122477 +gmp_int 2048 + 0.0179704 +gmp_int 2048 - 0.017975 +gmp_int 2048 * 0.361988 +gmp_int 2048 / 0.149182 +gmp_int 2048 str 0.00244981 +gmp_int 2048 +(int) 0.0118266 +gmp_int 2048 -(int) 0.0117639 +gmp_int 2048 *(int) 0.0241013 +gmp_int 2048 /(int) 0.0972941 +gmp_int 2048 construct 0.00384029 +gmp_int 2048 construct(unsigned) 0.0286091 +gmp_int 2048 construct(unsigned long long) 0.0290565 +gmp_int 2048 % 0.142738 +gmp_int 2048 | 0.0152602 +gmp_int 2048 & 0.015523 +gmp_int 2048 ^ 0.0244266 +gmp_int 2048 << 0.039948 +gmp_int 2048 >> 0.00453774 +gmp_int 2048 %(int) 0.0436939 +gmp_int 2048 |(int) 0.0277685 +gmp_int 2048 &(int) 0.0176239 +gmp_int 2048 ^(int) 0.0298873 +gmp_int 2048 gcd 8.18516 +gmp_int 2048 +(unsigned long long) 0.0161988 +gmp_int 2048 -(unsigned long long) 0.0184622 +gmp_int 2048 *(unsigned long long) 0.0209189 +gmp_int 2048 /(unsigned long long) 0.0759658 +gmp_int 2048 +=(unsigned long long) 0.0160693 +gmp_int 2048 -=(unsigned long long) 0.0219074 +gmp_int 2048 *=(unsigned long long) 0.0301309 +gmp_int 2048 /=(unsigned long long) 0.0919138 +gmp_int 4096 + 0.0300729 +gmp_int 4096 - 0.0321962 +gmp_int 4096 * 1.11701 +gmp_int 4096 / 0.208719 +gmp_int 4096 str 0.00486654 +gmp_int 4096 +(int) 0.0195694 +gmp_int 4096 -(int) 0.0225873 +gmp_int 4096 *(int) 0.0477494 +gmp_int 4096 /(int) 0.156597 +gmp_int 4096 construct 0.00385483 +gmp_int 4096 construct(unsigned) 0.0220052 +gmp_int 4096 construct(unsigned long long) 0.0244927 +gmp_int 4096 % 0.24073 +gmp_int 4096 | 0.0365187 +gmp_int 4096 & 0.0384586 +gmp_int 4096 ^ 0.0429561 +gmp_int 4096 << 0.0597248 +gmp_int 4096 >> 0.00313265 +gmp_int 4096 %(int) 0.0571251 +gmp_int 4096 |(int) 0.0360071 +gmp_int 4096 &(int) 0.0121449 +gmp_int 4096 ^(int) 0.0406408 +gmp_int 4096 gcd 18.7879 +gmp_int 4096 +(unsigned long long) 0.0174726 +gmp_int 4096 -(unsigned long long) 0.0220616 +gmp_int 4096 *(unsigned long long) 0.0321931 +gmp_int 4096 /(unsigned long long) 0.125208 +gmp_int 4096 +=(unsigned long long) 0.0221405 +gmp_int 4096 -=(unsigned long long) 0.0250737 +gmp_int 4096 *=(unsigned long long) 0.0457849 +gmp_int 4096 /=(unsigned long long) 0.14699 +cpp_int 2688 + 0.0336398 +cpp_int 2688 - 0.037733 +cpp_int 2688 * 1.31825 +cpp_int 2688 / 1.00586 +cpp_int 2688 str 0.0237422 +cpp_int 2688 +(int) 0.024805 +cpp_int 2688 -(int) 0.032706 +cpp_int 2688 *(int) 0.0426049 +cpp_int 2688 /(int) 0.859876 +cpp_int 2688 construct 0.00240729 +cpp_int 2688 construct(unsigned) 0.00241711 +cpp_int 2688 construct(unsigned long long) 0.00288069 +cpp_int 2688 % 0.398213 +cpp_int 2688 | 0.0334167 +cpp_int 2688 & 0.0366949 +cpp_int 2688 ^ 0.0475314 +cpp_int 2688 << 0.0753453 +cpp_int 2688 >> 0.0183679 +cpp_int 2688 %(int) 0.301827 +cpp_int 2688 |(int) 0.0214828 +cpp_int 2688 &(int) 0.0612567 +cpp_int 2688 ^(int) 0.0206665 +cpp_int 2688 gcd 21.9738 +cpp_int 2688 +(unsigned long long) 0.0294774 +cpp_int 2688 -(unsigned long long) 0.0222548 +cpp_int 2688 *(unsigned long long) 0.052584 +cpp_int 2688 /(unsigned long long) 0.832241 +cpp_int 2688 +=(unsigned long long) 0.0201879 +cpp_int 2688 -=(unsigned long long) 0.0277295 +cpp_int 2688 *=(unsigned long long) 0.0527845 +cpp_int 2688 /=(unsigned long long) 0.873081 +cpp_int 2048 + 0.033949 +cpp_int 2048 - 0.0507822 +cpp_int 2048 * 0.918685 +cpp_int 2048 / 0.702366 +cpp_int 2048 str 0.0137593 +cpp_int 2048 +(int) 0.0204874 +cpp_int 2048 -(int) 0.0176467 +cpp_int 2048 *(int) 0.047049 +cpp_int 2048 /(int) 0.630264 +cpp_int 2048 construct 0.00273948 +cpp_int 2048 construct(unsigned) 0.00304865 +cpp_int 2048 construct(unsigned long long) 0.00190833 +cpp_int 2048 % 0.368469 +cpp_int 2048 | 0.0293243 +cpp_int 2048 & 0.0461406 +cpp_int 2048 ^ 0.0405646 +cpp_int 2048 << 0.0859331 +cpp_int 2048 >> 0.0183489 +cpp_int 2048 %(int) 0.288068 +cpp_int 2048 |(int) 0.0309032 +cpp_int 2048 &(int) 0.063826 +cpp_int 2048 ^(int) 0.0264078 +cpp_int 2048 gcd 17.7583 +cpp_int 2048 +(unsigned long long) 0.0237404 +cpp_int 2048 -(unsigned long long) 0.0235442 +cpp_int 2048 *(unsigned long long) 0.0539343 +cpp_int 2048 /(unsigned long long) 0.706562 +cpp_int 2048 +=(unsigned long long) 0.0186902 +cpp_int 2048 -=(unsigned long long) 0.0265754 +cpp_int 2048 *=(unsigned long long) 0.0373067 +cpp_int 2048 /=(unsigned long long) 0.632889 +tommath_int 2048 + 0.0211244 +tommath_int 2048 - 0.0279804 +tommath_int 2048 * 0.460786 +tommath_int 2048 / 3.07934 +tommath_int 2048 str 0.202054 +tommath_int 2048 +(int) 0.083639 +tommath_int 2048 -(int) 0.0851246 +tommath_int 2048 *(int) 0.135402 +tommath_int 2048 /(int) 2.60921 +tommath_int 2048 construct 0.130974 +tommath_int 2048 construct(unsigned) 0.143494 +tommath_int 2048 construct(unsigned long long) 0.163349 +tommath_int 2048 % 3.33706 +tommath_int 2048 | 0.0267336 +tommath_int 2048 & 0.0364387 +tommath_int 2048 ^ 0.0346198 +tommath_int 2048 << 0.0693055 +tommath_int 2048 >> 0.134364 +tommath_int 2048 %(int) 2.60834 +tommath_int 2048 |(int) 0.0913086 +tommath_int 2048 &(int) 0.101302 +tommath_int 2048 ^(int) 0.102478 +tommath_int 2048 gcd 42.8729 +tommath_int 2048 +(unsigned long long) 0.0926177 +tommath_int 2048 -(unsigned long long) 0.100113 +tommath_int 2048 *(unsigned long long) 0.169084 +tommath_int 2048 /(unsigned long long) 3.12331 +tommath_int 2048 +=(unsigned long long) 0.110375 +tommath_int 2048 -=(unsigned long long) 0.105886 +tommath_int 2048 *=(unsigned long long) 0.171704 +tommath_int 2048 /=(unsigned long long) 3.0036 +tommath_int 4096 + 0.0326177 +tommath_int 4096 - 0.0532653 +tommath_int 4096 * 1.58255 +tommath_int 4096 / 6.59216 +tommath_int 4096 str 0.754295 +tommath_int 4096 +(int) 0.0938225 +tommath_int 4096 -(int) 0.101291 +tommath_int 4096 *(int) 0.196512 +tommath_int 4096 /(int) 5.83504 +tommath_int 4096 construct 0.13198 +tommath_int 4096 construct(unsigned) 0.143689 +tommath_int 4096 construct(unsigned long long) 0.146389 +tommath_int 4096 % 6.41658 +tommath_int 4096 | 0.0481236 +tommath_int 4096 & 0.0552444 +tommath_int 4096 ^ 0.0568037 +tommath_int 4096 << 0.115375 +tommath_int 4096 >> 0.196446 +tommath_int 4096 %(int) 5.91797 +tommath_int 4096 |(int) 0.109494 +tommath_int 4096 &(int) 0.128712 +tommath_int 4096 ^(int) 0.131519 +tommath_int 4096 gcd 136.362 +tommath_int 4096 +(unsigned long long) 0.108939 +tommath_int 4096 -(unsigned long long) 0.101139 +tommath_int 4096 *(unsigned long long) 0.220461 +tommath_int 4096 /(unsigned long long) 7.25882 +tommath_int 4096 +=(unsigned long long) 0.11456 +tommath_int 4096 -=(unsigned long long) 0.117418 +tommath_int 4096 *=(unsigned long long) 0.250847 +tommath_int 4096 /=(unsigned long long) 7.09868 +cpp_int 4096 + 0.0412289 +cpp_int 4096 - 0.0463464 +cpp_int 4096 * 2.65154 +cpp_int 4096 / 1.18106 +cpp_int 4096 str 0.0491109 +cpp_int 4096 +(int) 0.0198385 +cpp_int 4096 -(int) 0.0209158 +cpp_int 4096 *(int) 0.0576663 +cpp_int 4096 /(int) 1.08346 +cpp_int 4096 construct 0.0017072 +cpp_int 4096 construct(unsigned) 0.0018378 +cpp_int 4096 construct(unsigned long long) 0.00199036 +cpp_int 4096 % 0.512768 +cpp_int 4096 | 0.0377549 +cpp_int 4096 & 0.0440714 +cpp_int 4096 ^ 0.0369865 +cpp_int 4096 << 0.0889652 +cpp_int 4096 >> 0.0219967 +cpp_int 4096 %(int) 0.429244 +cpp_int 4096 |(int) 0.0232284 +cpp_int 4096 &(int) 0.0593859 +cpp_int 4096 ^(int) 0.0235546 +cpp_int 4096 gcd 32.2572 +cpp_int 4096 +(unsigned long long) 0.0253811 +cpp_int 4096 -(unsigned long long) 0.0242017 +cpp_int 4096 *(unsigned long long) 0.0432066 +cpp_int 4096 /(unsigned long long) 1.0584 +cpp_int 4096 +=(unsigned long long) 0.0218483 +cpp_int 4096 -=(unsigned long long) 0.0249248 +cpp_int 4096 *=(unsigned long long) 0.0424701 +cpp_int 4096 /=(unsigned long long) 1.05399 +cpp_int 8192 + 0.083134 +cpp_int 8192 - 0.0813138 +cpp_int 8192 * 7.83314 +cpp_int 8192 / 2.26453 +cpp_int 8192 str 0.171316 +cpp_int 8192 +(int) 0.0338486 +cpp_int 8192 -(int) 0.0402632 +cpp_int 8192 *(int) 0.0955853 +cpp_int 8192 /(int) 2.33772 +cpp_int 8192 construct 0.00191549 +cpp_int 8192 construct(unsigned) 0.0017583 +cpp_int 8192 construct(unsigned long long) 0.00200998 +cpp_int 8192 % 1.03083 +cpp_int 8192 | 0.0916779 +cpp_int 8192 & 0.0811524 +cpp_int 8192 ^ 0.0918676 +cpp_int 8192 << 0.190562 +cpp_int 8192 >> 0.0537598 +cpp_int 8192 %(int) 0.851447 +cpp_int 8192 |(int) 0.042441 +cpp_int 8192 &(int) 0.102968 +cpp_int 8192 ^(int) 0.0392727 +cpp_int 8192 gcd 76.6459 +cpp_int 8192 +(unsigned long long) 0.0350422 +cpp_int 8192 -(unsigned long long) 0.0317445 +cpp_int 8192 *(unsigned long long) 0.0813634 +cpp_int 8192 /(unsigned long long) 2.14867 +cpp_int 8192 +=(unsigned long long) 0.0394761 +cpp_int 8192 -=(unsigned long long) 0.0377524 +cpp_int 8192 *=(unsigned long long) 0.0946934 +cpp_int 8192 /=(unsigned long long) 2.14442 +cpp_int 16384 + 0.190174 +cpp_int 16384 - 0.191562 +cpp_int 16384 * 26.1836 +cpp_int 16384 / 4.52755 +cpp_int 16384 str 0.595522 +cpp_int 16384 +(int) 0.0760202 +cpp_int 16384 -(int) 0.0674681 +cpp_int 16384 *(int) 0.167493 +cpp_int 16384 /(int) 4.22641 +cpp_int 16384 construct 0.0016635 +cpp_int 16384 construct(unsigned) 0.00197229 +cpp_int 16384 construct(unsigned long long) 0.00168004 +cpp_int 16384 % 1.96988 +cpp_int 16384 | 0.152323 +cpp_int 16384 & 0.146531 +cpp_int 16384 ^ 0.150955 +cpp_int 16384 << 0.32803 +cpp_int 16384 >> 0.0745484 +cpp_int 16384 %(int) 1.57951 +cpp_int 16384 |(int) 0.0711061 +cpp_int 16384 &(int) 0.168385 +cpp_int 16384 ^(int) 0.0657809 +cpp_int 16384 gcd 201.791 +cpp_int 16384 +(unsigned long long) 0.0761856 +cpp_int 16384 -(unsigned long long) 0.0783054 +cpp_int 16384 *(unsigned long long) 0.159452 +cpp_int 16384 /(unsigned long long) 4.2547 +cpp_int 16384 +=(unsigned long long) 0.0783171 +cpp_int 16384 -=(unsigned long long) 0.070851 +cpp_int 16384 *=(unsigned long long) 0.177219 +cpp_int 16384 /=(unsigned long long) 4.37618 +tommath_int 8192 + 0.060658 +tommath_int 8192 - 0.0884881 +tommath_int 8192 * 7.13744 +tommath_int 8192 / 17.0525 +tommath_int 8192 str 2.82013 +tommath_int 8192 +(int) 0.11778 +tommath_int 8192 -(int) 0.115431 +tommath_int 8192 *(int) 0.30587 +tommath_int 8192 /(int) 15.4756 +tommath_int 8192 construct 0.126578 +tommath_int 8192 construct(unsigned) 0.144368 +tommath_int 8192 construct(unsigned long long) 0.139445 +tommath_int 8192 % 17.1548 +tommath_int 8192 | 0.0880424 +tommath_int 8192 & 0.10108 +tommath_int 8192 ^ 0.0996668 +tommath_int 8192 << 0.222116 +tommath_int 8192 >> 0.358689 +tommath_int 8192 %(int) 16.0225 +tommath_int 8192 |(int) 0.150489 +tommath_int 8192 &(int) 0.18102 +tommath_int 8192 ^(int) 0.190136 +tommath_int 8192 gcd 471.81 +tommath_int 8192 +(unsigned long long) 0.117648 +tommath_int 8192 -(unsigned long long) 0.118991 +tommath_int 8192 *(unsigned long long) 0.361697 +tommath_int 8192 /(unsigned long long) 19.8407 +tommath_int 8192 +=(unsigned long long) 0.159384 +tommath_int 8192 -=(unsigned long long) 0.189292 +tommath_int 8192 *=(unsigned long long) 0.453899 +tommath_int 8192 /=(unsigned long long) 20.7357 +tommath_int 16384 + 0.229295 +tommath_int 16384 - 0.358805 +tommath_int 16384 * 25.8824 +tommath_int 16384 / 51.7759 +tommath_int 16384 str 11.1251 +tommath_int 16384 +(int) 0.176275 +tommath_int 16384 -(int) 0.179066 +tommath_int 16384 *(int) 0.548109 +tommath_int 16384 /(int) 50.0929 +tommath_int 16384 construct 0.160796 +tommath_int 16384 construct(unsigned) 0.182018 +tommath_int 16384 construct(unsigned long long) 0.191943 +tommath_int 16384 % 51.233 +tommath_int 16384 | 0.213797 +tommath_int 16384 & 0.245997 +tommath_int 16384 ^ 0.234837 +tommath_int 16384 << 0.538044 +tommath_int 16384 >> 0.899272 +tommath_int 16384 %(int) 54.083 +tommath_int 16384 |(int) 0.205729 +tommath_int 16384 &(int) 0.276527 +tommath_int 16384 ^(int) 0.314742 +tommath_int 16384 gcd 1770.72 +tommath_int 16384 +(unsigned long long) 0.175822 +tommath_int 16384 -(unsigned long long) 0.175887 +tommath_int 16384 *(unsigned long long) 0.667264 +tommath_int 16384 /(unsigned long long) 57.2509 +tommath_int 16384 +=(unsigned long long) 0.226317 +tommath_int 16384 -=(unsigned long long) 0.2213 +tommath_int 16384 *=(unsigned long long) 0.690731 +tommath_int 16384 /=(unsigned long long) 67.9296 +gmp_int 8192 + 0.0811195 +gmp_int 8192 - 0.11812 +gmp_int 8192 * 5.52441 +gmp_int 8192 / 0.516606 +gmp_int 8192 str 0.0262254 +gmp_int 8192 +(int) 0.0700979 +gmp_int 8192 -(int) 0.0576919 +gmp_int 8192 *(int) 0.113505 +gmp_int 8192 /(int) 0.410334 +gmp_int 8192 construct 0.0081635 +gmp_int 8192 construct(unsigned) 0.0635939 +gmp_int 8192 construct(unsigned long long) 0.0709692 +gmp_int 8192 % 0.603534 +gmp_int 8192 | 0.0920584 +gmp_int 8192 & 0.0887291 +gmp_int 8192 ^ 0.0805332 +gmp_int 8192 << 0.146992 +gmp_int 8192 >> 0.00722919 +gmp_int 8192 %(int) 0.119886 +gmp_int 8192 |(int) 0.0874534 +gmp_int 8192 &(int) 0.0150182 +gmp_int 8192 ^(int) 0.0788165 +gmp_int 8192 gcd 58.8129 +gmp_int 8192 +(unsigned long long) 0.0466003 +gmp_int 8192 -(unsigned long long) 0.0435595 +gmp_int 8192 *(unsigned long long) 0.0886586 +gmp_int 8192 /(unsigned long long) 0.288938 +gmp_int 8192 +=(unsigned long long) 0.0570676 +gmp_int 8192 -=(unsigned long long) 0.05295 +gmp_int 8192 *=(unsigned long long) 0.108914 +gmp_int 8192 /=(unsigned long long) 0.319457 +gmp_int 16384 + 0.134715 +gmp_int 16384 - 0.14931 +gmp_int 16384 * 11.3398 +gmp_int 16384 / 0.638503 +gmp_int 16384 str 0.0398493 +gmp_int 16384 +(int) 0.0772241 +gmp_int 16384 -(int) 0.0818204 +gmp_int 16384 *(int) 0.137745 +gmp_int 16384 /(int) 0.595404 +gmp_int 16384 construct 0.00397999 +gmp_int 16384 construct(unsigned) 0.0276289 +gmp_int 16384 construct(unsigned long long) 0.0219346 +gmp_int 16384 % 0.723753 +gmp_int 16384 | 0.111118 +gmp_int 16384 & 0.112421 +gmp_int 16384 ^ 0.124214 +gmp_int 16384 << 0.206887 +gmp_int 16384 >> 0.00655899 +gmp_int 16384 %(int) 0.137682 +gmp_int 16384 |(int) 0.115602 +gmp_int 16384 &(int) 0.0212413 +gmp_int 16384 ^(int) 0.139399 +gmp_int 16384 gcd 122.14 +gmp_int 16384 +(unsigned long long) 0.0668364 +gmp_int 16384 -(unsigned long long) 0.0661641 +gmp_int 16384 *(unsigned long long) 0.12958 +gmp_int 16384 /(unsigned long long) 0.523737 +gmp_int 16384 +=(unsigned long long) 0.0841208 +gmp_int 16384 -=(unsigned long long) 0.0947863 +gmp_int 16384 *=(unsigned long long) 0.208689 +gmp_int 16384 /=(unsigned long long) 0.607595 [section:float_performance Float Type Perfomance] [table Operator * [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][4.30817 (0.0408401s)][1.75015 (0.0653409s)][2.16485 (0.597984s)]] -[[cpp_dec_float][3.35696 (0.031823s)][1.77364 (0.0662176s)][1.74752 (0.482708s)]] -[[gmp_float][2.01455 (0.0190973s)][[*1] (0.0373344s)][[*1] (0.276224s)]] -[[mpfr_float][[*1] (0.00947969s)][1.21316 (0.0452924s)][2.13364 (0.589363s)]] +[[cpp_bin_float][4.45465 (0.0720574s)][4.33995 (0.111688s)][2.90491 (0.850904s)]] +[[cpp_dec_float][3.82572 (0.061884s)][5.06288 (0.130292s)][5.77019 (1.6902s)]] +[[gmp_float][1.28958 (0.02086s)][[*1] (0.0257348s)][[*1] (0.292919s)]] +[[mpfr_float][[*1] (0.0161758s)][2.57159 (0.0661794s)][1.09888 (0.321884s)]] ] [table Operator *(int) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][2.98031 (0.0223518s)][4.27803 (0.0313689s)][4.54817 (0.0632425s)]] -[[cpp_dec_float][4.25141 (0.0318849s)][7.59768 (0.0557104s)][33.1653 (0.461166s)]] -[[gmp_float][[*1] (0.00749984s)][[*1] (0.00733255s)][[*1] (0.0139051s)]] -[[mpfr_float][2.98089 (0.0223562s)][3.32286 (0.0243651s)][3.7808 (0.0525722s)]] +[[cpp_bin_float][7.78457 (0.0399504s)][8.32801 (0.0464923s)][5.78369 (0.12206s)]] +[[cpp_dec_float][12.2836 (0.0630393s)][22.4215 (0.125171s)][115.745 (2.44271s)]] +[[gmp_float][[*1] (0.00513201s)][[*1] (0.00558264s)][[*1] (0.0211042s)]] +[[mpfr_float][6.55686 (0.0336498s)][6.08531 (0.0339721s)][3.75579 (0.0792629s)]] ] [table Operator *(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][3.38766 (0.0235916s)][5.87158 (0.0423397s)][5.05723 (0.0709145s)]] -[[cpp_dec_float][5.0049 (0.0348541s)][8.47648 (0.0611235s)][32.4907 (0.455598s)]] -[[gmp_float][[*1] (0.00696399s)][[*1] (0.00721095s)][[*1] (0.0140224s)]] -[[mpfr_float][3.03806 (0.0211571s)][3.50941 (0.0253062s)][3.44633 (0.0483258s)]] +[[cpp_bin_float][3.96061 (0.0508387s)][9.0225 (0.0540758s)][3.84877 (0.0843974s)]] +[[cpp_dec_float][5.80905 (0.0745654s)][24.6321 (0.147631s)][122.419 (2.68446s)]] +[[gmp_float][[*1] (0.0128361s)][[*1] (0.00599344s)][[*1] (0.0219284s)]] +[[mpfr_float][2.15124 (0.0276134s)][4.61073 (0.0276341s)][2.31056 (0.0506668s)]] ] [table Operator *=(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][1.56351 (0.0230891s)][2.0073 (0.031993s)][3.62925 (0.0772075s)]] -[[cpp_dec_float][2.55656 (0.0377542s)][4.10056 (0.0653562s)][21.6642 (0.460876s)]] -[[gmp_float][[*1] (0.0147675s)][[*1] (0.0159383s)][[*1] (0.0212737s)]] -[[mpfr_float][2.23026 (0.0329355s)][2.40387 (0.0383137s)][2.64077 (0.0561789s)]] +[[cpp_bin_float][6.54027 (0.0500366s)][5.58857 (0.0547429s)][3.33593 (0.0987612s)]] +[[cpp_dec_float][9.23894 (0.0706828s)][17.6238 (0.172634s)][81.1437 (2.40228s)]] +[[gmp_float][[*1] (0.00765054s)][[*1] (0.00979552s)][[*1] (0.0296053s)]] +[[mpfr_float][2.99517 (0.0229147s)][3.55395 (0.0348128s)][2.42098 (0.0716736s)]] ] [table Operator + [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][3.91168 (0.0381834s)][4.16297 (0.0642049s)][4.90051 (0.102092s)]] -[[cpp_dec_float][2.23696 (0.0218359s)][1.69854 (0.0261964s)][6.06882 (0.126431s)]] -[[gmp_float][1.50164 (0.0146581s)][[*1] (0.0154229s)][[*1] (0.0208329s)]] -[[mpfr_float][[*1] (0.0097614s)][1.21982 (0.0188131s)][1.81579 (0.0378282s)]] +[[cpp_bin_float][2.61482 (0.0479759s)][6.91285 (0.0901201s)][8.04302 (0.219881s)]] +[[cpp_dec_float][1.08384 (0.0198859s)][1.6631 (0.0216812s)][7.59843 (0.207727s)]] +[[gmp_float][1.00042 (0.0183555s)][[*1] (0.0130366s)][[*1] (0.0273382s)]] +[[mpfr_float][[*1] (0.0183477s)][1.4588 (0.0190178s)][2.22935 (0.0609463s)]] ] [table Operator +(int) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][5.27328 (0.0381889s)][6.85509 (0.0518618s)][10.4988 (0.104875s)]] -[[cpp_dec_float][3.50749 (0.0254011s)][4.07503 (0.0308294s)][12.8481 (0.128342s)]] -[[gmp_float][[*1] (0.00724196s)][[*1] (0.00756543s)][[*1] (0.00998923s)]] -[[mpfr_float][4.51538 (0.0327002s)][4.54647 (0.034396s)][5.25239 (0.0524673s)]] +[[cpp_bin_float][11.8195 (0.0524679s)][13.9144 (0.0871804s)][13.6745 (0.165014s)]] +[[cpp_dec_float][3.22445 (0.0143136s)][2.703 (0.0169356s)][12.5227 (0.151114s)]] +[[gmp_float][[*1] (0.00443909s)][[*1] (0.00626549s)][[*1] (0.0120673s)]] +[[mpfr_float][5.78563 (0.0256829s)][4.78942 (0.0300081s)][5.21353 (0.062913s)]] ] [table Operator +(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][5.93334 (0.044578s)][9.73575 (0.0758362s)][11.0837 (0.112203s)]] -[[cpp_dec_float][3.99501 (0.030015s)][4.07581 (0.0317483s)][9.33811 (0.0945316s)]] -[[gmp_float][[*1] (0.00751313s)][[*1] (0.00778945s)][[*1] (0.0101232s)]] -[[mpfr_float][4.28797 (0.0322161s)][4.83393 (0.0376537s)][5.2035 (0.052676s)]] +[[cpp_bin_float][21.4259 (0.109321s)][16.4546 (0.128103s)][14.7256 (0.16427s)]] +[[cpp_dec_float][4.53931 (0.0231609s)][3.75913 (0.0292658s)][13.3516 (0.148942s)]] +[[gmp_float][[*1] (0.0051023s)][[*1] (0.00778526s)][[*1] (0.0111554s)]] +[[mpfr_float][5.11905 (0.0261189s)][3.73777 (0.0290995s)][5.52758 (0.0616622s)]] ] [table Operator +=(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][2.97171 (0.045722s)][3.78495 (0.0640784s)][5.16221 (0.117755s)]] -[[cpp_dec_float][1.93543 (0.0297781s)][3.12436 (0.0528949s)][4.83179 (0.110218s)]] -[[gmp_float][[*1] (0.0153858s)][[*1] (0.0169298s)][[*1] (0.022811s)]] -[[mpfr_float][3.42442 (0.0526874s)][3.32428 (0.0562794s)][3.25356 (0.0742172s)]] +[[cpp_bin_float][6.6778 (0.109847s)][6.84045 (0.0942496s)][9.09759 (0.157162s)]] +[[cpp_dec_float][1.06799 (0.017568s)][1.71962 (0.0236933s)][10.7777 (0.186187s)]] +[[gmp_float][[*1] (0.0164496s)][[*1] (0.0137783s)][[*1] (0.0172751s)]] +[[mpfr_float][3.47654 (0.0571878s)][3.64857 (0.0502709s)][4.56004 (0.0787754s)]] ] [table Operator - [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][4.15367 (0.0409089s)][2.64914 (0.0485095s)][4.23345 (0.103383s)]] -[[cpp_dec_float][2.29639 (0.0226168s)][1.72571 (0.0316003s)][8.13523 (0.198666s)]] -[[gmp_float][1.77498 (0.0174816s)][[*1] (0.0183114s)][[*1] (0.0244205s)]] -[[mpfr_float][[*1] (0.00984886s)][1.02493 (0.0187679s)][1.56348 (0.0381809s)]] +[[cpp_bin_float][5.04597 (0.0688937s)][4.65775 (0.0896788s)][7.55005 (0.196627s)]] +[[cpp_dec_float][1.42357 (0.0194363s)][1.62766 (0.0313385s)][8.16298 (0.21259s)]] +[[gmp_float][[*1] (0.0136532s)][[*1] (0.0192537s)][[*1] (0.0260432s)]] +[[mpfr_float][1.76726 (0.0241287s)][2.05663 (0.0395976s)][2.48295 (0.0646638s)]] ] [table Operator -(int) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][2.32581 (0.0423205s)][2.99906 (0.0550403s)][4.83118 (0.105425s)]] -[[cpp_dec_float][1.90239 (0.0346161s)][2.19948 (0.0403659s)][5.37782 (0.117354s)]] -[[gmp_float][[*1] (0.0181961s)][[*1] (0.0183525s)][[*1] (0.0218218s)]] -[[mpfr_float][2.30468 (0.041936s)][2.36758 (0.043451s)][2.94644 (0.0642965s)]] +[[cpp_bin_float][6.31633 (0.0848243s)][7.07646 (0.084402s)][6.65523 (0.181209s)]] +[[cpp_dec_float][1.6139 (0.0216737s)][2.20945 (0.0263524s)][5.27802 (0.14371s)]] +[[gmp_float][[*1] (0.0134294s)][[*1] (0.0119272s)][[*1] (0.0272281s)]] +[[mpfr_float][5.1551 (0.0692297s)][5.48391 (0.0654074s)][2.6116 (0.0711089s)]] ] [table Operator -(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][3.256 (0.057902s)][4.0869 (0.075218s)][5.533 (0.116255s)]] -[[cpp_dec_float][2.20586 (0.0392273s)][1.80053 (0.0331383s)][4.29622 (0.0902684s)]] -[[gmp_float][[*1] (0.0177832s)][[*1] (0.0184047s)][[*1] (0.0210111s)]] -[[mpfr_float][2.51778 (0.0447741s)][2.70809 (0.0498416s)][3.44152 (0.0723102s)]] +[[cpp_bin_float][9.08373 (0.102878s)][4.54284 (0.0883961s)][7.01771 (0.185162s)]] +[[cpp_dec_float][2.19345 (0.0248419s)][1.47898 (0.0287785s)][5.71248 (0.150724s)]] +[[gmp_float][[*1] (0.0113255s)][[*1] (0.0194584s)][[*1] (0.026385s)]] +[[mpfr_float][5.35926 (0.0606961s)][2.92255 (0.056868s)][3.43277 (0.0905736s)]] ] [table Operator -=(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][1.95294 (0.0470344s)][2.41267 (0.0618181s)][4.10529 (0.124911s)]] -[[cpp_dec_float][1.22584 (0.029523s)][1.42773 (0.0365817s)][3.11172 (0.0946795s)]] -[[gmp_float][[*1] (0.0240839s)][[*1] (0.0256223s)][[*1] (0.0304267s)]] -[[mpfr_float][2.41227 (0.0580968s)][2.55229 (0.0653955s)][2.75369 (0.0837856s)]] +[[cpp_bin_float][8.73347 (0.129938s)][4.58762 (0.101449s)][5.43827 (0.163157s)]] +[[cpp_dec_float][1.67927 (0.0249846s)][1.79526 (0.0396995s)][6.63379 (0.199025s)]] +[[gmp_float][[*1] (0.0148782s)][[*1] (0.0221136s)][[*1] (0.0300017s)]] +[[mpfr_float][3.96488 (0.0589902s)][3.30899 (0.0731736s)][3.51566 (0.105476s)]] ] [table Operator / [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][4.03031 (0.472005s)][7.46615 (1.06338s)][13.3123 (5.3577s)]] -[[cpp_dec_float][4.96983 (0.582036s)][7.16767 (1.02087s)][14.7936 (5.95388s)]] -[[gmp_float][[*1] (0.117114s)][[*1] (0.142427s)][[*1] (0.402463s)]] -[[mpfr_float][1.70874 (0.200117s)][1.79749 (0.256012s)][3.50914 (1.4123s)]] +[[cpp_bin_float][5.40221 (0.549759s)][10.0182 (1.39191s)][12.3684 (5.32129s)]] +[[cpp_dec_float][8.16505 (0.83092s)][12.483 (1.73437s)][52.8644 (22.744s)]] +[[gmp_float][[*1] (0.101766s)][[*1] (0.138938s)][[*1] (0.430233s)]] +[[mpfr_float][1.6699 (0.169939s)][2.16251 (0.300455s)][2.82683 (1.2162s)]] ] [table Operator /(int) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][4.81369 (0.0938506s)][7.27806 (0.162749s)][9.67195 (0.551804s)]] -[[cpp_dec_float][15.0254 (0.292944s)][21.5761 (0.482477s)][51.7469 (2.95226s)]] -[[gmp_float][[*1] (0.0194966s)][[*1] (0.0223617s)][[*1] (0.0570519s)]] -[[mpfr_float][1.38183 (0.0269409s)][1.44879 (0.0323974s)][1.52094 (0.0867728s)]] +[[cpp_bin_float][5.81464 (0.141651s)][12.2991 (0.271491s)][8.20246 (0.643802s)]] +[[cpp_dec_float][16.4865 (0.40163s)][39.0331 (0.861622s)][164 (12.8722s)]] +[[gmp_float][[*1] (0.0243611s)][[*1] (0.0220741s)][[*1] (0.0784889s)]] +[[mpfr_float][2.25501 (0.0549347s)][2.6832 (0.0592293s)][1.60852 (0.126251s)]] ] [table Operator /(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][5.35966 (0.101822s)][8.88121 (0.190303s)][12.708 (0.717622s)]] -[[cpp_dec_float][14.7735 (0.280663s)][22.4928 (0.481967s)][51.6265 (2.91535s)]] -[[gmp_float][[*1] (0.0189978s)][[*1] (0.0214276s)][[*1] (0.0564701s)]] -[[mpfr_float][1.41678 (0.0269157s)][1.6855 (0.0361161s)][1.52543 (0.0861411s)]] +[[cpp_bin_float][10.879 (0.19558s)][10.4845 (0.244599s)][8.82445 (0.621615s)]] +[[cpp_dec_float][22.028 (0.396014s)][42.4784 (0.991001s)][201.351 (14.1836s)]] +[[gmp_float][[*1] (0.0179778s)][[*1] (0.0233296s)][[*1] (0.0704423s)]] +[[mpfr_float][2.89723 (0.0520857s)][2.6935 (0.0628383s)][1.67233 (0.117803s)]] ] [table Operator /=(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][4.84585 (0.125006s)][6.82926 (0.208589s)][10.3294 (0.662579s)]] -[[cpp_dec_float][10.7166 (0.276449s)][16.1194 (0.492342s)][44.3971 (2.84786s)]] -[[gmp_float][[*1] (0.0257964s)][[*1] (0.0305434s)][[*1] (0.0641451s)]] -[[mpfr_float][1.50909 (0.0389292s)][1.49032 (0.0455194s)][1.70466 (0.109346s)]] +[[cpp_bin_float][11.0264 (0.215322s)][7.78235 (0.256093s)][8.31638 (0.638041s)]] +[[cpp_dec_float][20.9412 (0.408938s)][38.8146 (1.27727s)][142.377 (10.9233s)]] +[[gmp_float][[*1] (0.0195279s)][[*1] (0.032907s)][[*1] (0.076721s)]] +[[mpfr_float][2.67894 (0.0523141s)][2.16678 (0.071302s)][1.5964 (0.122477s)]] ] [table Operator construct [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][[*1] (0.00303111s)][[*1] (0.00357506s)][[*1] (0.0113051s)]] -[[cpp_dec_float][1.00185 (0.00303671s)][1.15155 (0.00411687s)][1.26796 (0.0143345s)]] -[[gmp_float][16.5683 (0.0502204s)][14.0851 (0.0503551s)][9.67268 (0.109351s)]] -[[mpfr_float][28.144 (0.0853075s)][24.8244 (0.0887486s)][10.3544 (0.117058s)]] +[[cpp_bin_float][[*1] (0.0030982s)][1.37355 (0.00608929s)][[*1] (0.0152335s)]] +[[cpp_dec_float][1.23911 (0.00383901s)][[*1] (0.00443324s)][1.6806 (0.0256013s)]] +[[gmp_float][7.50258 (0.0232445s)][5.47554 (0.0242744s)][5.81062 (0.0885159s)]] +[[mpfr_float][24.9598 (0.0773304s)][19.5526 (0.0866815s)][5.00378 (0.0762248s)]] ] [table Operator construct(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][[*1] (0.00524853s)][[*1] (0.00566609s)][[*1] (0.0278919s)]] -[[cpp_dec_float][2.97185 (0.0155978s)][1.49757 (0.00848537s)][1.03141 (0.0287679s)]] -[[gmp_float][10.4626 (0.0549133s)][9.63997 (0.054621s)][3.98862 (0.11125s)]] -[[mpfr_float][20.7883 (0.109108s)][20.2715 (0.11486s)][5.17847 (0.144437s)]] +[[cpp_bin_float][2.08541 (0.0175206s)][3.12821 (0.0267453s)][1.32687 (0.0570308s)]] +[[cpp_dec_float][[*1] (0.00840151s)][[*1] (0.00854971s)][[*1] (0.0429815s)]] +[[gmp_float][3.08163 (0.0258903s)][2.44895 (0.0209379s)][2.12806 (0.0914671s)]] +[[mpfr_float][10.6814 (0.08974s)][8.42482 (0.0720298s)][1.8282 (0.0785786s)]] ] [table Operator construct(unsigned) [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][[*1] (0.00519769s)][[*1] (0.0054342s)][[*1] (0.0275892s)]] -[[cpp_dec_float][1.67001 (0.0086802s)][1.5305 (0.00831702s)][1.05641 (0.0291456s)]] -[[gmp_float][10.6639 (0.0554274s)][10.2395 (0.0556435s)][4.03533 (0.111332s)]] -[[mpfr_float][25.0325 (0.130111s)][20.8688 (0.113405s)][6.29649 (0.173715s)]] +[[cpp_bin_float][1.04974 (0.00808983s)][1.38823 (0.0120486s)][1.16321 (0.0530205s)]] +[[cpp_dec_float][[*1] (0.00770653s)][[*1] (0.00867913s)][[*1] (0.0455813s)]] +[[gmp_float][3.88496 (0.0299395s)][2.90503 (0.0252132s)][1.82072 (0.0829907s)]] +[[mpfr_float][13.3088 (0.102564s)][8.41333 (0.0730204s)][1.78408 (0.0813206s)]] ] [table Operator str [[Backend][50 Bits][100 Bits][500 Bits]] -[[cpp_bin_float][3.98982 (0.00249639s)][5.55423 (0.00505412s)][10.5272 (0.0320983s)]] -[[cpp_dec_float][4.83686 (0.00302637s)][4.39789 (0.0040019s)][3.38032 (0.0103068s)]] -[[gmp_float][[*1] (0.000625689s)][[*1] (0.000909959s)][[*1] (0.00304907s)]] -[[mpfr_float][1.95049 (0.0012204s)][1.61297 (0.00146774s)][1.52133 (0.00463864s)]] +[[cpp_bin_float][6.09659 (0.00301165s)][4.71882 (0.0051705s)][12.4899 (0.043165s)]] +[[cpp_dec_float][2.94087 (0.00145276s)][1.64843 (0.00180621s)][3.16004 (0.0109211s)]] +[[gmp_float][[*1] (0.000493989s)][[*1] (0.00109572s)][[*1] (0.00345598s)]] +[[mpfr_float][4.60349 (0.00227407s)][1.21213 (0.00132816s)][1.41569 (0.0048926s)]] ] [endsect] [section:integer_performance Integer Type Perfomance] [table Operator % -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][2.61392 (0.0864932s)][2.33601 (0.180207s)][3.10832 (0.265481s)][4.4334 (0.437939s)][6.58635 (1.84456s)][8.03034 (3.52132s)]] -[[cpp_int(fixed)][[*1] (0.0330895s)][1.41347 (0.10904s)][2.16247 (0.184697s)][3.54449 (0.350131s)]] -[[gmp_int][1.92882 (0.0638235s)][[*1] (0.0771433s)][[*1] (0.0854098s)][[*1] (0.0987817s)][[*1] (0.280057s)][[*1] (0.438501s)]] -[[tommath_int][29.1866 (0.96577s)][15.4935 (1.19522s)][17.3239 (1.47963s)][21.5351 (2.12727s)][30.686 (8.59385s)][46.9089 (20.5696s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][1.51155 (0.0481508s)][1.60666 (0.0825917s)][1.75956 (0.127209s)][1.87154 (0.171986s)][2.58143 (0.368469s)][1.65419 (0.398213s)][[*1] (0.512768s)][1.42429 (1.03083s)][[*1] (1.96988s)]] +[[cpp_int(fixed)][[*1] (0.0318553s)][1.2913 (0.0663805s)][1.33672 (0.0966394s)][1.97924 (0.181883s)]] +[[gmp_int][1.4659 (0.0466966s)][[*1] (0.0514059s)][[*1] (0.0722958s)][[*1] (0.0918952s)][[*1] (0.142738s)][[*1] (0.24073s)][1.17701 (0.603534s)][[*1] (0.723753s)]] +[[tommath_int][27.46 (0.874748s)][20.1749 (1.03711s)][17.9774 (1.29969s)][19.0867 (1.75398s)][23.3789 (3.33706s)][26.6546 (6.41658s)][33.4553 (17.1548s)][70.788 (51.233s)]] ] [table Operator %(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][3.96358 (0.0411513s)][5.50428 (0.0824453s)][9.42287 (0.158338s)][15.8329 (0.324245s)][30.9984 (1.64821s)][45.0524 (3.18758s)]] -[[cpp_int(fixed)][1.94108 (0.020153s)][4.67128 (0.0699684s)][7.70602 (0.129488s)][13.4197 (0.274825s)]] -[[gmp_int][[*1] (0.0103823s)][[*1] (0.0149784s)][[*1] (0.0168035s)][[*1] (0.0204792s)][[*1] (0.0531708s)][[*1] (0.0707528s)]] -[[tommath_int][63.4583 (0.658846s)][60.8321 (0.911168s)][71.7106 (1.20499s)][94.0003 (1.92505s)][158.133 (8.40805s)][281.804 (19.9384s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][[*1] (0.00790481s)][1.45288 (0.0215141s)][2.71488 (0.065874s)][4.05695 (0.1044s)][6.59285 (0.288068s)][5.28362 (0.301827s)][3.58045 (0.429244s)][6.18417 (0.851447s)][[*1] (1.57951s)]] +[[cpp_int(fixed)][2.18748 (0.0172916s)][1.67119 (0.0247468s)][2.83861 (0.0688759s)][4.3186 (0.111133s)]] +[[gmp_int][1.50165 (0.0118703s)][[*1] (0.0148079s)][[*1] (0.024264s)][[*1] (0.0257336s)][[*1] (0.0436939s)][[*1] (0.0571251s)][[*1] (0.119886s)][[*1] (0.137682s)]] +[[tommath_int][68.9623 (0.545134s)][54.52 (0.807325s)][38.3573 (0.930702s)][53.0833 (1.36603s)][59.6958 (2.60834s)][103.597 (5.91797s)][133.648 (16.0225s)][392.812 (54.083s)]] ] [table Operator & -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][5.80585 (0.0183659s)][2.61424 (0.0152432s)][1.92953 (0.0150612s)][2.06584 (0.0169715s)][2.76807 (0.0908961s)][2.71967 (0.150675s)]] -[[cpp_int(fixed)][[*1] (0.00316334s)][2.07888 (0.0121216s)][1.66677 (0.0130102s)][2.13 (0.0174986s)]] -[[gmp_int][1.92975 (0.00610446s)][[*1] (0.00583083s)][[*1] (0.00780563s)][[*1] (0.00821528s)][[*1] (0.0328374s)][[*1] (0.055402s)]] -[[tommath_int][12.8579 (0.0406739s)][7.3359 (0.0427744s)][5.45721 (0.0425969s)][5.59908 (0.0459981s)][2.0162 (0.0662069s)][1.89937 (0.105229s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.82137 (0.0101034s)][3.08842 (0.0128886s)][3.46566 (0.018172s)][2.55025 (0.0204051s)][2.97241 (0.0461406s)][[*1] (0.0366949s)][[*1] (0.0440714s)][[*1] (0.0811524s)][[*1] (0.146531s)]] +[[cpp_int(fixed)][[*1] (0.00358104s)][1.5374 (0.00641591s)][1.70378 (0.0089337s)][2.40825 (0.019269s)]] +[[gmp_int][1.10071 (0.00394167s)][[*1] (0.00417321s)][[*1] (0.00524347s)][[*1] (0.00800121s)][[*1] (0.015523s)][1.04806 (0.0384586s)][2.0133 (0.0887291s)][1.38531 (0.112421s)]] +[[tommath_int][2.18066 (0.00780901s)][2.22528 (0.00928657s)][2.15567 (0.0113032s)][3.05906 (0.0244762s)][2.34741 (0.0364387s)][1.50551 (0.0552444s)][2.29355 (0.10108s)][3.0313 (0.245997s)]] ] [table Operator &(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][6.35169 (0.022195s)][1.23274 (0.0225044s)][1.14828 (0.022403s)][[*1] (0.0249629s)][3.1254 (0.114785s)][5.12161 (0.162092s)]] -[[cpp_int(fixed)][[*1] (0.00349434s)][[*1] (0.0182556s)][[*1] (0.0195101s)][1.2174 (0.0303898s)]] -[[gmp_int][8.90744 (0.0311256s)][1.66139 (0.0303296s)][1.65728 (0.0323335s)][1.22673 (0.0306228s)][[*1] (0.0367266s)][[*1] (0.0316487s)]] -[[tommath_int][41.7082 (0.145742s)][8.3058 (0.151627s)][7.92746 (0.154665s)][6.17442 (0.154131s)][5.61372 (0.206173s)][7.94642 (0.251494s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][3.24695 (0.0124861s)][1.81002 (0.0114113s)][2.11984 (0.0179186s)][2.56949 (0.0262296s)][3.62157 (0.063826s)][5.04381 (0.0612567s)][3.95427 (0.0593859s)][4.84754 (0.102968s)][[*1] (0.168385s)]] +[[cpp_int(fixed)][[*1] (0.0038455s)][[*1] (0.00630453s)][[*1] (0.00845281s)][2.20848 (0.0225444s)]] +[[gmp_int][3.87448 (0.0148993s)][1.50343 (0.00947844s)][1.59793 (0.013507s)][[*1] (0.0102081s)][[*1] (0.0176239s)][[*1] (0.0121449s)][[*1] (0.0150182s)][[*1] (0.0212413s)]] +[[tommath_int][25.1094 (0.0965583s)][15.7147 (0.0990734s)][9.65097 (0.0815778s)][8.5208 (0.0869813s)][5.74798 (0.101302s)][10.598 (0.128712s)][12.0534 (0.18102s)][13.0183 (0.276527s)]] ] [table Operator * -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][31.2488 (0.0300171s)][1.30604 (0.0236033s)][1.54672 (0.0566226s)][1.99827 (0.200935s)][1.86646 (3.97724s)][3.28041 (15.8254s)]] -[[cpp_int(fixed)][[*1] (0.000960586s)][1.05101 (0.0189943s)][1.40113 (0.0512925s)][1.32791 (0.133528s)]] -[[gmp_int][6.99778 (0.00672197s)][[*1] (0.0180725s)][[*1] (0.0366081s)][[*1] (0.100555s)][[*1] (2.13089s)][[*1] (4.82421s)]] -[[tommath_int][25.6654 (0.0246539s)][1.93625 (0.0349929s)][1.53585 (0.0562246s)][1.40261 (0.141039s)][1.24172 (2.64598s)][1.99971 (9.64701s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][12.4201 (0.0145016s)][1.838 (0.0246772s)][2.10406 (0.0631704s)][2.22846 (0.224062s)][2.53789 (0.918685s)][1.18016 (1.31825s)][[*1] (2.65154s)][[*1] (7.83314s)][[*1] (26.1836s)]] +[[cpp_int(fixed)][[*1] (0.00116759s)][1.76789 (0.0237359s)][1.58515 (0.047591s)][1.52628 (0.153461s)]] +[[gmp_int][4.80091 (0.00560549s)][[*1] (0.0134261s)][[*1] (0.0300231s)][[*1] (0.100546s)][[*1] (0.361988s)][[*1] (1.11701s)][2.08347 (5.52441s)][1.44767 (11.3398s)]] +[[tommath_int][16.9604 (0.0198027s)][2.43157 (0.0326465s)][2.82213 (0.0847288s)][1.67653 (0.168568s)][1.27293 (0.460786s)][1.41678 (1.58255s)][2.69181 (7.13744s)][3.30421 (25.8824s)]] ] [table Operator *(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][12.9191 (0.00819119s)][1.8286 (0.00975751s)][2.09136 (0.0145601s)][2.10205 (0.0199823s)][1.62628 (0.0692257s)][2.08177 (0.122618s)]] -[[cpp_int(fixed)][[*1] (0.000634036s)][[*1] (0.00533605s)][1.25356 (0.0087273s)][1.82259 (0.0173257s)]] -[[gmp_int][9.40263 (0.00596161s)][1.07614 (0.00574233s)][[*1] (0.00696202s)][[*1] (0.00950608s)][[*1] (0.0425668s)][[*1] (0.0589007s)]] -[[tommath_int][186.507 (0.118252s)][23.4915 (0.125352s)][18.6669 (0.129959s)][17.1434 (0.162966s)][6.11737 (0.260397s)][6.03792 (0.355638s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][10.9781 (0.0072726s)][1.52901 (0.00991594s)][3.35266 (0.0194072s)][2.30215 (0.0214459s)][1.95214 (0.047049s)][[*1] (0.0426049s)][[*1] (0.0576663s)][[*1] (0.0955853s)][[*1] (0.167493s)]] +[[cpp_int(fixed)][[*1] (0.000662467s)][[*1] (0.00648519s)][1.52643 (0.0088359s)][2.26708 (0.0211192s)]] +[[gmp_int][7.14641 (0.00473426s)][1.74133 (0.0112929s)][[*1] (0.00578859s)][[*1] (0.00931559s)][[*1] (0.0241013s)][1.12075 (0.0477494s)][1.96831 (0.113505s)][1.44107 (0.137745s)]] +[[tommath_int][156.154 (0.103447s)][14.5292 (0.0942242s)][16.82 (0.0973642s)][11.9029 (0.110883s)][5.61803 (0.135402s)][4.61241 (0.196512s)][5.30415 (0.30587s)][5.73424 (0.548109s)]] ] [table Operator *(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][9.1035 (0.00634192s)][1.61555 (0.00682732s)][1.38506 (0.00820436s)][1.28658 (0.012381s)][1.28916 (0.0410419s)][1.44948 (0.0850577s)]] -[[cpp_int(fixed)][[*1] (0.000696646s)][[*1] (0.00422601s)][[*1] (0.00592347s)][1.35631 (0.013052s)]] -[[gmp_int][8.26494 (0.00575774s)][1.31029 (0.00553729s)][1.19721 (0.00709163s)][[*1] (0.00962312s)][[*1] (0.0318361s)][[*1] (0.0586816s)]] -[[tommath_int][381.793 (0.265975s)][69.3609 (0.29312s)][50.6122 (0.2998s)][32.8061 (0.315697s)][13.3579 (0.425264s)][10.2399 (0.600894s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][8.98335 (0.00669928s)][1.79861 (0.00820918s)][1.86924 (0.0119122s)][1.71773 (0.0175683s)][2.57826 (0.0539343s)][1.63339 (0.052584s)][[*1] (0.0432066s)][[*1] (0.0813634s)][[*1] (0.159452s)]] +[[cpp_int(fixed)][[*1] (0.000745744s)][1.07211 (0.00489332s)][1.19888 (0.00764018s)][1.53618 (0.0157115s)]] +[[gmp_int][4.97741 (0.00371188s)][[*1] (0.00456418s)][[*1] (0.00637276s)][[*1] (0.0102277s)][[*1] (0.0209189s)][[*1] (0.0321931s)][2.05197 (0.0886586s)][1.59261 (0.12958s)]] +[[tommath_int][143.938 (0.107341s)][24.0751 (0.109883s)][16.9325 (0.107907s)][11.5473 (0.118102s)][8.08283 (0.169084s)][6.84808 (0.220461s)][8.37134 (0.361697s)][8.20104 (0.667264s)]] ] [table Operator *=(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][16.5844 (0.0124159s)][1.25396 (0.0117921s)][1.25877 (0.0140258s)][1.25408 (0.017396s)][3.09966 (0.135787s)][2.63342 (0.222949s)]] -[[cpp_int(fixed)][[*1] (0.000748647s)][[*1] (0.00940387s)][[*1] (0.0111425s)][[*1] (0.0138715s)]] -[[gmp_int][13.2789 (0.00994121s)][1.10899 (0.0104288s)][1.05822 (0.0117912s)][1.01821 (0.0141241s)][[*1] (0.043807s)][[*1] (0.0846612s)]] -[[tommath_int][382.992 (0.286726s)][30.337 (0.285285s)][29.1674 (0.324997s)][31.5038 (0.437006s)][10.9188 (0.478321s)][15.7365 (1.33227s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][15.7803 (0.0131299s)][1.67116 (0.00790233s)][1.66661 (0.0119079s)][1.51408 (0.0203561s)][1.23815 (0.0373067s)][1.15288 (0.0527845s)][[*1] (0.0424701s)][[*1] (0.0946934s)][[*1] (0.177219s)]] +[[cpp_int(fixed)][[*1] (0.000832044s)][[*1] (0.00472864s)][[*1] (0.00714494s)][[*1] (0.0134446s)]] +[[gmp_int][6.73473 (0.00560359s)][1.81651 (0.00858963s)][1.36813 (0.00977523s)][1.00404 (0.0134989s)][[*1] (0.0301309s)][[*1] (0.0457849s)][2.56449 (0.108914s)][2.20384 (0.208689s)]] +[[tommath_int][115.266 (0.0959064s)][24.7701 (0.117129s)][15.9941 (0.114277s)][11.3798 (0.152996s)][5.69861 (0.171704s)][5.47882 (0.250847s)][10.6875 (0.453899s)][7.29439 (0.690731s)]] ] [table Operator + -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][15.9318 (0.013332s)][2.10124 (0.0143298s)][2.20691 (0.0167551s)][2.35301 (0.0233641s)][1.33275 (0.0544877s)][2.16492 (0.108428s)]] -[[cpp_int(fixed)][[*1] (0.000836815s)][[*1] (0.00681969s)][1.41379 (0.0107337s)][2.07286 (0.0205823s)]] -[[gmp_int][7.69219 (0.00643694s)][1.1551 (0.00787741s)][[*1] (0.00759213s)][[*1] (0.00992945s)][1.23736 (0.050588s)][[*1] (0.0500843s)]] -[[tommath_int][8.11368 (0.00678965s)][1.17124 (0.00798749s)][1.38788 (0.0105369s)][1.62714 (0.0161566s)][[*1] (0.0408838s)][1.74073 (0.0871834s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][9.80738 (0.0086037s)][2.34204 (0.0160922s)][1.00627 (0.0131305s)][1.67865 (0.0163002s)][1.88916 (0.033949s)][1.11861 (0.0336398s)][[*1] (0.0412289s)][[*1] (0.083134s)][[*1] (0.190174s)]] +[[cpp_int(fixed)][[*1] (0.000877268s)][[*1] (0.00687102s)][1.82016 (0.0237507s)][1.90391 (0.0184876s)]] +[[gmp_int][5.87168 (0.00515104s)][1.45191 (0.00997612s)][[*1] (0.0130487s)][[*1] (0.00971031s)][[*1] (0.0179704s)][[*1] (0.0300729s)][1.96754 (0.0811195s)][1.62045 (0.134715s)]] +[[tommath_int][13.6707 (0.0119929s)][1.03266 (0.00709542s)][1.02249 (0.0133422s)][1.4749 (0.0143218s)][1.17551 (0.0211244s)][1.08462 (0.0326177s)][1.47125 (0.060658s)][2.75813 (0.229295s)]] ] [table Operator +(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][12.8717 (0.00838402s)][2.30046 (0.00932673s)][2.45998 (0.00974958s)][1.81876 (0.0103926s)][[*1] (0.0217559s)][1.1339 (0.0382453s)]] -[[cpp_int(fixed)][[*1] (0.000651354s)][2.26453 (0.00918106s)][2.24994 (0.00891717s)][2.34592 (0.0134049s)]] -[[gmp_int][5.64809 (0.00367891s)][[*1] (0.00405429s)][[*1] (0.00396328s)][[*1] (0.00571412s)][1.34135 (0.0291824s)][[*1] (0.033729s)]] -[[tommath_int][163.863 (0.106733s)][27.8217 (0.112797s)][28.2173 (0.111833s)][24.3745 (0.139279s)][6.8073 (0.148099s)][5.34674 (0.18034s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][7.65014 (0.00534018s)][1.8992 (0.0063589s)][1.56778 (0.00666443s)][1.29719 (0.00836612s)][1.73231 (0.0204874s)][1.26754 (0.024805s)][[*1] (0.0198385s)][[*1] (0.0338486s)][[*1] (0.0760202s)]] +[[cpp_int(fixed)][[*1] (0.000698051s)][1.72665 (0.00578118s)][1.57164 (0.00668085s)][1.90796 (0.0123052s)]] +[[gmp_int][4.97679 (0.00347405s)][[*1] (0.0033482s)][[*1] (0.00425087s)][[*1] (0.0064494s)][[*1] (0.0118266s)][[*1] (0.0195694s)][3.53343 (0.0700979s)][2.28146 (0.0772241s)]] +[[tommath_int][127.407 (0.0889366s)][24.8716 (0.0832749s)][20.4864 (0.0870848s)][12.5462 (0.0809152s)][7.07209 (0.083639s)][4.79434 (0.0938225s)][5.93694 (0.11778s)][5.20775 (0.176275s)]] ] [table Operator +(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][10.1497 (0.00642975s)][1.57663 (0.00645253s)][1.42461 (0.00641131s)][1.47836 (0.00821865s)][1.25785 (0.0236995s)][1.1786 (0.0416466s)]] -[[cpp_int(fixed)][[*1] (0.00063349s)][2.25723 (0.00923798s)][2.14091 (0.00963492s)][2.49596 (0.0138758s)]] -[[gmp_int][6.32948 (0.00400966s)][[*1] (0.00409262s)][[*1] (0.00450039s)][[*1] (0.0055593s)][[*1] (0.0188413s)][[*1] (0.0353357s)]] -[[tommath_int][401.541 (0.254372s)][67.4121 (0.275892s)][62.2763 (0.280267s)][53.4937 (0.297388s)][16.2934 (0.306988s)][10.8628 (0.383846s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][9.92952 (0.00893714s)][2.68575 (0.0136811s)][1.73024 (0.0102989s)][1.43961 (0.0115471s)][1.46556 (0.0237404s)][1.68706 (0.0294774s)][[*1] (0.0253811s)][[*1] (0.0350422s)][[*1] (0.0761856s)]] +[[cpp_int(fixed)][[*1] (0.000900057s)][1.27396 (0.00648945s)][1.38787 (0.008261s)][1.56798 (0.0125768s)]] +[[gmp_int][5.22669 (0.00470432s)][[*1] (0.00509394s)][[*1] (0.00595229s)][[*1] (0.00802101s)][[*1] (0.0161988s)][[*1] (0.0174726s)][1.83602 (0.0466003s)][1.90731 (0.0668364s)]] +[[tommath_int][100.859 (0.0907784s)][19.2654 (0.0981367s)][14.4537 (0.0860324s)][10.0594 (0.0806864s)][5.71755 (0.0926177s)][6.23483 (0.108939s)][4.63528 (0.117648s)][5.01743 (0.175822s)]] ] [table Operator +=(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][20.6678 (0.0119696s)][1.49971 (0.0116516s)][1.42955 (0.0113839s)][1.45605 (0.0125775s)][2.06272 (0.0473177s)][1.40574 (0.0700083s)]] -[[cpp_int(fixed)][[*1] (0.000579142s)][[*1] (0.00776928s)][[*1] (0.00796329s)][[*1] (0.00863808s)]] -[[gmp_int][13.7619 (0.00797012s)][1.0168 (0.00789978s)][1.01968 (0.00812s)][1.05837 (0.00914227s)][[*1] (0.0229395s)][[*1] (0.0498017s)]] -[[tommath_int][445.395 (0.257947s)][35.5299 (0.276042s)][34.9701 (0.278477s)][64.4794 (0.556978s)][14.0169 (0.32154s)][17.3947 (0.866288s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][12.2366 (0.0106404s)][1.48157 (0.00996803s)][1.58862 (0.0108279s)][2.06658 (0.0131949s)][1.1631 (0.0186902s)][[*1] (0.0201879s)][[*1] (0.0218483s)][[*1] (0.0394761s)][[*1] (0.0783171s)]] +[[cpp_int(fixed)][[*1] (0.000869555s)][1.34779 (0.00906799s)][[*1] (0.00681593s)][[*1] (0.00638493s)]] +[[gmp_int][11.3522 (0.00987134s)][[*1] (0.00672804s)][1.27495 (0.00868995s)][2.42237 (0.0154667s)][[*1] (0.0160693s)][1.09672 (0.0221405s)][2.61199 (0.0570676s)][2.13093 (0.0841208s)]] +[[tommath_int][88.4252 (0.0768906s)][14.139 (0.0951277s)][11.6282 (0.0792569s)][14.5551 (0.0929332s)][6.86867 (0.110375s)][5.67471 (0.11456s)][7.29502 (0.159384s)][5.733 (0.226317s)]] ] [table Operator - -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][12.3892 (0.013267s)][1.54334 (0.0143848s)][1.75333 (0.0168786s)][2.27597 (0.0248697s)][1.33198 (0.0615975s)][2.25424 (0.124313s)]] -[[cpp_int(fixed)][[*1] (0.00107085s)][[*1] (0.00932056s)][1.17586 (0.0113195s)][1.94907 (0.0212976s)]] -[[gmp_int][8.69616 (0.00931231s)][1.01107 (0.00942373s)][[*1] (0.00962656s)][[*1] (0.0109271s)][[*1] (0.0462452s)][[*1] (0.0551462s)]] -[[tommath_int][11.546 (0.0123641s)][1.60814 (0.0149887s)][1.63067 (0.0156977s)][1.69241 (0.018493s)][1.13529 (0.0525017s)][1.80318 (0.0994384s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][4.45457 (0.00859678s)][1.28478 (0.013219s)][1.27873 (0.0117779s)][1.43649 (0.0151597s)][2.82516 (0.0507822s)][1.17197 (0.037733s)][[*1] (0.0463464s)][[*1] (0.0813138s)][[*1] (0.191562s)]] +[[cpp_int(fixed)][[*1] (0.00192988s)][[*1] (0.010289s)][[*1] (0.00921062s)][1.5372 (0.0162226s)]] +[[gmp_int][3.4436 (0.00664573s)][1.25045 (0.0128659s)][1.10953 (0.0102195s)][[*1] (0.0105533s)][[*1] (0.017975s)][[*1] (0.0321962s)][2.54862 (0.11812s)][1.83623 (0.14931s)]] +[[tommath_int][9.3224 (0.0179911s)][1.08796 (0.011194s)][1.93265 (0.017801s)][1.82306 (0.0192393s)][1.55663 (0.0279804s)][1.6544 (0.0532653s)][1.90928 (0.0884881s)][4.41259 (0.358805s)]] ] [table Operator -(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][7.3164 (0.00718041s)][1.97509 (0.00764735s)][1.99047 (0.00793413s)][1.70452 (0.00889396s)][[*1] (0.0198067s)][1.04883 (0.0351681s)]] -[[cpp_int(fixed)][[*1] (0.000981414s)][2.01105 (0.00778659s)][1.99052 (0.0079343s)][2.35869 (0.0123073s)]] -[[gmp_int][3.83069 (0.00375949s)][[*1] (0.00387191s)][[*1] (0.00398606s)][[*1] (0.00521786s)][1.56189 (0.0309358s)][[*1] (0.0335308s)]] -[[tommath_int][115.787 (0.113635s)][29.9688 (0.116037s)][28.9647 (0.115455s)][27.5319 (0.143658s)][7.75868 (0.153674s)][5.42319 (0.181844s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][3.07164 (0.00347144s)][1.38957 (0.00531251s)][1.29053 (0.00548206s)][1.35239 (0.00759591s)][1.50007 (0.0176467s)][1.44798 (0.032706s)][[*1] (0.0209158s)][[*1] (0.0402632s)][[*1] (0.0674681s)]] +[[cpp_int(fixed)][[*1] (0.00113016s)][1.26281 (0.00482789s)][1.25074 (0.00531307s)][3.3923 (0.0190533s)]] +[[gmp_int][3.22069 (0.00363988s)][[*1] (0.00382312s)][[*1] (0.00424793s)][[*1] (0.00561665s)][[*1] (0.0117639s)][[*1] (0.0225873s)][2.75829 (0.0576919s)][2.03214 (0.0818204s)]] +[[tommath_int][81.1433 (0.0917047s)][21.4543 (0.0820224s)][19.3098 (0.0820267s)][16.2994 (0.0915478s)][7.23608 (0.0851246s)][4.48441 (0.101291s)][5.51882 (0.115431s)][4.44737 (0.179066s)]] ] [table Operator -(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][7.7478 (0.00750847s)][1.95546 (0.00771183s)][1.80328 (0.00832029s)][1.56695 (0.00851748s)][1.11271 (0.0205857s)][1.19378 (0.0402243s)]] -[[cpp_int(fixed)][[*1] (0.00096911s)][2.13061 (0.00840261s)][1.91132 (0.00881879s)][2.37174 (0.0128921s)]] -[[gmp_int][4.80618 (0.00465772s)][[*1] (0.00394375s)][[*1] (0.00461397s)][[*1] (0.00543571s)][[*1] (0.0185005s)][[*1] (0.0336949s)]] -[[tommath_int][267.937 (0.259661s)][71.5531 (0.282188s)][60.4257 (0.278803s)][53.979 (0.293414s)][17.7584 (0.32854s)][10.8218 (0.364638s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][7.02787 (0.00807189s)][1.85949 (0.00922027s)][1.40179 (0.00830959s)][1.22546 (0.00988039s)][1.27526 (0.0235442s)][1.00875 (0.0222548s)][[*1] (0.0242017s)][[*1] (0.0317445s)][[*1] (0.0783054s)]] +[[cpp_int(fixed)][[*1] (0.00114855s)][1.03947 (0.00515424s)][1.22566 (0.00726552s)][1.56568 (0.0126235s)]] +[[gmp_int][7.54669 (0.00866778s)][[*1] (0.0049585s)][[*1] (0.00592785s)][[*1] (0.00806262s)][[*1] (0.0184622s)][[*1] (0.0220616s)][1.79985 (0.0435595s)][2.08427 (0.0661641s)]] +[[tommath_int][72.1332 (0.0828488s)][18.985 (0.0941371s)][13.9301 (0.0825755s)][9.93889 (0.0801335s)][5.42256 (0.100113s)][4.58437 (0.101139s)][4.91664 (0.118991s)][5.5407 (0.175887s)]] ] [table Operator -=(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][16.3509 (0.0131613s)][1.83102 (0.0134809s)][1.68407 (0.0129795s)][1.64352 (0.0140383s)][2.37302 (0.051436s)][1.47693 (0.0544701s)]] -[[cpp_int(fixed)][[*1] (0.000804926s)][[*1] (0.00736247s)][[*1] (0.00770724s)][[*1] (0.0085416s)]] -[[gmp_int][10.0648 (0.0081014s)][1.09612 (0.00807013s)][1.09758 (0.00845934s)][1.10598 (0.00944683s)][[*1] (0.0216753s)][[*1] (0.0368808s)]] -[[tommath_int][319.944 (0.257531s)][37.1214 (0.273305s)][38.1176 (0.293781s)][66.8689 (0.571167s)][15.141 (0.328186s)][22.6158 (0.834089s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][10.8565 (0.0103583s)][2.00541 (0.0102937s)][1.73348 (0.0103591s)][2.53718 (0.0189898s)][1.21308 (0.0265754s)][1.10592 (0.0277295s)][[*1] (0.0249248s)][[*1] (0.0377524s)][[*1] (0.070851s)]] +[[cpp_int(fixed)][[*1] (0.000954108s)][[*1] (0.00513296s)][[*1] (0.00597589s)][[*1] (0.00748462s)]] +[[gmp_int][6.6602 (0.00635455s)][1.61345 (0.00828179s)][1.41745 (0.00847054s)][1.41728 (0.0106078s)][[*1] (0.0219074s)][[*1] (0.0250737s)][2.12439 (0.05295s)][2.51074 (0.0947863s)]] +[[tommath_int][88.858 (0.0847801s)][18.6448 (0.0957029s)][13.7283 (0.0820388s)][13.4423 (0.100611s)][4.83335 (0.105886s)][4.6829 (0.117418s)][7.59449 (0.189292s)][5.86189 (0.2213s)]] ] [table Operator / -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][3.7053 (0.120457s)][2.31282 (0.256283s)][2.98148 (0.342198s)][4.15769 (0.552845s)][5.66579 (1.93033s)][9.54675 (3.77425s)]] -[[cpp_int(fixed)][[*1] (0.0325094s)][1.01212 (0.112153s)][1.63455 (0.187605s)][2.67551 (0.355761s)]] -[[gmp_int][2.62651 (0.0853863s)][[*1] (0.11081s)][[*1] (0.114775s)][[*1] (0.132969s)][[*1] (0.340699s)][[*1] (0.395344s)]] -[[tommath_int][30.2016 (0.981836s)][10.7299 (1.18898s)][12.8954 (1.48007s)][16.5608 (2.20208s)][25.7963 (8.78879s)][53.4042 (21.113s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][3.20876 (0.0878919s)][3.17469 (0.181536s)][3.14517 (0.250544s)][4.14655 (0.365546s)][4.70812 (0.702366s)][4.81923 (1.00586s)][2.28619 (1.18106s)][3.54663 (2.26453s)][[*1] (4.52755s)]] +[[cpp_int(fixed)][[*1] (0.0273912s)][1.72404 (0.098585s)][2.12584 (0.169344s)][3.71442 (0.327451s)]] +[[gmp_int][1.70383 (0.04667s)][[*1] (0.0571824s)][[*1] (0.0796599s)][[*1] (0.0881567s)][[*1] (0.149182s)][[*1] (0.208719s)][[*1] (0.516606s)][[*1] (0.638503s)]] +[[tommath_int][40.8044 (1.11768s)][17.2975 (0.989116s)][17.4097 (1.38686s)][20.9668 (1.84837s)][20.6415 (3.07934s)][31.5839 (6.59216s)][33.0087 (17.0525s)][81.0894 (51.7759s)]] ] [table Operator /(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][5.43796 (0.0610196s)][8.7229 (0.114124s)][9.80894 (0.188141s)][10.9464 (0.347422s)][8.94304 (1.5446s)][11.4148 (3.04214s)]] -[[cpp_int(fixed)][1.66282 (0.0186586s)][5.28422 (0.0691348s)][6.70321 (0.128571s)][8.47034 (0.268837s)]] -[[gmp_int][[*1] (0.0112211s)][[*1] (0.0130833s)][[*1] (0.0191805s)][[*1] (0.0317386s)][[*1] (0.172715s)][[*1] (0.266509s)]] -[[tommath_int][65.6123 (0.736239s)][74.4427 (0.973953s)][64.7215 (1.24139s)][60.0008 (1.90434s)][47.3896 (8.18491s)][73.3451 (19.5472s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][4.50037 (0.0520677s)][6.30243 (0.108097s)][8.34437 (0.193637s)][7.02879 (0.296939s)][6.47793 (0.630264s)][5.49102 (0.859876s)][2.64044 (1.08346s)][3.92627 (2.33772s)][[*1] (4.22641s)]] +[[cpp_int(fixed)][1.27227 (0.0147198s)][4.34067 (0.0744498s)][6.08699 (0.141253s)][6.56549 (0.277366s)]] +[[gmp_int][[*1] (0.0115696s)][[*1] (0.0171517s)][[*1] (0.0232057s)][[*1] (0.0422461s)][[*1] (0.0972941s)][[*1] (0.156597s)][[*1] (0.410334s)][[*1] (0.595404s)]] +[[tommath_int][60.4712 (0.69963s)][44.8464 (0.769191s)][40.4334 (0.938285s)][35.0752 (1.48179s)][26.8178 (2.60921s)][37.2616 (5.83504s)][37.7146 (15.4756s)][84.1326 (50.0929s)]] ] [table Operator /(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][5.69361 (0.0679437s)][8.63227 (0.118515s)][10.4819 (0.19782s)][11.652 (0.36737s)][12.6501 (1.71211s)][12.4658 (3.49901s)]] -[[cpp_int(fixed)][1.71873 (0.0205101s)][5.54771 (0.0761662s)][7.87722 (0.148664s)][9.73978 (0.307082s)]] -[[gmp_int][[*1] (0.0119333s)][[*1] (0.0137293s)][[*1] (0.0188726s)][[*1] (0.0315286s)][[*1] (0.135343s)][[*1] (0.28069s)]] -[[tommath_int][70.3948 (0.840045s)][73.9467 (1.01524s)][78.9032 (1.48911s)][74.5804 (2.35142s)][69.6519 (9.42692s)][104.536 (29.3423s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][6.09203 (0.0582351s)][6.42997 (0.0982056s)][6.2137 (0.151642s)][6.62408 (0.281298s)][9.30105 (0.706562s)][6.64685 (0.832241s)][3.66307 (1.0584s)][4.10257 (2.14867s)][[*1] (4.2547s)]] +[[cpp_int(fixed)][1.76794 (0.0169001s)][3.59379 (0.0548884s)][5.55499 (0.135566s)][6.36274 (0.2702s)]] +[[gmp_int][[*1] (0.00955921s)][[*1] (0.0152731s)][[*1] (0.0244044s)][[*1] (0.042466s)][[*1] (0.0759658s)][[*1] (0.125208s)][[*1] (0.288938s)][[*1] (0.523737s)]] +[[tommath_int][63.2738 (0.604848s)][57.3767 (0.876321s)][43.9301 (1.07209s)][40.0122 (1.69916s)][41.1147 (3.12331s)][57.9739 (7.25882s)][68.6676 (19.8407s)][109.312 (57.2509s)]] ] [table Operator /=(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][4.81054 (0.0787575s)][8.57398 (0.16217s)][10.886 (0.247055s)][11.2718 (0.405759s)][12.5937 (1.88874s)][12.21 (3.63347s)]] -[[cpp_int(fixed)][1.20166 (0.0196733s)][4.32475 (0.0817993s)][6.58644 (0.149478s)][8.32497 (0.29968s)]] -[[gmp_int][[*1] (0.0163719s)][[*1] (0.0189142s)][[*1] (0.0226949s)][[*1] (0.0359977s)][[*1] (0.149975s)][[*1] (0.297582s)]] -[[tommath_int][53.9084 (0.88258s)][53.1273 (1.00486s)][71.1404 (1.61452s)][67.5031 (2.42996s)][65.7108 (9.85499s)][101.244 (30.1285s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][5.21402 (0.0701172s)][4.76442 (0.105309s)][5.1245 (0.171387s)][7.39587 (0.299993s)][6.88568 (0.632889s)][5.93971 (0.873081s)][3.2993 (1.05399s)][3.52936 (2.14442s)][[*1] (4.37618s)]] +[[cpp_int(fixed)][1.68246 (0.0226255s)][3.12633 (0.0691018s)][3.98733 (0.133354s)][6.62903 (0.268888s)]] +[[gmp_int][[*1] (0.0134478s)][[*1] (0.0221032s)][[*1] (0.0334445s)][[*1] (0.0405622s)][[*1] (0.0919138s)][[*1] (0.14699s)][[*1] (0.319457s)][[*1] (0.607595s)]] +[[tommath_int][46.0731 (0.619583s)][43.6571 (0.964961s)][30.1861 (1.00956s)][41.4936 (1.68307s)][32.6785 (3.0036s)][48.2935 (7.09868s)][64.9093 (20.7357s)][111.801 (67.9296s)]] ] [table Operator << -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][19.177 (0.0162764s)][2.61717 (0.0163378s)][2.37674 (0.021464s)][2.09019 (0.0286746s)][2.56897 (0.164462s)][2.63407 (0.258076s)]] -[[cpp_int(fixed)][[*1] (0.000848746s)][[*1] (0.00624253s)][[*1] (0.00903085s)][[*1] (0.0137187s)]] -[[gmp_int][13.6905 (0.0116198s)][1.91174 (0.0119341s)][1.66888 (0.0150714s)][1.41131 (0.0193613s)][[*1] (0.0640186s)][[*1] (0.0979761s)]] -[[tommath_int][24.7233 (0.0209838s)][4.59302 (0.028672s)][3.68238 (0.033255s)][2.98058 (0.0408897s)][1.84398 (0.118049s)][2.21298 (0.216819s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][9.93178 (0.0116142s)][1.74005 (0.0147029s)][2.68859 (0.0238748s)][2.04419 (0.0394659s)][2.15112 (0.0859331s)][1.26154 (0.0753453s)][[*1] (0.0889652s)][[*1] (0.190562s)][[*1] (0.32803s)]] +[[cpp_int(fixed)][[*1] (0.00116939s)][[*1] (0.00844969s)][1.94851 (0.0173029s)][1.55242 (0.0299716s)]] +[[gmp_int][4.60815 (0.00538874s)][1.02939 (0.00869801s)][[*1] (0.00888006s)][[*1] (0.0193064s)][[*1] (0.039948s)][[*1] (0.0597248s)][1.65224 (0.146992s)][1.08567 (0.206887s)]] +[[tommath_int][10.7935 (0.0126218s)][2.38166 (0.0201243s)][2.42444 (0.0215291s)][1.87488 (0.0361972s)][1.73489 (0.0693055s)][1.93177 (0.115375s)][2.49667 (0.222116s)][2.82346 (0.538044s)]] ] [table Operator >> -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][20.232 (0.0162325s)][4.69783 (0.0157363s)][4.50992 (0.0149173s)][4.86912 (0.0162095s)][13.239 (0.0539071s)][12.1827 (0.0524954s)]] -[[cpp_int(fixed)][[*1] (0.000802316s)][1.58991 (0.00532573s)][2.13899 (0.00707508s)][4.21178 (0.0140212s)]] -[[gmp_int][4.29127 (0.00344295s)][[*1] (0.0033497s)][[*1] (0.00330767s)][[*1] (0.00332904s)][[*1] (0.00407185s)][[*1] (0.00430902s)]] -[[tommath_int][67.6824 (0.0543026s)][17.5897 (0.05892s)][17.6963 (0.0585334s)][17.7611 (0.0591272s)][40.2804 (0.164016s)][45.6107 (0.196537s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][12.5304 (0.011709s)][6.85524 (0.0153366s)][8.77866 (0.0209131s)][3.21549 (0.0146098s)][4.04361 (0.0183489s)][5.86336 (0.0183679s)][3.04276 (0.0219967s)][8.19636 (0.0537598s)][[*1] (0.0745484s)]] +[[cpp_int(fixed)][[*1] (0.000934446s)][6.55349 (0.0146615s)][6.51353 (0.0155169s)][4.90631 (0.0222922s)]] +[[gmp_int][2.59712 (0.00242687s)][[*1] (0.0022372s)][[*1] (0.00238226s)][[*1] (0.00454358s)][[*1] (0.00453774s)][[*1] (0.00313265s)][[*1] (0.00722919s)][[*1] (0.00655899s)]] +[[tommath_int][102.662 (0.0959319s)][42.5337 (0.0951565s)][39.1437 (0.0932504s)][21.0397 (0.0955953s)][29.6104 (0.134364s)][62.7092 (0.196446s)][49.6167 (0.358689s)][137.105 (0.899272s)]] ] [table Operator ^ -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][5.21469 (0.0176691s)][1.76461 (0.0151583s)][1.54944 (0.01576s)][1.66733 (0.0166044s)][2.67895 (0.0907825s)][2.85374 (0.147776s)]] -[[cpp_int(fixed)][[*1] (0.00338833s)][1.61335 (0.013859s)][1.5785 (0.0160556s)][1.8238 (0.0181626s)]] -[[gmp_int][2.65843 (0.00900763s)][[*1] (0.00859017s)][[*1] (0.0101714s)][[*1] (0.00995865s)][[*1] (0.0338873s)][[*1] (0.0517833s)]] -[[tommath_int][11.7662 (0.0398677s)][4.97263 (0.0427158s)][4.173 (0.0424452s)][4.36742 (0.0434936s)][1.87208 (0.0634399s)][2.15704 (0.111699s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.8103 (0.0101384s)][4.11932 (0.0282768s)][2.25923 (0.0139063s)][1.94172 (0.0187085s)][1.66067 (0.0405646s)][1.10651 (0.0475314s)][[*1] (0.0369865s)][[*1] (0.0918676s)][[*1] (0.150955s)]] +[[cpp_int(fixed)][[*1] (0.00360758s)][[*1] (0.00686442s)][1.50683 (0.00927498s)][1.79076 (0.0172541s)]] +[[gmp_int][1.35398 (0.0048846s)][1.00969 (0.00693092s)][[*1] (0.00615531s)][[*1] (0.00963503s)][[*1] (0.0244266s)][[*1] (0.0429561s)][2.17737 (0.0805332s)][1.3521 (0.124214s)]] +[[tommath_int][2.28701 (0.00825059s)][1.65996 (0.0113947s)][2.06089 (0.0126854s)][2.03244 (0.0195826s)][1.4173 (0.0346198s)][1.32237 (0.0568037s)][2.69468 (0.0996668s)][2.55626 (0.234837s)]] ] [table Operator ^(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][4.47727 (0.0154762s)][1.1548 (0.0152722s)][1.29522 (0.0149375s)][[*1] (0.0152534s)][1.16178 (0.062951s)][[*1] (0.0542065s)]] -[[cpp_int(fixed)][[*1] (0.00345661s)][[*1] (0.013225s)][[*1] (0.0115328s)][1.35474 (0.0206643s)]] -[[gmp_int][9.96342 (0.0344397s)][2.54169 (0.0336138s)][3.0636 (0.0353319s)][2.2878 (0.0348967s)][[*1] (0.0541849s)][1.14922 (0.0622954s)]] -[[tommath_int][39.5678 (0.136771s)][11.1605 (0.147598s)][12.3859 (0.142844s)][9.57606 (0.146067s)][3.32237 (0.180022s)][3.89337 (0.211046s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.67312 (0.00991885s)][1.57246 (0.0115174s)][2.50193 (0.0198209s)][[*1] (0.0153479s)][[*1] (0.0264078s)][[*1] (0.0206665s)][[*1] (0.0235546s)][[*1] (0.0392727s)][[*1] (0.0657809s)]] +[[cpp_int(fixed)][[*1] (0.00371059s)][[*1] (0.0073244s)][[*1] (0.00792226s)][1.04763 (0.0160789s)]] +[[gmp_int][2.86377 (0.0106263s)][2.18619 (0.0160125s)][2.18777 (0.0173321s)][1.01844 (0.0156309s)][1.13176 (0.0298873s)][1.9665 (0.0406408s)][3.34613 (0.0788165s)][3.54952 (0.139399s)]] +[[tommath_int][26.101 (0.0968501s)][14.6444 (0.107261s)][10.0538 (0.079649s)][5.64392 (0.0866224s)][3.8806 (0.102478s)][6.36386 (0.131519s)][8.07216 (0.190136s)][8.01428 (0.314742s)]] ] [table Operator construct -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][2.70048 (0.00154337s)][[*1] (0.00165673s)][[*1] (0.00160871s)][[*1] (0.00172862s)][[*1] (0.00156009s)][[*1] (0.00174205s)]] -[[cpp_int(fixed)][[*1] (0.000571519s)][1.23543 (0.00204677s)][1.9796 (0.00318462s)][4.48025 (0.00774465s)]] -[[gmp_int][85.6322 (0.0489404s)][29.2571 (0.0484711s)][30.662 (0.0493265s)][27.83 (0.0481075s)][40.363 (0.0629698s)][27.9451 (0.048682s)]] -[[tommath_int][201.724 (0.115289s)][58.7441 (0.0973229s)][52.7386 (0.0848414s)][44.5608 (0.0770287s)][50.8452 (0.079323s)][47.1258 (0.0820957s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][3.24638 (0.00190752s)][1.06172 (0.00258002s)][[*1] (0.00248269s)][[*1] (0.00191598s)][[*1] (0.00273948s)][[*1] (0.00240729s)][[*1] (0.0017072s)][[*1] (0.00191549s)][[*1] (0.0016635s)]] +[[cpp_int(fixed)][[*1] (0.000587582s)][[*1] (0.00243004s)][1.51116 (0.00375174s)][4.66482 (0.00893771s)]] +[[gmp_int][5.61558 (0.00329962s)][1.52898 (0.0037155s)][2.51713 (0.00624925s)][1.755 (0.00336255s)][1.40183 (0.00384029s)][1.60131 (0.00385483s)][4.7818 (0.0081635s)][2.07779 (0.00397999s)]] +[[tommath_int][251.1 (0.147542s)][63.6186 (0.154596s)][54.6947 (0.13579s)][66.8839 (0.128148s)][47.8098 (0.130974s)][54.8252 (0.13198s)][74.1436 (0.126578s)][83.945 (0.160796s)]] ] [table Operator construct(unsigned long long) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][2.39475 (0.00192516s)][[*1] (0.00189599s)][[*1] (0.00183399s)][[*1] (0.00196715s)][[*1] (0.00191441s)][[*1] (0.0018252s)]] -[[cpp_int(fixed)][[*1] (0.000803908s)][1.19809 (0.00227157s)][1.88086 (0.00344948s)][3.8843 (0.007641s)]] -[[gmp_int][65.7819 (0.0528826s)][27.1474 (0.0514712s)][29.3096 (0.0537536s)][26.2945 (0.0517252s)][72.2795 (0.138372s)][27.9893 (0.0510862s)]] -[[tommath_int][434.327 (0.349159s)][188.668 (0.357713s)][186.415 (0.341884s)][173.347 (0.341s)][183.361 (0.351027s)][175.369 (0.320084s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.12644 (0.00192028s)][[*1] (0.00200418s)][[*1] (0.00223886s)][[*1] (0.00189442s)][[*1] (0.00190833s)][[*1] (0.00288069s)][[*1] (0.00199036s)][[*1] (0.00200998s)][[*1] (0.00168004s)]] +[[cpp_int(fixed)][[*1] (0.000903049s)][1.26395 (0.00253319s)][1.78621 (0.00399907s)][5.10701 (0.0096748s)]] +[[gmp_int][27.1389 (0.0245077s)][10.3593 (0.020762s)][9.02272 (0.0202006s)][9.96334 (0.0188747s)][15.2262 (0.0290565s)][8.50239 (0.0244927s)][35.6564 (0.0709692s)][10.9129 (0.0219346s)]] +[[tommath_int][183.484 (0.165695s)][83.0709 (0.166489s)][69.5984 (0.155821s)][75.8903 (0.143768s)][85.5979 (0.163349s)][50.8174 (0.146389s)][70.0602 (0.139445s)][95.4952 (0.191943s)]] ] [table Operator construct(unsigned) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][2.14911 (0.00163907s)][[*1] (0.00163286s)][[*1] (0.00171255s)][[*1] (0.0017176s)][[*1] (0.00167292s)][[*1] (0.00156985s)]] -[[cpp_int(fixed)][[*1] (0.000762672s)][1.36862 (0.00223478s)][2.03741 (0.00348916s)][4.53966 (0.00779734s)]] -[[gmp_int][68.2442 (0.0520479s)][31.4026 (0.0512762s)][30.7091 (0.0525909s)][30.032 (0.0515831s)][41.5223 (0.0694635s)][32.5392 (0.0510816s)]] -[[tommath_int][331.014 (0.252455s)][151.468 (0.247326s)][132.724 (0.227296s)][128.015 (0.219878s)][131.833 (0.220546s)][143.372 (0.225072s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.00349 (0.00174712s)][[*1] (0.00225895s)][[*1] (0.00241092s)][[*1] (0.00177047s)][[*1] (0.00304865s)][[*1] (0.00241711s)][[*1] (0.0018378s)][[*1] (0.0017583s)][[*1] (0.00197229s)]] +[[cpp_int(fixed)][[*1] (0.000872038s)][1.1805 (0.0026667s)][1.66167 (0.00400614s)][5.54475 (0.00981681s)]] +[[gmp_int][27.6419 (0.0241048s)][10.0723 (0.0227529s)][7.60577 (0.0183369s)][10.2725 (0.0181871s)][9.38419 (0.0286091s)][9.10394 (0.0220052s)][34.6032 (0.0635939s)][15.7134 (0.0276289s)]] +[[tommath_int][207.462 (0.180915s)][84.5379 (0.190967s)][65.2109 (0.157218s)][84.8572 (0.150237s)][47.0682 (0.143494s)][59.4466 (0.143689s)][78.5549 (0.144368s)][103.519 (0.182018s)]] ] [table Operator gcd -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][2.07031 (0.395833s)][3.50598 (2.95518s)][4.44198 (8.63567s)][5.59809 (22.6997s)][9.49572 (269.4s)][15.722 (962.995s)]] -[[cpp_int(fixed)][3.47569 (0.664533s)][1.70521 (1.43732s)][2.31892 (4.50823s)][3.55661 (14.4217s)]] -[[gmp_int][[*1] (0.191195s)][[*1] (0.842898s)][[*1] (1.9441s)][[*1] (4.0549s)][[*1] (28.3707s)][[*1] (61.2516s)]] -[[tommath_int][10.8111 (2.06703s)][5.12095 (4.31644s)][4.59174 (8.92681s)][5.01043 (20.3168s)][7.52621 (213.524s)][12.3495 (756.428s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.10743 (0.358587s)][1.8778 (1.42989s)][2.03859 (3.30534s)][2.01435 (7.01715s)][2.16957 (17.7583s)][1.16957 (21.9738s)][[*1] (32.2572s)][[*1] (76.6459s)][[*1] (201.791s)]] +[[cpp_int(fixed)][3.65486 (0.621889s)][1.78424 (1.35865s)][2.02664 (3.28597s)][1.95328 (6.8044s)]] +[[gmp_int][[*1] (0.170154s)][[*1] (0.761472s)][[*1] (1.62139s)][[*1] (3.48358s)][[*1] (8.18516s)][[*1] (18.7879s)][1.82325 (58.8129s)][1.59356 (122.14s)]] +[[tommath_int][8.01966 (1.36458s)][4.44226 (3.38266s)][4.55056 (7.37824s)][4.42983 (15.4317s)][5.23788 (42.8729s)][7.25799 (136.362s)][14.6265 (471.81s)][23.1025 (1770.72s)]] ] [table Operator powm [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_int][10.6592 (0.802191s)][13.9407 (2.61537s)][12.912 (10.4205s)][10.8568 (51.2302s)]] -[[cpp_int(fixed)][5.82971 (0.438734s)][8.89247 (1.66829s)][9.93013 (8.01404s)][8.83073 (41.6696s)]] -[[gmp_int][[*1] (0.0752583s)][[*1] (0.187607s)][[*1] (0.807043s)][[*1] (4.7187s)]] -[[tommath_int][6.1085 (0.459715s)][5.83038 (1.09382s)][3.80545 (3.07116s)][3.02859 (14.291s)]] +[[cpp_int][14.8198 (0.565871s)][13.2096 (2.0199s)][11.8233 (9.06469s)][9.12533 (46.9932s)]] +[[cpp_int(fixed)][9.40069 (0.35895s)][10.0395 (1.53516s)][10.5353 (8.07714s)][8.49678 (43.7564s)]] +[[gmp_int][[*1] (0.0381833s)][[*1] (0.152912s)][[*1] (0.766677s)][[*1] (5.14976s)]] +[[tommath_int][11.0485 (0.421869s)][8.44037 (1.29063s)][4.18756 (3.21051s)][2.45216 (12.628s)]] ] [table Operator str -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][1.92305 (0.000421266s)][3.20633 (0.000851021s)][3.65142 (0.00169768s)][5.16642 (0.00504001s)][11.2543 (0.0811042s)][20.2913 (0.313789s)]] -[[cpp_int(fixed)][5.11756 (0.00112106s)][1.92296 (0.00051039s)][2.45213 (0.00114008s)][3.72073 (0.00362969s)]] -[[gmp_int][[*1] (0.000219061s)][[*1] (0.000265419s)][[*1] (0.000464936s)][[*1] (0.000975531s)][[*1] (0.00720651s)][[*1] (0.0154642s)]] -[[tommath_int][21.587 (0.00472888s)][39.7234 (0.0105433s)][55.2128 (0.0256704s)][81.4207 (0.0794284s)][169.04 (1.21819s)][302.626 (4.67986s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][1.47697 (0.000264092s)][2.87174 (0.000644609s)][2.28911 (0.00141073s)][4.92453 (0.00383604s)][5.61647 (0.0137593s)][4.87866 (0.0237422s)][1.87264 (0.0491109s)][4.29909 (0.171316s)][[*1] (0.595522s)]] +[[cpp_int(fixed)][4.73326 (0.00084634s)][1.78742 (0.000401216s)][1.68455 (0.00103815s)][4.30889 (0.00335647s)]] +[[gmp_int][[*1] (0.000178807s)][[*1] (0.000224466s)][[*1] (0.00061628s)][[*1] (0.000778966s)][[*1] (0.00244981s)][[*1] (0.00486654s)][[*1] (0.0262254s)][[*1] (0.0398493s)]] +[[tommath_int][16.7304 (0.00299152s)][26.6015 (0.00597113s)][30.9815 (0.0190933s)][74.7467 (0.0582251s)][82.4773 (0.202054s)][154.996 (0.754295s)][107.534 (2.82013s)][279.178 (11.1251s)]] ] [table Operator | -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][5.25873 (0.0172824s)][1.96305 (0.0151621s)][1.75036 (0.015208s)][1.87423 (0.017812s)][2.78566 (0.0913325s)][2.88264 (0.14832s)]] -[[cpp_int(fixed)][[*1] (0.00328643s)][1.45652 (0.0112498s)][1.45925 (0.0126787s)][1.95487 (0.0185784s)]] -[[gmp_int][2.49444 (0.00819781s)][[*1] (0.00772371s)][[*1] (0.00868852s)][[*1] (0.00950363s)][[*1] (0.0327866s)][[*1] (0.0514528s)]] -[[tommath_int][11.7763 (0.038702s)][5.50066 (0.0424855s)][4.90757 (0.0426395s)][4.5757 (0.0434857s)][1.88223 (0.061712s)][2.0004 (0.102926s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.26845 (0.00991773s)][1.955 (0.00939722s)][2.01122 (0.012635s)][1.76421 (0.0152013s)][1.92162 (0.0293243s)][[*1] (0.0334167s)][[*1] (0.0377549s)][[*1] (0.0916779s)][[*1] (0.152323s)]] +[[cpp_int(fixed)][1.00452 (0.0043918s)][1.37689 (0.00661838s)][1.3138 (0.00825362s)][1.71906 (0.0148123s)]] +[[gmp_int][[*1] (0.00437203s)][[*1] (0.00480677s)][[*1] (0.00628228s)][[*1] (0.00861647s)][[*1] (0.0152602s)][1.09283 (0.0365187s)][2.43832 (0.0920584s)][1.21204 (0.111118s)]] +[[tommath_int][1.69103 (0.00739324s)][1.85402 (0.00891185s)][1.78526 (0.0112155s)][1.86487 (0.0160686s)][1.75184 (0.0267336s)][1.44011 (0.0481236s)][2.33195 (0.0880424s)][2.33204 (0.213797s)]] ] [table Operator |(int) -[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][5120 Bits][10240 Bits]] -[[cpp_int][4.53358 (0.0155813s)][1.37758 (0.015007s)][1.27482 (0.0145389s)][[*1] (0.0155149s)][1.17798 (0.0620504s)][[*1] (0.0526689s)]] -[[cpp_int(fixed)][[*1] (0.00343686s)][[*1] (0.0108938s)][[*1] (0.0114047s)][1.3214 (0.0205014s)]] -[[gmp_int][9.60058 (0.0329958s)][3.00706 (0.0327581s)][3.05453 (0.034836s)][2.20715 (0.0342437s)][[*1] (0.0526751s)][1.17671 (0.0619762s)]] -[[tommath_int][39.7055 (0.136462s)][13.0365 (0.142016s)][14.0596 (0.160345s)][9.31086 (0.144457s)][3.38341 (0.178221s)][3.81403 (0.200881s)]] +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits][2048 Bits][2688 Bits][4096 Bits][8192 Bits][16384 Bits]] +[[cpp_int][2.11741 (0.00805945s)][2.16753 (0.0119795s)][1.5717 (0.012189s)][1.10016 (0.0134288s)][1.11289 (0.0309032s)][[*1] (0.0214828s)][[*1] (0.0232284s)][[*1] (0.042441s)][[*1] (0.0711061s)]] +[[cpp_int(fixed)][[*1] (0.00380628s)][[*1] (0.00552682s)][[*1] (0.00775532s)][[*1] (0.0122062s)]] +[[gmp_int][2.62934 (0.010008s)][1.86878 (0.0103284s)][3.19589 (0.0247852s)][1.1073 (0.0135159s)][[*1] (0.0277685s)][1.67609 (0.0360071s)][3.76493 (0.0874534s)][2.72382 (0.115602s)]] +[[tommath_int][22.0502 (0.0839291s)][18.6272 (0.102949s)][9.99323 (0.0775007s)][6.28905 (0.0767652s)][3.28821 (0.0913086s)][5.0968 (0.109494s)][6.47865 (0.150489s)][4.8474 (0.205729s)]] ] [endsect] [section:rational_performance Rational Type Perfomance] [table Operator * [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][2.59318 (1.11835s)][3.74332 (6.61855s)][4.71871 (18.5981s)][5.48511 (47.0022s)]] -[[mpq_rational][[*1] (0.431264s)][[*1] (1.7681s)][[*1] (3.94136s)][[*1] (8.56905s)]] +[[cpp_rational][2.00025 (0.797425s)][1.97726 (2.96998s)][1.86844 (6.73224s)][1.96608 (14.4259s)]] +[[mpq_rational][[*1] (0.398662s)][[*1] (1.50207s)][[*1] (3.60314s)][[*1] (7.3374s)]] ] [table Operator *(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][5.63431 (0.612884s)][25.5205 (2.83784s)][64.6798 (7.61151s)][135.335 (19.4821s)]] -[[mpq_rational][[*1] (0.108777s)][[*1] (0.111198s)][[*1] (0.11768s)][[*1] (0.143955s)]] +[[cpp_rational][1.88073 (0.0637195s)][1.93184 (0.0917847s)][2.15609 (0.118274s)][2.4236 (0.218283s)]] +[[mpq_rational][[*1] (0.0338803s)][[*1] (0.0475114s)][[*1] (0.0548556s)][[*1] (0.0900656s)]] ] [table Operator *(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][4.44786 (0.691659s)][18.4155 (2.97414s)][44.4009 (7.64879s)][98.4603 (19.5719s)]] -[[mpq_rational][[*1] (0.155504s)][[*1] (0.161502s)][[*1] (0.172267s)][[*1] (0.19878s)]] +[[cpp_rational][1.60877 (0.161844s)][2.33429 (0.240069s)][1.8835 (0.298935s)][2.70338 (0.448194s)]] +[[mpq_rational][[*1] (0.100601s)][[*1] (0.102844s)][[*1] (0.158713s)][[*1] (0.16579s)]] +] +[table Operator *(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.97503 (0.408791s)][2.42069 (0.600225s)][2.65138 (0.803009s)][4.65673 (1.54645s)]] +[[mpq_rational][[*1] (0.20698s)][[*1] (0.247956s)][[*1] (0.302865s)][[*1] (0.332089s)]] ] [table Operator *=(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][4.12301 (0.690473s)][20.2597 (3.35519s)][42.8043 (7.47312s)][94.2742 (19.3092s)]] -[[mpq_rational][[*1] (0.167468s)][[*1] (0.165609s)][[*1] (0.174588s)][[*1] (0.20482s)]] +[[cpp_rational][1.97207 (0.211848s)][2.18482 (0.226179s)][2.43682 (0.319695s)][2.69933 (0.485819s)]] +[[mpq_rational][[*1] (0.107424s)][[*1] (0.103523s)][[*1] (0.131194s)][[*1] (0.179978s)]] +] +[table Operator *=(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.95211 (0.40255s)][2.60942 (0.629302s)][2.83854 (0.8029s)][4.34054 (1.37083s)]] +[[mpq_rational][[*1] (0.206213s)][[*1] (0.241165s)][[*1] (0.282857s)][[*1] (0.31582s)]] ] [table Operator + [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][8.51825 (1.97719s)][7.8609 (7.34254s)][9.73008 (21.2507s)][11.1497 (49.7843s)]] -[[mpq_rational][[*1] (0.232113s)][[*1] (0.93406s)][[*1] (2.18402s)][[*1] (4.46507s)]] +[[cpp_rational][2.20364 (0.415006s)][1.97574 (1.53458s)][1.75945 (3.41194s)][2.11634 (8.04044s)]] +[[mpq_rational][[*1] (0.188327s)][[*1] (0.776716s)][[*1] (1.93921s)][[*1] (3.79923s)]] ] [table Operator +(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][7.17647 (0.669913s)][29.8489 (2.91217s)][75.7668 (7.40631s)][254.371 (29.7057s)]] -[[mpq_rational][[*1] (0.0933486s)][[*1] (0.0975637s)][[*1] (0.0977514s)][[*1] (0.116781s)]] +[[cpp_rational][2.06836 (0.0177811s)][1.80334 (0.0183744s)][1.38442 (0.020452s)][1.81894 (0.0449351s)]] +[[mpq_rational][[*1] (0.00859669s)][[*1] (0.0101891s)][[*1] (0.014773s)][[*1] (0.024704s)]] ] [table Operator +(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][12.4996 (1.16835s)][33.6691 (3.37438s)][82.0167 (8.08959s)][171.692 (19.9733s)]] -[[mpq_rational][[*1] (0.0934708s)][[*1] (0.100222s)][[*1] (0.0986335s)][[*1] (0.116332s)]] +[[cpp_rational][2.07187 (0.0177151s)][2.3005 (0.0241089s)][1.81397 (0.0297836s)][1.72202 (0.046594s)]] +[[mpq_rational][[*1] (0.0085503s)][[*1] (0.0104799s)][[*1] (0.016419s)][[*1] (0.0270577s)]] +] +[table Operator +(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.2805 (0.0265647s)][1.59353 (0.0391054s)][1.26613 (0.044067s)][1.95307 (0.105801s)]] +[[mpq_rational][[*1] (0.0207456s)][[*1] (0.0245401s)][[*1] (0.0348044s)][[*1] (0.0541719s)]] ] [table Operator +=(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][11.7663 (1.14891s)][34.4202 (3.45541s)][78.1856 (8.17612s)][161.351 (20.0733s)]] -[[mpq_rational][[*1] (0.0976436s)][[*1] (0.100389s)][[*1] (0.104573s)][[*1] (0.124408s)]] +[[cpp_rational][7.29749 (0.0565983s)][3.77253 (0.0371419s)][2.72128 (0.0556987s)][2.01495 (0.0662456s)]] +[[mpq_rational][[*1] (0.00775585s)][[*1] (0.00984535s)][[*1] (0.0204678s)][[*1] (0.032877s)]] +] +[table Operator +=(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.92025 (0.0335896s)][2.08321 (0.0422867s)][1.587 (0.0564267s)][1.85357 (0.0840696s)]] +[[mpq_rational][[*1] (0.0174923s)][[*1] (0.0202988s)][[*1] (0.0355556s)][[*1] (0.0453556s)]] ] [table Operator - [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][8.56942 (2.0234s)][7.88071 (7.38282s)][9.54207 (19.913s)][11.4343 (50.8786s)]] -[[mpq_rational][[*1] (0.236118s)][[*1] (0.936822s)][[*1] (2.08686s)][[*1] (4.44964s)]] +[[cpp_rational][2.38126 (0.471759s)][1.92631 (1.52484s)][1.76181 (3.49648s)][2.03462 (7.71926s)]] +[[mpq_rational][[*1] (0.198113s)][[*1] (0.791584s)][[*1] (1.98459s)][[*1] (3.79396s)]] ] [table Operator -(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][6.62286 (0.62794s)][30.6629 (2.96506s)][75.926 (7.56072s)][199.475 (23.42s)]] -[[mpq_rational][[*1] (0.094814s)][[*1] (0.0966986s)][[*1] (0.0995801s)][[*1] (0.117408s)]] +[[cpp_rational][2.44447 (0.0292894s)][2.54602 (0.0346718s)][1.4869 (0.035503s)][1.95344 (0.0577029s)]] +[[mpq_rational][[*1] (0.0119819s)][[*1] (0.013618s)][[*1] (0.0238773s)][[*1] (0.0295391s)]] ] [table Operator -(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][12.3835 (1.16081s)][36.0761 (3.40187s)][83.3673 (8.26011s)][169.239 (20.5682s)]] -[[mpq_rational][[*1] (0.0937381s)][[*1] (0.094297s)][[*1] (0.099081s)][[*1] (0.121534s)]] +[[cpp_rational][2.93654 (0.0296698s)][4.23087 (0.0496956s)][1.68041 (0.0461985s)][1.4455 (0.0581714s)]] +[[mpq_rational][[*1] (0.0101037s)][[*1] (0.0117459s)][[*1] (0.0274924s)][[*1] (0.040243s)]] +] +[table Operator -(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.69242 (0.0408789s)][1.5205 (0.0467416s)][1.31525 (0.0548939s)][2.16115 (0.103471s)]] +[[mpq_rational][[*1] (0.0241541s)][[*1] (0.030741s)][[*1] (0.0417365s)][[*1] (0.0478777s)]] ] [table Operator -=(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][11.6833 (1.16049s)][36.6427 (3.64132s)][77.0952 (8.10257s)][160.444 (20.0829s)]] -[[mpq_rational][[*1] (0.0993285s)][[*1] (0.0993737s)][[*1] (0.105098s)][[*1] (0.12517s)]] +[[cpp_rational][3.69509 (0.0366534s)][3.7306 (0.0439181s)][1.8352 (0.0491612s)][1.86662 (0.071761s)]] +[[mpq_rational][[*1] (0.00991947s)][[*1] (0.0117724s)][[*1] (0.0267879s)][[*1] (0.0384444s)]] +] +[table Operator -=(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.76299 (0.0421283s)][2.03803 (0.0490152s)][1.84864 (0.053198s)][2.10533 (0.0881228s)]] +[[mpq_rational][[*1] (0.023896s)][[*1] (0.0240502s)][[*1] (0.0287769s)][[*1] (0.041857s)]] ] [table Operator / [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][5.67626 (6.66075s)][5.99288 (21.0634s)][8.08809 (55.0195s)][10.5818 (149.774s)]] -[[mpq_rational][[*1] (1.17344s)][[*1] (3.51474s)][[*1] (6.80254s)][[*1] (14.1539s)]] +[[cpp_rational][2.03433 (2.28881s)][2.24309 (6.34454s)][2.1203 (13.2036s)][2.36142 (29.3236s)]] +[[mpq_rational][[*1] (1.12509s)][[*1] (2.82848s)][[*1] (6.22726s)][[*1] (12.4178s)]] ] [table Operator /(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][5.9046 (0.64166s)][25.5252 (2.84312s)][65.4027 (7.74325s)][134.42 (19.5619s)]] -[[mpq_rational][[*1] (0.108671s)][[*1] (0.111385s)][[*1] (0.118393s)][[*1] (0.145528s)]] +[[cpp_rational][[*1] (0.035134s)][1.08556 (0.0774619s)][1.08797 (0.104628s)][1.29134 (0.207067s)]] +[[mpq_rational][1.85049 (0.0650149s)][[*1] (0.0713565s)][[*1] (0.0961679s)][[*1] (0.16035s)]] ] [table Operator /(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][4.35172 (0.691696s)][18.2795 (2.94678s)][44.2487 (7.48547s)][99.1392 (19.5526s)]] -[[mpq_rational][[*1] (0.158948s)][[*1] (0.161207s)][[*1] (0.169168s)][[*1] (0.197224s)]] +[[cpp_rational][1.31397 (0.170727s)][1.63747 (0.216019s)][1.68581 (0.292536s)][1.76695 (0.435259s)]] +[[mpq_rational][[*1] (0.129932s)][[*1] (0.131923s)][[*1] (0.173528s)][[*1] (0.246334s)]] +] +[table Operator /(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.82473 (0.431612s)][2.20261 (0.596248s)][2.45848 (0.809662s)][3.88675 (1.38001s)]] +[[mpq_rational][[*1] (0.236534s)][[*1] (0.270701s)][[*1] (0.329335s)][[*1] (0.355055s)]] ] [table Operator /=(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][4.14511 (0.685733s)][18.3237 (3.08065s)][43.3784 (7.43555s)][94.2547 (19.2754s)]] -[[mpq_rational][[*1] (0.165432s)][[*1] (0.168124s)][[*1] (0.171411s)][[*1] (0.204503s)]] +[[cpp_rational][1.58868 (0.216252s)][1.71288 (0.235781s)][1.78218 (0.314161s)][1.98715 (0.460033s)]] +[[mpq_rational][[*1] (0.136121s)][[*1] (0.137652s)][[*1] (0.176279s)][[*1] (0.231505s)]] +] +[table Operator /=(value_type) +[[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] +[[cpp_rational][1.72896 (0.40369s)][2.55949 (0.689514s)][2.4929 (0.832288s)][3.51238 (1.37478s)]] +[[mpq_rational][[*1] (0.233487s)][[*1] (0.269395s)][[*1] (0.333863s)][[*1] (0.391409s)]] ] [table Operator construct [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][[*1] (0.00323537s)][[*1] (0.00328614s)][[*1] (0.0032946s)][[*1] (0.00333283s)]] -[[mpq_rational][28.9199 (0.0935664s)][28.1463 (0.0924926s)][28.2564 (0.0930936s)][27.5848 (0.0919355s)]] +[[cpp_rational][[*1] (0.0135822s)][[*1] (0.00935293s)][[*1] (0.0083784s)][[*1] (0.00962697s)]] +[[mpq_rational][1.44264 (0.0195942s)][2.18249 (0.0204126s)][2.64725 (0.0221797s)][2.87767 (0.0277033s)]] ] [table Operator construct(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][[*1] (0.00333944s)][[*1] (0.00335336s)][[*1] (0.00348777s)][[*1] (0.00345967s)]] -[[mpq_rational][29.1785 (0.09744s)][29.1475 (0.097742s)][27.4732 (0.0958203s)][28.6655 (0.099173s)]] +[[cpp_rational][[*1] (0.00806026s)][[*1] (0.00960336s)][[*1] (0.00769898s)][[*1] (0.0176689s)]] +[[mpq_rational][4.87225 (0.0392716s)][5.91987 (0.0568506s)][9.03811 (0.0695842s)][3.68339 (0.0650815s)]] ] [table Operator construct(unsigned) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][[*1] (0.00321917s)][[*1] (0.00319471s)][[*1] (0.00327131s)][[*1] (0.00366486s)]] -[[mpq_rational][30.8553 (0.0993283s)][30.5973 (0.0977495s)][29.5866 (0.0967869s)][28.3432 (0.103874s)]] +[[cpp_rational][[*1] (0.00672081s)][[*1] (0.0064826s)][[*1] (0.00618635s)][[*1] (0.00923644s)]] +[[mpq_rational][6.47138 (0.0434929s)][7.48645 (0.0485316s)][8.2942 (0.0513108s)][5.77363 (0.0533278s)]] ] [table Operator str [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] -[[cpp_rational][5.80834 (0.00206821s)][11.5273 (0.00645497s)][18.1686 (0.0156602s)][38.1095 (0.0705044s)]] -[[mpq_rational][[*1] (0.000356077s)][[*1] (0.000559971s)][[*1] (0.000861937s)][[*1] (0.00185005s)]] +[[cpp_rational][6.17439 (0.00168424s)][7.6748 (0.0033367s)][6.38435 (0.00662873s)][9.07696 (0.0174979s)]] +[[mpq_rational][[*1] (0.000272779s)][[*1] (0.000434761s)][[*1] (0.00103828s)][[*1] (0.00192772s)]] ] [endsect] diff --git a/performance/rational_bernoulli_allocations.log b/performance/rational_bernoulli_allocations.log new file mode 100644 index 00000000..e41e2369 --- /dev/null +++ b/performance/rational_bernoulli_allocations.log @@ -0,0 +1,102 @@ +[table Total Allocation Counts for Bernoulli Number Calculation +[[m][cpp_rational][mpq_rational][number>][mpq_class]] +[[2][0][77][123][101]] +[[4][0][187][320][252]] +[[6][0][345][612][471]] +[[8][0][551][988][758]] +[[10][0][805][1464][1113]] +[[12][0][1107][2044][1536]] +[[14][0][1457][2698][2027]] +[[16][0][1857][3458][2587]] +[[18][0][2336][4320][3216]] +[[20][0][2885][5297][3913]] +[[22][6][3511][6358][4706]] +[[24][22][4203][7601][5600]] +[[26][83][4963][8911][6575]] +[[28][377][5806][10370][7632]] +[[30][780][6738][11947][8769]] +[[32][1454][7771][13644][9988]] +[[34][2001][9357][15947][11289]] +[[36][2789][10598][18023][12704]] +[[38][3669][11948][20185][14252]] +[[40][4653][13403][22538][15891]] +[[42][5923][14976][24990][17620]] +[[44][7379][16622][27596][19449]] +[[46][8839][18367][30287][21367]] +[[48][10296][20227][33295][23431]] +[[50][12045][22857][36898][25646]] +[[52][13603][25044][40220][27962]] +[[54][15276][27331][43755][30389]] +[[56][17239][29749][47410][32919]] +[[58][19337][32257][51151][35552]] +[[60][21409][34958][55308][38417]] +[[62][23694][37800][59426][41396]] +[[64][27923][39556][62540][44498]] +[[66][30240][44706][69096][47711]] +[[68][32566][47934][73872][51042]] +[[70][35019][51417][78779][54637]] +[[72][37460][55047][84163][58363]] +[[74][40282][58777][89439][62211]] +[[76][42914][62691][95055][66183]] +[[78][45752][66694][100709][70296]] +[[80][48681][70905][106834][74620]] +[[82][51986][77633][115045][79160]] +[[84][54855][82364][121949][83842]] +[[86][59032][87239][128670][88659]] +[[88][63595][92256][135592][93618]] +[[90][68352][97486][142665][98820]] +[[92][72446][102974][150380][104256]] +[[94][76468][108620][158006][109844]] +[[96][80361][111109][162765][115594]] +[[98][84783][121460][174932][121486]] +[[100][89044][127730][183611][127633]] +[[102][93561][134241][192393][134050]] +[[104][98452][140919][201349][140616]] +[[106][103530][147763][210413][147364]] +[[108][108326][154804][220168][154276]] +[[110][113891][162184][229824][161562]] +[[112][119213][169736][239900][169038]] +[[114][124770][182417][255032][176693]] +[[116][130624][190589][265966][184519]] +[[118][137941][198975][276703][192525]] +[[120][144829][207759][288645][200952]] +[[122][152045][216736][300007][209561]] +[[124][158610][225905][311860][218371]] +[[126][165383][235283][323744][227360]] +[[128][173971][230678][322303][236670]] +[[130][181696][248593][342618][246308]] +[[132][189310][258615][356021][256148]] +[[134][197708][268800][369164][266192]] +[[136][205800][279215][382459][276436]] +[[138][212940][290112][396424][287167]] +[[140][217502][301235][410903][298101]] +[[142][223486][312564][425431][309243]] +[[144][229579][324133][440945][320605]] +[[146][237213][344671][464320][332333]] +[[148][248799][357200][479845][344420]] +[[150][261345][369947][495567][356745]] +[[152][272741][382909][512422][369279]] +[[154][283982][396162][528719][382048]] +[[156][293626][409993][546804][395353]] +[[158][304036][424022][564050][408907]] +[[160][313869][427747][571797][422690]] +[[162][323626][454723][601473][436715]] +[[164][333294][469863][620894][451304]] +[[166][343072][485238][639579][466149]] +[[168][352236][500922][659464][481221]] +[[170][362793][516840][678534][496561]] +[[172][372645][533169][698760][512315]] +[[174][382908][549962][719939][528510]] +[[176][392507][567018][741432][544947]] +[[178][404163][597694][775274][561666]] +[[180][417539][615615][797960][578647]] +[[182][432009][634079][819557][596234]] +[[184][444684][652902][842915][614114]] +[[186][457104][672042][866413][632248]] +[[188][469331][691451][890093][650654]] +[[190][481583][711512][913753][669753]] +[[192][477225][698188][905638][689111]] +[[194][488955][736905][948365][708760]] +[[196][499797][757502][973031][728675]] +[[198][511163][778591][998650][749102]] +] diff --git a/performance/rational_bernoulli_bench.log b/performance/rational_bernoulli_bench.log new file mode 100644 index 00000000..5dfe833f --- /dev/null +++ b/performance/rational_bernoulli_bench.log @@ -0,0 +1,155 @@ +-------------------------------------------------------------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations +-------------------------------------------------------------------------------------------------------------------------------------------------------------------- +BM_bernoulli/50 1888495 ns 1888453 ns 354 +BM_bernoulli/54 2250552 ns 2250503 ns 294 +BM_bernoulli/58 2734589 ns 2734527 ns 246 +BM_bernoulli/62 3318196 ns 3318122 ns 206 +BM_bernoulli/66 3887371 ns 3887281 ns 166 +BM_bernoulli/70 4628631 ns 4628535 ns 135 +BM_bernoulli/74 5354148 ns 5354100 ns 131 +BM_bernoulli/78 6321412 ns 6321172 ns 111 +BM_bernoulli/82 7130681 ns 7130520 ns 99 +BM_bernoulli/86 8390270 ns 8390095 ns 77 +BM_bernoulli/90 10621849 ns 10621760 ns 70 +BM_bernoulli/94 11364659 ns 11364409 ns 64 +BM_bernoulli/98 14031215 ns 14030636 ns 53 +BM_bernoulli/102 15269101 ns 15268211 ns 50 +BM_bernoulli/106 15253625 ns 15253028 ns 44 +BM_bernoulli/110 17638148 ns 17637756 ns 42 +BM_bernoulli/114 18335439 ns 18335007 ns 37 +BM_bernoulli/118 21044600 ns 21044146 ns 33 +BM_bernoulli/122 23713449 ns 23712950 ns 29 +BM_bernoulli/126 25994484 ns 25993901 ns 26 +BM_bernoulli/130 30173460 ns 30172780 ns 25 +BM_bernoulli/134 43993250 ns 43992333 ns 15 +BM_bernoulli/138 40704613 ns 40702777 ns 16 +BM_bernoulli/142 47015864 ns 47014950 ns 13 +BM_bernoulli/146 51469463 ns 51468592 ns 10 +BM_bernoulli/150 70737464 ns 70736106 ns 8 +BM_bernoulli/154 74904669 ns 74638691 ns 8 +BM_bernoulli/158 76644012 ns 76642396 ns 10 +BM_bernoulli/162 104915811 ns 104906795 ns 7 +BM_bernoulli/166 108178263 ns 108175914 ns 7 +BM_bernoulli/170 125366340 ns 125363885 ns 5 +BM_bernoulli/174 119816144 ns 119813754 ns 5 +BM_bernoulli/178 130675436 ns 130672631 ns 6 +BM_bernoulli/182 136007472 ns 136002124 ns 6 +BM_bernoulli/186 152172095 ns 152169271 ns 4 +BM_bernoulli/190 149450814 ns 149444035 ns 4 +BM_bernoulli/194 149612169 ns 149609183 ns 4 +BM_bernoulli/198 167597787 ns 167594528 ns 4 +BM_bernoulli/50 3270409 ns 3270343 ns 224 +BM_bernoulli/54 4844123 ns 4842950 ns 188 +BM_bernoulli/58 6032271 ns 6031493 ns 137 +BM_bernoulli/62 8356124 ns 8355959 ns 76 +BM_bernoulli/66 9433065 ns 9431740 ns 74 +BM_bernoulli/70 9144751 ns 9144294 ns 70 +BM_bernoulli/74 9130475 ns 9130309 ns 61 +BM_bernoulli/78 10537362 ns 10537142 ns 66 +BM_bernoulli/82 12613844 ns 12613249 ns 63 +BM_bernoulli/86 13630412 ns 13630144 ns 52 +BM_bernoulli/90 17308942 ns 17307564 ns 40 +BM_bernoulli/94 17941604 ns 17940817 ns 33 +BM_bernoulli/98 17702116 ns 17701739 ns 30 +BM_bernoulli/102 24652890 ns 24651531 ns 27 +BM_bernoulli/106 28959599 ns 28958456 ns 25 +BM_bernoulli/110 32250123 ns 32248791 ns 24 +BM_bernoulli/114 33049744 ns 33036651 ns 18 +BM_bernoulli/118 43063349 ns 43060565 ns 16 +BM_bernoulli/122 47526128 ns 47524442 ns 19 +BM_bernoulli/126 51732892 ns 51732056 ns 10 +BM_bernoulli/130 57019065 ns 57018140 ns 10 +BM_bernoulli/134 53774927 ns 53774090 ns 10 +BM_bernoulli/138 55161523 ns 55157578 ns 11 +BM_bernoulli/142 67521287 ns 67520101 ns 9 +BM_bernoulli/146 73495897 ns 73492888 ns 11 +BM_bernoulli/150 96401524 ns 96399781 ns 6 +BM_bernoulli/154 93370021 ns 93368470 ns 6 +BM_bernoulli/158 102579919 ns 102575818 ns 8 +BM_bernoulli/162 122980914 ns 122978722 ns 6 +BM_bernoulli/166 100311142 ns 100309423 ns 6 +BM_bernoulli/170 101722324 ns 101720320 ns 7 +BM_bernoulli/174 116791305 ns 116789020 ns 6 +BM_bernoulli/178 118186160 ns 118184175 ns 5 +BM_bernoulli/182 113692224 ns 113690229 ns 5 +BM_bernoulli/186 120508668 ns 120506323 ns 6 +BM_bernoulli/190 124836662 ns 124834484 ns 5 +BM_bernoulli/194 133126053 ns 133123581 ns 5 +BM_bernoulli/198 149959513 ns 149954105 ns 5 +BM_bernoulli >>/50 3290599 ns 3290466 ns 247 +BM_bernoulli >>/54 3829254 ns 3829119 ns 189 +BM_bernoulli >>/58 5026638 ns 5026546 ns 144 +BM_bernoulli >>/62 6338415 ns 6338287 ns 133 +BM_bernoulli >>/66 7401079 ns 7400940 ns 112 +BM_bernoulli >>/70 8056058 ns 8055920 ns 76 +BM_bernoulli >>/74 8688736 ns 8688407 ns 78 +BM_bernoulli >>/78 9168196 ns 9168029 ns 77 +BM_bernoulli >>/82 10547763 ns 10547404 ns 72 +BM_bernoulli >>/86 12687317 ns 12686717 ns 60 +BM_bernoulli >>/90 14583805 ns 14583533 ns 53 +BM_bernoulli >>/94 17533114 ns 17532466 ns 45 +BM_bernoulli >>/98 17795979 ns 17795666 ns 37 +BM_bernoulli >>/102 20905344 ns 20904910 ns 37 +BM_bernoulli >>/106 24965679 ns 24965242 ns 27 +BM_bernoulli >>/110 26153986 ns 26153512 ns 27 +BM_bernoulli >>/114 27283324 ns 27282865 ns 24 +BM_bernoulli >>/118 30932112 ns 30931542 ns 21 +BM_bernoulli >>/122 31709907 ns 31708366 ns 20 +BM_bernoulli >>/126 37541157 ns 37539799 ns 19 +BM_bernoulli >>/130 47600868 ns 47599791 ns 17 +BM_bernoulli >>/134 56589653 ns 56565174 ns 12 +BM_bernoulli >>/138 61844701 ns 61840208 ns 9 +BM_bernoulli >>/142 62854330 ns 62836747 ns 11 +BM_bernoulli >>/146 65305525 ns 65301664 ns 9 +BM_bernoulli >>/150 71840692 ns 71806806 ns 8 +BM_bernoulli >>/154 86537227 ns 86535425 ns 6 +BM_bernoulli >>/158 84476111 ns 84435425 ns 7 +BM_bernoulli >>/162 95187582 ns 95163676 ns 6 +BM_bernoulli >>/166 116436468 ns 116426811 ns 5 +BM_bernoulli >>/170 130978409 ns 130952717 ns 6 +BM_bernoulli >>/174 159328406 ns 159282156 ns 4 +BM_bernoulli >>/178 170187772 ns 170133406 ns 3 +BM_bernoulli >>/182 184317854 ns 184265450 ns 3 +BM_bernoulli >>/186 232363854 ns 232345590 ns 3 +BM_bernoulli >>/190 156385849 ns 156352248 ns 5 +BM_bernoulli >>/194 250575336 ns 250276632 ns 3 +BM_bernoulli >>/198 234528878 ns 234451241 ns 4 +BM_bernoulli/50 3576313 ns 3575669 ns 166 +BM_bernoulli/54 5617333 ns 5611911 ns 143 +BM_bernoulli/58 5434013 ns 5432617 ns 93 +BM_bernoulli/62 7520189 ns 7519819 ns 84 +BM_bernoulli/66 10063667 ns 10061634 ns 84 +BM_bernoulli/70 11741489 ns 11741278 ns 43 +BM_bernoulli/74 12503901 ns 12499604 ns 48 +BM_bernoulli/78 12891372 ns 12889086 ns 45 +BM_bernoulli/82 14146644 ns 14145407 ns 36 +BM_bernoulli/86 13244909 ns 13244178 ns 46 +BM_bernoulli/90 16761246 ns 16760132 ns 45 +BM_bernoulli/94 17757867 ns 17745522 ns 38 +BM_bernoulli/98 20767614 ns 20764969 ns 34 +BM_bernoulli/102 24630855 ns 24625094 ns 28 +BM_bernoulli/106 27775007 ns 27770111 ns 24 +BM_bernoulli/110 29217021 ns 29207281 ns 23 +BM_bernoulli/114 33637566 ns 33632317 ns 20 +BM_bernoulli/118 38106044 ns 38104497 ns 19 +BM_bernoulli/122 40618000 ns 40614832 ns 17 +BM_bernoulli/126 44129039 ns 44122736 ns 15 +BM_bernoulli/130 49499438 ns 49498465 ns 12 +BM_bernoulli/134 53824996 ns 53815652 ns 11 +BM_bernoulli/138 60739365 ns 60731483 ns 11 +BM_bernoulli/142 65850315 ns 65847652 ns 9 +BM_bernoulli/146 72453391 ns 72427755 ns 9 +BM_bernoulli/150 87085907 ns 87071159 ns 7 +BM_bernoulli/154 95887543 ns 95881314 ns 6 +BM_bernoulli/158 96230949 ns 96228927 ns 7 +BM_bernoulli/162 106197691 ns 106177472 ns 6 +BM_bernoulli/166 134945572 ns 134925799 ns 5 +BM_bernoulli/170 142289415 ns 142283919 ns 4 +BM_bernoulli/174 187878516 ns 187842807 ns 5 +BM_bernoulli/178 210256150 ns 210241919 ns 3 +BM_bernoulli/182 179176686 ns 179169030 ns 3 +BM_bernoulli/186 205849055 ns 205787179 ns 3 +BM_bernoulli/190 217773129 ns 217763972 ns 3 +BM_bernoulli/194 241406118 ns 241358945 ns 3 +BM_bernoulli/198 222322076 ns 222307749 ns 3 diff --git a/performance/rational_determinant_bench.log b/performance/rational_determinant_bench.log new file mode 100644 index 00000000..32272487 --- /dev/null +++ b/performance/rational_determinant_bench.log @@ -0,0 +1,24 @@ +---------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations +---------------------------------------------------------------------------------------------------- +BM_determinant/512 45.0 ms 45.0 ms 15 +BM_determinant/1024 103 ms 103 ms 6 +BM_determinant/2048 251 ms 251 ms 3 +BM_determinant/4096 667 ms 667 ms 1 +BM_determinant/8192 2034 ms 2033 ms 1 +BM_determinant/16384 6424 ms 6423 ms 1 +BM_determinant/32768 24227 ms 24223 ms 1 +BM_determinant/512 14.0 ms 14.0 ms 46 +BM_determinant/1024 31.3 ms 31.3 ms 22 +BM_determinant/2048 77.5 ms 77.5 ms 9 +BM_determinant/4096 199 ms 199 ms 4 +BM_determinant/8192 532 ms 532 ms 1 +BM_determinant/16384 1515 ms 1515 ms 1 +BM_determinant/32768 4544 ms 4544 ms 1 +BM_determinant/512 14.3 ms 14.3 ms 46 +BM_determinant/1024 31.3 ms 31.3 ms 22 +BM_determinant/2048 75.6 ms 75.6 ms 9 +BM_determinant/4096 193 ms 193 ms 4 +BM_determinant/8192 601 ms 601 ms 1 +BM_determinant/16384 1965 ms 1965 ms 1 +BM_determinant/32768 4740 ms 4738 ms 1 diff --git a/performance/sf_performance.log b/performance/sf_performance.log index 239c5f36..63287ad8 100644 --- a/performance/sf_performance.log +++ b/performance/sf_performance.log @@ -4,221 +4,221 @@ Allocation count for type mpfr_float_50 - no expression templates = 1 Allocation Counts for boost::math::tools::evaluate_polynomial: Allocation count for type mpfr_float_50 = 13 Allocation count for type mpfr_float_50 - no expression templates = 9 -Time for double = 0.000688113 seconds +Time for double = 0.000670234 seconds Total allocations for double = 14 -Time for real_concept = 0.00149196 seconds +Time for real_concept = 0.0172589 seconds Total allocations for real_concept = 0 -Time for arithmetic_backend = 0.00133409 seconds +Time for arithmetic_backend = 0.00172288 seconds Total allocations for arithmetic_backend = 0 -Time for arithmetic_backend - no expression templates = 0.000637403 seconds +Time for arithmetic_backend - no expression templates = 0.00342056 seconds Total allocations for arithmetic_backend - no expression templates = 0 -Time for double = 0.0366824 seconds +Time for double = 0.0573604 seconds Total allocations for double = 0 -Time for real_concept = 0.0867356 seconds +Time for real_concept = 0.106877 seconds Total allocations for real_concept = 0 -Time for arithmetic_backend = 0.0956691 seconds +Time for arithmetic_backend = 0.0958558 seconds Total allocations for arithmetic_backend = 0 -Time for arithmetic_backend - no expression templates = 0.040428 seconds +Time for arithmetic_backend - no expression templates = 0.0567841 seconds Total allocations for arithmetic_backend - no expression templates = 0 Testing Bessel Functions at 50 digits..... -Time for mpfr_float_50 = 0.204043 seconds -Total allocations for mpfr_float_50 = 813605 -Time for mpfr_float_50 (3 theads) = 0.238272 seconds -Total allocations for mpfr_float_50 = 3255602 -Time for mpfr_float_50 (no expression templates = 0.216221 seconds -Total allocations for mpfr_float_50 (no expression templates = 1001796 -Time for mpfr_float_50 (no expression templates (3 theads) = 0.267326 seconds -Total allocations for mpfr_float_50 (no expression templates = 4008534 -Time for static_mpfr_float_50 = 0.146508 seconds -Total allocations for static_mpfr_float_50 = 18685 -Time for static_mpfr_float_50 (3 theads) = 0.180008 seconds -Total allocations for static_mpfr_float_50 = 75946 -Time for static_mpfr_float_50 (no expression templates) = 0.143153 seconds -Total allocations for static_mpfr_float_50 (no expression templates) = 46826 -Time for static_mpfr_float_50 (no expression templates) (3 theads) = 0.161564 seconds -Total allocations for static_mpfr_float_50 (no expression templates) = 189191 -Time for mpf_float_50 = 0.167874 seconds -Total allocations for mpf_float_50 = 870726 -Time for mpf_float_50 (3 theads) = 0.205629 seconds -Total allocations for mpf_float_50 = 3482852 -Time for mpf_float_50 (no expression templates = 0.171495 seconds -Total allocations for mpf_float_50 (no expression templates = 1071229 -Time for mpf_float_50 (no expression templates (3 theads) = 0.22507 seconds -Total allocations for mpf_float_50 (no expression templates = 4284874 -Time for cpp_dec_float_50 = 0.377193 seconds -Total allocations for cpp_dec_float_50 = 3 -Time for cpp_dec_float_50 (3 theads) = 0.410275 seconds -Total allocations for cpp_dec_float_50 = 36 -Time for cpp_bin_float_50 = 0.315701 seconds -Total allocations for cpp_bin_float_50 = 4 -Time for cpp_bin_float_50 (3 theads) = 0.338848 seconds -Total allocations for cpp_bin_float_50 = 43 +Time for mpfr_float_50 = 0.115838 seconds +Total allocations for mpfr_float_50 = 583054 +Time for mpfr_float_50 (3 theads) = 0.149324 seconds +Total allocations for mpfr_float_50 = 2330875 +Time for mpfr_float_50 (no expression templates = 0.132073 seconds +Total allocations for mpfr_float_50 (no expression templates = 999594 +Time for mpfr_float_50 (no expression templates (3 theads) = 0.185337 seconds +Total allocations for mpfr_float_50 (no expression templates = 4000038 +Time for static_mpfr_float_50 = 0.10957 seconds +Total allocations for static_mpfr_float_50 = 22930 +Time for static_mpfr_float_50 (3 theads) = 0.128496 seconds +Total allocations for static_mpfr_float_50 = 93139 +Time for static_mpfr_float_50 (no expression templates) = 0.106089 seconds +Total allocations for static_mpfr_float_50 (no expression templates) = 46861 +Time for static_mpfr_float_50 (no expression templates) (3 theads) = 0.115288 seconds +Total allocations for static_mpfr_float_50 (no expression templates) = 189226 +Time for mpf_float_50 = 0.0959515 seconds +Total allocations for mpf_float_50 = 640961 +Time for mpf_float_50 (3 theads) = 0.139268 seconds +Total allocations for mpf_float_50 = 2563516 +Time for mpf_float_50 (no expression templates = 0.0925745 seconds +Total allocations for mpf_float_50 (no expression templates = 1019039 +Time for mpf_float_50 (no expression templates (3 theads) = 0.141131 seconds +Total allocations for mpf_float_50 (no expression templates = 4075841 +Time for cpp_dec_float_50 = 0.422285 seconds +Total allocations for cpp_dec_float_50 = 381 +Time for cpp_dec_float_50 (3 theads) = 0.524077 seconds +Total allocations for cpp_dec_float_50 = 423 +Time for cpp_bin_float_50 = 0.207745 seconds +Total allocations for cpp_bin_float_50 = 399 +Time for cpp_bin_float_50 (3 theads) = 0.266594 seconds +Total allocations for cpp_bin_float_50 = 462 Testing Bessel Functions at 100 digits..... -Time for mpfr_float_100 = 0.504992 seconds -Total allocations for mpfr_float_100 = 1666200 -Time for mpfr_float_100 (no expression templates = 0.503061 seconds -Total allocations for mpfr_float_100 (no expression templates = 2120706 -Time for static_mpfr_float_100 = 0.375447 seconds -Total allocations for static_mpfr_float_100 = 19391 -Time for mpf_float_100 = 0.406251 seconds -Total allocations for mpf_float_100 = 1817791 -Time for mpf_float_100 (no expression templates = 0.418247 seconds -Total allocations for mpf_float_100 (no expression templates = 2221056 -Time for cpp_dec_float_100 = 1.13054 seconds -Total allocations for cpp_dec_float_100 = 3 -Time for cpp_bin_float_100 = 1.19595 seconds -Total allocations for cpp_bin_float_100 = 6 +Time for mpfr_float_100 = 0.317635 seconds +Total allocations for mpfr_float_100 = 1236026 +Time for mpfr_float_100 (no expression templates = 0.338071 seconds +Total allocations for mpfr_float_100 (no expression templates = 2119472 +Time for static_mpfr_float_100 = 0.271907 seconds +Total allocations for static_mpfr_float_100 = 27969 +Time for mpf_float_100 = 0.246796 seconds +Total allocations for mpf_float_100 = 1385589 +Time for mpf_float_100 (no expression templates = 0.264389 seconds +Total allocations for mpf_float_100 (no expression templates = 2123705 +Time for cpp_dec_float_100 = 2.13193 seconds +Total allocations for cpp_dec_float_100 = 6 +Time for cpp_bin_float_100 = 0.931753 seconds +Total allocations for cpp_bin_float_100 = 913 Testing Polynomial Evaluation at 50 digits..... -Time for mpfr_float_50 = 0.00172618 seconds +Time for mpfr_float_50 = 0.000770731 seconds Total allocations for mpfr_float_50 = 12976 -Time for mpfr_float_50 (no expression templates = 0.00140102 seconds +Time for mpfr_float_50 (no expression templates = 0.000637226 seconds Total allocations for mpfr_float_50 (no expression templates = 8984 -Time for static_mpfr_float_50 = 0.000774017 seconds +Time for static_mpfr_float_50 = 0.000645885 seconds Total allocations for static_mpfr_float_50 = 0 -Time for mpf_float_50 = 0.00122821 seconds +Time for mpf_float_50 = 0.000453308 seconds Total allocations for mpf_float_50 = 12976 -Time for mpf_float_50 (no expression templates = 0.000938302 seconds +Time for mpf_float_50 (no expression templates = 0.000401807 seconds Total allocations for mpf_float_50 (no expression templates = 8984 -Time for cpp_dec_float_50 = 0.000761543 seconds +Time for cpp_dec_float_50 = 0.000993151 seconds Total allocations for cpp_dec_float_50 = 0 -Time for cpp_bin_float_50 = 0.00100391 seconds +Time for cpp_bin_float_50 = 0.000652988 seconds Total allocations for cpp_bin_float_50 = 0 Testing Polynomial Evaluation at 100 digits..... -Time for mpfr_float_100 = 0.00198759 seconds +Time for mpfr_float_100 = 0.0011754 seconds Total allocations for mpfr_float_100 = 12976 -Time for mpfr_float_100 (no expression templates = 0.00197391 seconds +Time for mpfr_float_100 (no expression templates = 0.00108413 seconds Total allocations for mpfr_float_100 (no expression templates = 8984 -Time for static_mpfr_float_100 = 0.00115947 seconds +Time for static_mpfr_float_100 = 0.000728305 seconds Total allocations for static_mpfr_float_100 = 0 -Time for mpf_float_100 = 0.00130242 seconds +Time for mpf_float_100 = 0.000475054 seconds Total allocations for mpf_float_100 = 12976 -Time for mpf_float_100 (no expression templates = 0.000967883 seconds +Time for mpf_float_100 (no expression templates = 0.000343519 seconds Total allocations for mpf_float_100 (no expression templates = 8984 -Time for cpp_dec_float_100 = 0.00110386 seconds +Time for cpp_dec_float_100 = 0.00259039 seconds Total allocations for cpp_dec_float_100 = 0 -Time for cpp_bin_float_100 = 0.00144396 seconds +Time for cpp_bin_float_100 = 0.00239745 seconds Total allocations for cpp_bin_float_100 = 0 Testing Non-Central T at 50 digits..... -Time for mpfr_float_50 = 45.8621 seconds -Total allocations for mpfr_float_50 = 196986977 -Time for mpfr_float_50 (no expression templates = 41.5062 seconds -Total allocations for mpfr_float_50 (no expression templates = 194554719 -Time for static_mpfr_float_50 = 31.1014 seconds -Total allocations for static_mpfr_float_50 = 1798554 -Time for mpf_float_50 = 28.2162 seconds -Total allocations for mpf_float_50 = 162346817 -Time for mpf_float_50 (no expression templates = 24.8611 seconds -Total allocations for mpf_float_50 (no expression templates = 154896018 -Time for cpp_dec_float_50 = 61.5326 seconds -Total allocations for cpp_dec_float_50 = 4 -Time for cpp_bin_float_50 = 59.0179 seconds -Total allocations for cpp_bin_float_50 = 1 -Time for cpp_bin_float_50 (3 theads) = 79.9276 seconds -Total allocations for cpp_bin_float_50 = 28 +Time for mpfr_float_50 = 19.1749 seconds +Total allocations for mpfr_float_50 = 118401290 +Time for mpfr_float_50 (no expression templates = 22.0858 seconds +Total allocations for mpfr_float_50 (no expression templates = 152816346 +Time for static_mpfr_float_50 = 16.8686 seconds +Total allocations for static_mpfr_float_50 = 113395 +Time for mpf_float_50 = 17.2475 seconds +Total allocations for mpf_float_50 = 123749688 +Time for mpf_float_50 (no expression templates = 16.1468 seconds +Total allocations for mpf_float_50 (no expression templates = 152610085 +Time for cpp_dec_float_50 = 77.9505 seconds +Total allocations for cpp_dec_float_50 = 0 +Time for cpp_bin_float_50 = 38.5842 seconds +Total allocations for cpp_bin_float_50 = 0 +Time for cpp_bin_float_50 (3 theads) = 56.6 seconds +Total allocations for cpp_bin_float_50 = 27 Testing Non-Central T at 100 digits..... -Time for mpfr_float_100 = 92.8415 seconds -Total allocations for mpfr_float_100 = 333396307 -Time for mpfr_float_100 (no expression templates = 84.5783 seconds -Total allocations for mpfr_float_100 (no expression templates = 325676494 -Time for static_mpfr_float_100 = 69.8614 seconds -Total allocations for static_mpfr_float_100 = 15326962 -Time for mpf_float_100 = 60.903 seconds -Total allocations for mpf_float_100 = 280052298 -Time for mpf_float_100 (no expression templates = 52.3144 seconds -Total allocations for mpf_float_100 (no expression templates = 265239868 -Time for cpp_dec_float_100 = 184.481 seconds -Total allocations for cpp_dec_float_100 = 5 -Time for cpp_bin_float_100 = 180.534 seconds -Total allocations for cpp_bin_float_100 = 2 +Time for mpfr_float_100 = 45.6647 seconds +Total allocations for mpfr_float_100 = 184143656 +Time for mpfr_float_100 (no expression templates = 42.8714 seconds +Total allocations for mpfr_float_100 (no expression templates = 237898133 +Time for static_mpfr_float_100 = 38.1912 seconds +Total allocations for static_mpfr_float_100 = 131292 +Time for mpf_float_100 = 28.4582 seconds +Total allocations for mpf_float_100 = 192516784 +Time for mpf_float_100 (no expression templates = 31.2473 seconds +Total allocations for mpf_float_100 (no expression templates = 237462794 +Time for cpp_dec_float_100 = 260.738 seconds +Total allocations for cpp_dec_float_100 = 0 +Time for cpp_bin_float_100 = 128.675 seconds +Total allocations for cpp_bin_float_100 = 0 [table Bessel Functions (100 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_100][3.18541 (1.19595s)][6]] -[[cpp_dec_float_100][3.01119 (1.13054s)][3]] -[[mpf_float_100][1.08204 (0.406251s)][1817791]] -[[mpf_float_100 (no expression templates][1.114 (0.418247s)][2221056]] -[[mpfr_float_100][1.34504 (0.504992s)][1666200]] -[[mpfr_float_100 (no expression templates][1.3399 (0.503061s)][2120706]] -[[static_mpfr_float_100][1 (0.375447s)][19391]] +[[cpp_bin_float_100][3.77539 (0.931753s)][913]] +[[cpp_dec_float_100][8.63842 (2.13193s)][6]] +[[mpf_float_100][1 (0.246796s)][1385589]] +[[mpf_float_100 (no expression templates][1.07128 (0.264389s)][2123705]] +[[mpfr_float_100][1.28703 (0.317635s)][1236026]] +[[mpfr_float_100 (no expression templates][1.36984 (0.338071s)][2119472]] +[[static_mpfr_float_100][1.10175 (0.271907s)][27969]] ] [table Bessel Functions (16 digit precision) [[Type][Time][# Allocations]] -[[arithmetic_backend][2.09301 (0.00133409s)][0]] -[[arithmetic_backend - no expression templates][1 (0.000637403s)][0]] -[[double][1.07956 (0.000688113s)][14]] -[[real_concept][2.34069 (0.00149196s)][0]] +[[arithmetic_backend][2.57057 (0.00172288s)][0]] +[[arithmetic_backend - no expression templates][5.10354 (0.00342056s)][0]] +[[double][1 (0.000670234s)][14]] +[[real_concept][25.7506 (0.0172589s)][0]] ] [table Bessel Functions (50 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_50][2.20534 (0.315701s)][4]] -[[cpp_bin_float_50 (3 concurrent threads)][2.36703 (0.338848s)][44]] -[[cpp_dec_float_50][2.6349 (0.377193s)][3]] -[[cpp_dec_float_50 (3 concurrent threads)][2.86599 (0.410275s)][37]] -[[mpf_float_50][1.17269 (0.167874s)][870726]] -[[mpf_float_50 (3 concurrent threads)][1.43643 (0.205629s)][3482853]] -[[mpf_float_50 (no expression templates][1.19799 (0.171495s)][1071229]] -[[mpf_float_50 (no expression templates (3 concurrent threads)][1.57224 (0.22507s)][4284875]] -[[mpfr_float_50][1.42535 (0.204043s)][813605]] -[[mpfr_float_50 (3 concurrent threads)][1.66446 (0.238272s)][3255603]] -[[mpfr_float_50 (no expression templates][1.51042 (0.216221s)][1001796]] -[[mpfr_float_50 (no expression templates (3 concurrent threads)][1.86742 (0.267326s)][4008535]] -[[static_mpfr_float_50][1.02344 (0.146508s)][18685]] -[[static_mpfr_float_50 (3 concurrent threads)][1.25745 (0.180008s)][75947]] -[[static_mpfr_float_50 (no expression templates)][1 (0.143153s)][46826]] -[[static_mpfr_float_50 (no expression templates) (3 concurrent threads)][1.12861 (0.161564s)][189192]] +[[cpp_bin_float_50][2.24409 (0.207745s)][399]] +[[cpp_bin_float_50 (3 concurrent threads)][2.87977 (0.266594s)][463]] +[[cpp_dec_float_50][4.56157 (0.422285s)][381]] +[[cpp_dec_float_50 (3 concurrent threads)][5.66114 (0.524077s)][424]] +[[mpf_float_50][1.03648 (0.0959515s)][640961]] +[[mpf_float_50 (3 concurrent threads)][1.50439 (0.139268s)][2563517]] +[[mpf_float_50 (no expression templates][1 (0.0925745s)][1019039]] +[[mpf_float_50 (no expression templates (3 concurrent threads)][1.52451 (0.141131s)][4075842]] +[[mpfr_float_50][1.2513 (0.115838s)][583054]] +[[mpfr_float_50 (3 concurrent threads)][1.61301 (0.149324s)][2330876]] +[[mpfr_float_50 (no expression templates][1.42667 (0.132073s)][999594]] +[[mpfr_float_50 (no expression templates (3 concurrent threads)][2.00203 (0.185337s)][4000039]] +[[static_mpfr_float_50][1.18358 (0.10957s)][22930]] +[[static_mpfr_float_50 (3 concurrent threads)][1.38802 (0.128496s)][93140]] +[[static_mpfr_float_50 (no expression templates)][1.14598 (0.106089s)][46861]] +[[static_mpfr_float_50 (no expression templates) (3 concurrent threads)][1.24535 (0.115288s)][189227]] ] [table Non-central T (16 digit precision) [[Type][Time][# Allocations]] -[[arithmetic_backend][2.60804 (0.0956691s)][0]] -[[arithmetic_backend - no expression templates][1.10211 (0.040428s)][0]] -[[double][1 (0.0366824s)][0]] -[[real_concept][2.3645 (0.0867356s)][0]] +[[arithmetic_backend][1.68807 (0.0958558s)][0]] +[[arithmetic_backend - no expression templates][1 (0.0567841s)][0]] +[[double][1.01015 (0.0573604s)][0]] +[[real_concept][1.88216 (0.106877s)][0]] ] [table Non-central T Distribution (100 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_100][3.45094 (180.534s)][2]] -[[cpp_dec_float_100][3.52639 (184.481s)][5]] -[[mpf_float_100][1.16417 (60.903s)][280052298]] -[[mpf_float_100 (no expression templates][1 (52.3144s)][265239868]] -[[mpfr_float_100][1.77469 (92.8415s)][333396307]] -[[mpfr_float_100 (no expression templates][1.61673 (84.5783s)][325676494]] -[[static_mpfr_float_100][1.33541 (69.8614s)][15326962]] +[[cpp_bin_float_100][4.52155 (128.675s)][0]] +[[cpp_dec_float_100][9.16214 (260.738s)][0]] +[[mpf_float_100][1 (28.4582s)][192516784]] +[[mpf_float_100 (no expression templates][1.098 (31.2473s)][237462794]] +[[mpfr_float_100][1.60462 (45.6647s)][184143656]] +[[mpfr_float_100 (no expression templates][1.50647 (42.8714s)][237898133]] +[[static_mpfr_float_100][1.34201 (38.1912s)][131292]] ] [table Non-central T Distribution (50 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_50][2.3739 (59.0179s)][1]] -[[cpp_bin_float_50 (3 concurrent threads)][3.21496 (79.9276s)][29]] -[[cpp_dec_float_50][2.47505 (61.5326s)][4]] -[[mpf_float_50][1.13495 (28.2162s)][162346817]] -[[mpf_float_50 (no expression templates][1 (24.8611s)][154896018]] -[[mpfr_float_50][1.84473 (45.8621s)][196986977]] -[[mpfr_float_50 (no expression templates][1.66952 (41.5062s)][194554719]] -[[static_mpfr_float_50][1.25101 (31.1014s)][1798554]] +[[cpp_bin_float_50][2.38959 (38.5842s)][0]] +[[cpp_bin_float_50 (3 concurrent threads)][3.50535 (56.6s)][28]] +[[cpp_dec_float_50][4.82763 (77.9505s)][0]] +[[mpf_float_50][1.06817 (17.2475s)][123749688]] +[[mpf_float_50 (no expression templates][1 (16.1468s)][152610085]] +[[mpfr_float_50][1.18754 (19.1749s)][118401290]] +[[mpfr_float_50 (no expression templates][1.36782 (22.0858s)][152816346]] +[[static_mpfr_float_50][1.04471 (16.8686s)][113395]] ] [table Polynomial Evaluation (100 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_100][1.49187 (0.00144396s)][0]] -[[cpp_dec_float_100][1.14049 (0.00110386s)][0]] -[[mpf_float_100][1.34564 (0.00130242s)][12976]] -[[mpf_float_100 (no expression templates][1 (0.000967883s)][8984]] -[[mpfr_float_100][2.05354 (0.00198759s)][12976]] -[[static_mpfr_float_100][1.19794 (0.00115947s)][0]] +[[cpp_bin_float_100][6.97908 (0.00239745s)][0]] +[[cpp_dec_float_100][7.54076 (0.00259039s)][0]] +[[mpf_float_100][1.3829 (0.000475054s)][12976]] +[[mpf_float_100 (no expression templates][1 (0.000343519s)][8984]] +[[mpfr_float_100][3.42163 (0.0011754s)][12976]] +[[static_mpfr_float_100][2.12013 (0.000728305s)][0]] ] [table Polynomial Evaluation (50 digit precision) [[Type][Time][# Allocations]] -[[cpp_bin_float_50][1.31826 (0.00100391s)][0]] -[[cpp_dec_float_50][1 (0.000761543s)][0]] -[[mpf_float_50][1.61279 (0.00122821s)][12976]] -[[mpf_float_50 (no expression templates][1.23211 (0.000938302s)][8984]] -[[mpfr_float_100 (no expression templates][2.59199 (0.00197391s)][8984]] -[[mpfr_float_50][2.26669 (0.00172618s)][12976]] -[[mpfr_float_50 (no expression templates][1.83971 (0.00140102s)][8984]] -[[static_mpfr_float_50][1.01638 (0.000774017s)][0]] +[[cpp_bin_float_50][1.62513 (0.000652988s)][0]] +[[cpp_dec_float_50][2.47171 (0.000993151s)][0]] +[[mpf_float_50][1.12817 (0.000453308s)][12976]] +[[mpf_float_50 (no expression templates][1 (0.000401807s)][8984]] +[[mpfr_float_100 (no expression templates][2.69812 (0.00108413s)][8984]] +[[mpfr_float_50][1.91816 (0.000770731s)][12976]] +[[mpfr_float_50 (no expression templates][1.5859 (0.000637226s)][8984]] +[[static_mpfr_float_50][1.60745 (0.000645885s)][0]] ]