gmp_float 50 + 0.110988 gmp_float 50 - 0.119898 gmp_float 50 * 0.275044 gmp_float 50 / 1.27708 gmp_float 50 str 0.013276 gmp_float 50 +(int)0.0330888 gmp_float 50 -(int)0.134451 gmp_float 50 *(int)0.0422135 gmp_float 50 /(int)0.180393 gmp_float 50 construct0.19737 gmp_float 50 construct(unsigned)0.208078 gmp_float 50 construct(unsigned long long)0.520025 gmp_float 50 + 0.498089 gmp_float 50 - 0.502235 gmp_float 50 * 0.564768 gmp_float 50 / 0.90324 gmp_float 50 + 0.477999 gmp_float 50 - 0.499682 gmp_float 50 * 0.551747 gmp_float 50 / 0.893752 gmp_float 100 + 0.111217 gmp_float 100 - 0.120498 gmp_float 100 * 0.416175 gmp_float 100 / 1.69515 gmp_float 100 str 0.0202949 gmp_float 100 +(int)0.0386882 gmp_float 100 -(int)0.1351 gmp_float 100 *(int)0.0493716 gmp_float 100 /(int)0.23378 gmp_float 100 construct0.196599 gmp_float 100 construct(unsigned)0.207062 gmp_float 100 construct(unsigned long long)0.51936 gmp_float 100 + 0.517172 gmp_float 100 - 0.509588 gmp_float 100 * 0.575954 gmp_float 100 / 1.04262 gmp_float 100 + 0.476701 gmp_float 100 - 0.503546 gmp_float 100 * 0.564962 gmp_float 100 / 1.03328 gmp_float 500 + 0.15445 gmp_float 500 - 0.164099 gmp_float 500 * 3.32799 gmp_float 500 / 8.12655 gmp_float 500 str 0.141162 gmp_float 500 +(int)0.0646201 gmp_float 500 -(int)0.176876 gmp_float 500 *(int)0.0857876 gmp_float 500 /(int)0.710204 gmp_float 500 construct0.206063 gmp_float 500 construct(unsigned)0.217019 gmp_float 500 construct(unsigned long long)0.538021 gmp_float 500 + 0.552532 gmp_float 500 - 0.555754 gmp_float 500 * 0.717186 gmp_float 500 / 2.24686 gmp_float 500 + 0.490614 gmp_float 500 - 0.547751 gmp_float 500 * 0.700957 gmp_float 500 / 2.24146 gmp_int 128 + 0.0421662 gmp_int 128 - 0.0411848 gmp_int 128 * 0.0708996 gmp_int 128 / 0.868916 gmp_int 128 str 0.00185638 gmp_int 128 +(int)0.0311237 gmp_int 128 -(int)0.030585 gmp_int 128 *(int)0.022756 gmp_int 128 /(int)0.0560401 gmp_int 128 construct0.196182 gmp_int 128 construct(unsigned)0.206113 gmp_int 128 construct(unsigned long long)0.719741 gmp_int 128 % 0.64148 gmp_int 128 | 0.0474678 gmp_int 128 & 0.0538128 gmp_int 128 ^ 0.0497194 gmp_int 128 << 0.0273994 gmp_int 128 >> 0.0288237 gmp_int 128 %(int)0.0572117 gmp_int 128 |(int)0.141119 gmp_int 128 &(int)0.141306 gmp_int 128 ^(int)0.143934 gmp_int 128 gcd 2.45095 gmp_int 128 + 0.71217 gmp_int 128 - 0.687129 gmp_int 128 * 0.716479 gmp_int 128 / 1.04926 gmp_int 128 + 0.68136 gmp_int 128 - 0.681187 gmp_int 128 * 3.1627 gmp_int 128 / 0.685487 gmp_int 256 + 0.0449584 gmp_int 256 - 0.0461316 gmp_int 256 * 0.134302 gmp_int 256 / 0.951505 gmp_int 256 str 0.00344576 gmp_int 256 +(int)0.0428011 gmp_int 256 -(int)0.0400434 gmp_int 256 *(int)0.0282672 gmp_int 256 /(int)0.0982823 gmp_int 256 construct0.201199 gmp_int 256 construct(unsigned)0.211295 gmp_int 256 construct(unsigned long long)0.729487 gmp_int 256 % 0.703592 gmp_int 256 | 0.0618281 gmp_int 256 & 0.0652169 gmp_int 256 ^ 0.0630174 gmp_int 256 << 0.031973 gmp_int 256 >> 0.0310184 gmp_int 256 %(int)0.10258 gmp_int 256 |(int)0.142987 gmp_int 256 &(int)0.139398 gmp_int 256 ^(int)0.144825 gmp_int 256 gcd 5.89505 gmp_int 256 + 0.728978 gmp_int 256 - 0.707806 gmp_int 256 * 0.731454 gmp_int 256 / 1.17203 gmp_int 256 + 0.68929 gmp_int 256 - 0.683532 gmp_int 256 * 3.15114 gmp_int 256 / 0.689516 gmp_int 512 + 0.0522202 gmp_int 512 - 0.0567637 gmp_int 512 * 0.532277 gmp_int 512 / 1.06442 gmp_int 512 str 0.00618403 gmp_int 512 +(int)0.0665539 gmp_int 512 -(int)0.0578194 gmp_int 512 *(int)0.0361075 gmp_int 512 /(int)0.183564 gmp_int 512 construct0.19783 gmp_int 512 construct(unsigned)0.206944 gmp_int 512 construct(unsigned long long)0.724649 gmp_int 512 % 0.819828 gmp_int 512 | 0.0856626 gmp_int 512 & 0.092104 gmp_int 512 ^ 0.0869819 gmp_int 512 << 0.0471709 gmp_int 512 >> 0.0337511 gmp_int 512 %(int)0.188529 gmp_int 512 |(int)0.155656 gmp_int 512 &(int)0.142498 gmp_int 512 ^(int)0.152773 gmp_int 512 gcd 13.6993 gmp_int 512 + 0.759532 gmp_int 512 - 0.732529 gmp_int 512 * 0.779921 gmp_int 512 / 1.39149 gmp_int 512 + 0.694235 gmp_int 512 - 0.69246 gmp_int 512 * 3.17094 gmp_int 512 / 0.688995 gmp_int 1024 + 0.0699873 gmp_int 1024 - 0.0731244 gmp_int 1024 * 1.57852 gmp_int 1024 / 1.30215 gmp_int 1024 str 0.0144523 gmp_int 1024 +(int)0.108272 gmp_int 1024 -(int)0.100541 gmp_int 1024 *(int)0.0518882 gmp_int 1024 /(int)0.352238 gmp_int 1024 construct0.19744 gmp_int 1024 construct(unsigned)0.216229 gmp_int 1024 construct(unsigned long long)0.722262 gmp_int 1024 % 1.01959 gmp_int 1024 | 0.136082 gmp_int 1024 & 0.144412 gmp_int 1024 ^ 0.139109 gmp_int 1024 << 0.0721984 gmp_int 1024 >> 0.0388038 gmp_int 1024 %(int)0.355222 gmp_int 1024 |(int)0.163236 gmp_int 1024 &(int)0.141249 gmp_int 1024 ^(int)0.161662 gmp_int 1024 gcd 33.2232 gmp_int 1024 + 0.83035 gmp_int 1024 - 0.78115 gmp_int 1024 * 0.815503 gmp_int 1024 / 1.84054 gmp_int 1024 + 0.690013 gmp_int 1024 - 0.690838 gmp_int 1024 * 3.20893 gmp_int 1024 / 0.707578 cpp_int(unsigned, fixed)64 + 0.00232166 cpp_int(unsigned, fixed)64 - 0.00234506 cpp_int(unsigned, fixed)64 * 0.00470304 cpp_int(unsigned, fixed)64 / 0.0714786 cpp_int(unsigned, fixed)64 str 0.00256457 cpp_int(unsigned, fixed)64 +(int)0.00162053 cpp_int(unsigned, fixed)64 -(int)0.00163617 cpp_int(unsigned, fixed)64 *(int)0.00236511 cpp_int(unsigned, fixed)64 /(int)0.0299559 cpp_int(unsigned, fixed)64 construct0.00111299 cpp_int(unsigned, fixed)64 construct(unsigned)0.00110489 cpp_int(unsigned, fixed)64 construct(unsigned long long)0.00240876 cpp_int(unsigned, fixed)64 % 0.0702826 cpp_int(unsigned, fixed)64 | 0.00265921 cpp_int(unsigned, fixed)64 & 0.00261653 cpp_int(unsigned, fixed)64 ^ 0.0040003 cpp_int(unsigned, fixed)64 << 0.00161592 cpp_int(unsigned, fixed)64 >> 0.00161599 cpp_int(unsigned, fixed)64 %(int)0.0298064 cpp_int(unsigned, fixed)64 |(int)0.00165538 cpp_int(unsigned, fixed)64 &(int)0.00161431 cpp_int(unsigned, fixed)64 ^(int)0.00184507 cpp_int(unsigned, fixed)64 gcd 0.602722 cpp_int(unsigned, fixed)64 + 0.00253726 cpp_int(unsigned, fixed)64 - 0.00301519 cpp_int(unsigned, fixed)64 * 0.00474872 cpp_int(unsigned, fixed)64 / 0.0450108 cpp_int(unsigned, fixed)64 + 0.0020173 cpp_int(unsigned, fixed)64 - 0.00191079 cpp_int(unsigned, fixed)64 * 0.00445077 cpp_int(unsigned, fixed)64 / 0.0294528 cpp_int(fixed) 64 + 0.00573474 cpp_int(fixed) 64 - 0.0096272 cpp_int(fixed) 64 * 0.00897607 cpp_int(fixed) 64 / 0.0783882 cpp_int(fixed) 64 str 0.00251659 cpp_int(fixed) 64 +(int)0.00636247 cpp_int(fixed) 64 -(int)0.00668367 cpp_int(fixed) 64 *(int)0.00548722 cpp_int(fixed) 64 /(int)0.0362985 cpp_int(fixed) 64 construct0.00161745 cpp_int(fixed) 64 construct(unsigned)0.00209147 cpp_int(fixed) 64 construct(unsigned long long)0.00204998 cpp_int(fixed) 64 % 0.0777437 cpp_int(fixed) 64 | 0.0108982 cpp_int(fixed) 64 & 0.0124165 cpp_int(fixed) 64 ^ 0.0110313 cpp_int(fixed) 64 << 0.00516511 cpp_int(fixed) 64 >> 0.00399499 cpp_int(fixed) 64 %(int)0.0341425 cpp_int(fixed) 64 |(int)0.0111002 cpp_int(fixed) 64 &(int)0.0104782 cpp_int(fixed) 64 ^(int)0.0107199 cpp_int(fixed) 64 gcd 0.604291 cpp_int(fixed) 64 + 0.00605482 cpp_int(fixed) 64 - 0.00714372 cpp_int(fixed) 64 * 0.00873093 cpp_int(fixed) 64 / 0.0510195 cpp_int(fixed) 64 + 0.00430062 cpp_int(fixed) 64 - 0.00387577 cpp_int(fixed) 64 * 0.00567824 cpp_int(fixed) 64 / 0.0320162 cpp_int(fixed) 128 + 0.0358493 cpp_int(fixed) 128 - 0.0397574 cpp_int(fixed) 128 * 0.0672363 cpp_int(fixed) 128 / 0.222933 cpp_int(fixed) 128 str 0.0015613 cpp_int(fixed) 128 +(int)0.0268311 cpp_int(fixed) 128 -(int)0.0241848 cpp_int(fixed) 128 *(int)0.0328109 cpp_int(fixed) 128 /(int)0.137619 cpp_int(fixed) 128 construct0.00164665 cpp_int(fixed) 128 construct(unsigned)0.0015986 cpp_int(fixed) 128 construct(unsigned long long)0.00312994 cpp_int(fixed) 128 % 0.1971 cpp_int(fixed) 128 | 0.0380136 cpp_int(fixed) 128 & 0.0341411 cpp_int(fixed) 128 ^ 0.0351059 cpp_int(fixed) 128 << 0.0320915 cpp_int(fixed) 128 >> 0.0293055 cpp_int(fixed) 128 %(int)0.103684 cpp_int(fixed) 128 |(int)0.0317854 cpp_int(fixed) 128 &(int)0.0417383 cpp_int(fixed) 128 ^(int)0.0312355 cpp_int(fixed) 128 gcd 4.18006 cpp_int(fixed) 128 + 0.0341301 cpp_int(fixed) 128 - 0.0346952 cpp_int(fixed) 128 * 0.0675308 cpp_int(fixed) 128 / 0.466907 cpp_int(fixed) 128 + 0.0168342 cpp_int(fixed) 128 - 0.0169449 cpp_int(fixed) 128 * 0.0673436 cpp_int(fixed) 128 / 0.0327432 cpp_int(fixed) 256 + 0.0552275 cpp_int(fixed) 256 - 0.0560103 cpp_int(fixed) 256 * 0.166666 cpp_int(fixed) 256 / 0.349956 cpp_int(fixed) 256 str 0.00297279 cpp_int(fixed) 256 +(int)0.0410749 cpp_int(fixed) 256 -(int)0.0368306 cpp_int(fixed) 256 *(int)0.049867 cpp_int(fixed) 256 /(int)0.253796 cpp_int(fixed) 256 construct0.00363363 cpp_int(fixed) 256 construct(unsigned)0.00370466 cpp_int(fixed) 256 construct(unsigned long long)0.00388115 cpp_int(fixed) 256 % 0.334027 cpp_int(fixed) 256 | 0.0529581 cpp_int(fixed) 256 & 0.0501131 cpp_int(fixed) 256 ^ 0.0530521 cpp_int(fixed) 256 << 0.0507053 cpp_int(fixed) 256 >> 0.039006 cpp_int(fixed) 256 %(int)0.200647 cpp_int(fixed) 256 |(int)0.0466958 cpp_int(fixed) 256 &(int)0.0539427 cpp_int(fixed) 256 ^(int)0.0476923 cpp_int(fixed) 256 gcd 10.2671 cpp_int(fixed) 256 + 0.0452762 cpp_int(fixed) 256 - 0.0444216 cpp_int(fixed) 256 * 0.112885 cpp_int(fixed) 256 / 1.36886 cpp_int(fixed) 256 + 0.0170491 cpp_int(fixed) 256 - 0.0176783 cpp_int(fixed) 256 * 0.107306 cpp_int(fixed) 256 / 0.0340708 cpp_int(fixed) 512 + 0.0760722 cpp_int(fixed) 512 - 0.0756027 cpp_int(fixed) 512 * 0.500399 cpp_int(fixed) 512 / 0.560837 cpp_int(fixed) 512 str 0.00708386 cpp_int(fixed) 512 +(int)0.0524416 cpp_int(fixed) 512 -(int)0.0503396 cpp_int(fixed) 512 *(int)0.0658566 cpp_int(fixed) 512 /(int)0.446782 cpp_int(fixed) 512 construct0.00576526 cpp_int(fixed) 512 construct(unsigned)0.0058189 cpp_int(fixed) 512 construct(unsigned long long)0.00556537 cpp_int(fixed) 512 % 0.539708 cpp_int(fixed) 512 | 0.0676884 cpp_int(fixed) 512 & 0.0588367 cpp_int(fixed) 512 ^ 0.0695132 cpp_int(fixed) 512 << 0.0597514 cpp_int(fixed) 512 >> 0.0515714 cpp_int(fixed) 512 %(int)0.377704 cpp_int(fixed) 512 |(int)0.0536974 cpp_int(fixed) 512 &(int)0.070425 cpp_int(fixed) 512 ^(int)0.0540962 cpp_int(fixed) 512 gcd 26.2762 cpp_int(fixed) 512 + 0.0571069 cpp_int(fixed) 512 - 0.0563175 cpp_int(fixed) 512 * 0.177444 cpp_int(fixed) 512 / 3.1662 cpp_int(fixed) 512 + 0.0172628 cpp_int(fixed) 512 - 0.0180756 cpp_int(fixed) 512 * 0.171821 cpp_int(fixed) 512 / 0.0444905 cpp_int(fixed) 1024 + 0.121124 cpp_int(fixed) 1024 - 0.114246 cpp_int(fixed) 1024 * 1.54633 cpp_int(fixed) 1024 / 0.975643 cpp_int(fixed) 1024 str 0.0172514 cpp_int(fixed) 1024 +(int)0.0728817 cpp_int(fixed) 1024 -(int)0.0621059 cpp_int(fixed) 1024 *(int)0.0948565 cpp_int(fixed) 1024 /(int)0.84764 cpp_int(fixed) 1024 construct0.00535599 cpp_int(fixed) 1024 construct(unsigned)0.00836042 cpp_int(fixed) 1024 construct(unsigned long long)0.00577713 cpp_int(fixed) 1024 % 0.94847 cpp_int(fixed) 1024 | 0.100936 cpp_int(fixed) 1024 & 0.0774574 cpp_int(fixed) 1024 ^ 0.09783 cpp_int(fixed) 1024 << 0.0677088 cpp_int(fixed) 1024 >> 0.0626121 cpp_int(fixed) 1024 %(int)0.743202 cpp_int(fixed) 1024 |(int)0.0819107 cpp_int(fixed) 1024 &(int)0.112823 cpp_int(fixed) 1024 ^(int)0.0806317 cpp_int(fixed) 1024 gcd 76.2849 cpp_int(fixed) 1024 + 0.0636724 cpp_int(fixed) 1024 - 0.06467 cpp_int(fixed) 1024 * 0.303514 cpp_int(fixed) 1024 / 8.04418 cpp_int(fixed) 1024 + 0.0181245 cpp_int(fixed) 1024 - 0.0190581 cpp_int(fixed) 1024 * 0.299236 cpp_int(fixed) 1024 / 0.106788 cpp_int 128 + 0.0273725 cpp_int 128 - 0.0303219 cpp_int 128 * 0.0774619 cpp_int 128 / 0.589941 cpp_int 128 str 0.00189808 cpp_int 128 +(int)0.0159069 cpp_int 128 -(int)0.0151244 cpp_int 128 *(int)0.0235876 cpp_int 128 /(int)0.235955 cpp_int 128 construct0.00293927 cpp_int 128 construct(unsigned)0.00270684 cpp_int 128 construct(unsigned long long)0.00719854 cpp_int 128 % 0.37333 cpp_int 128 | 0.030991 cpp_int 128 & 0.031605 cpp_int 128 ^ 0.0318172 cpp_int 128 << 0.0256107 cpp_int 128 >> 0.0237523 cpp_int 128 %(int)0.104856 cpp_int 128 |(int)0.0280516 cpp_int 128 &(int)0.0377678 cpp_int 128 ^(int)0.0283305 cpp_int 128 gcd 4.98644 cpp_int 128 + 0.0283071 cpp_int 128 - 0.027289 cpp_int 128 * 0.0584001 cpp_int 128 / 0.733741 cpp_int 128 + 0.0196594 cpp_int 128 - 0.0210968 cpp_int 128 * 7.6372 cpp_int 128 / 0.0578293 cpp_int 256 + 0.0384835 cpp_int 256 - 0.0402028 cpp_int 256 * 0.211395 cpp_int 256 / 0.708882 cpp_int 256 str 0.00391656 cpp_int 256 +(int)0.0218386 cpp_int 256 -(int)0.017199 cpp_int 256 *(int)0.0318939 cpp_int 256 /(int)0.35212 cpp_int 256 construct0.00277479 cpp_int 256 construct(unsigned)0.0030529 cpp_int 256 construct(unsigned long long)0.00725455 cpp_int 256 % 0.673748 cpp_int 256 | 0.0429658 cpp_int 256 & 0.0455929 cpp_int 256 ^ 0.0425243 cpp_int 256 << 0.0401135 cpp_int 256 >> 0.0302534 cpp_int 256 %(int)0.203012 cpp_int 256 |(int)0.0363929 cpp_int 256 &(int)0.0471524 cpp_int 256 ^(int)0.0353555 cpp_int 256 gcd 11.1816 cpp_int 256 + 0.030223 cpp_int 256 - 0.0319489 cpp_int 256 * 0.0885733 cpp_int 256 / 1.62706 cpp_int 256 + 0.0215291 cpp_int 256 - 0.0213343 cpp_int 256 * 7.7121 cpp_int 256 / 0.0615507 cpp_int 512 + 0.0561351 cpp_int 512 - 0.0543342 cpp_int 512 * 0.703234 cpp_int 512 / 0.924042 cpp_int 512 str 0.00832019 cpp_int 512 +(int)0.0316584 cpp_int 512 -(int)0.0248084 cpp_int 512 *(int)0.0427792 cpp_int 512 /(int)0.568032 cpp_int 512 construct0.0028102 cpp_int 512 construct(unsigned)0.00288857 cpp_int 512 construct(unsigned long long)0.00723891 cpp_int 512 % 0.701584 cpp_int 512 | 0.0537846 cpp_int 512 & 0.0546439 cpp_int 512 ^ 0.0542436 cpp_int 512 << 0.0436188 cpp_int 512 >> 0.0355247 cpp_int 512 %(int)0.391566 cpp_int 512 |(int)0.0418143 cpp_int 512 &(int)0.0647085 cpp_int 512 ^(int)0.041758 cpp_int 512 gcd 27.2257 cpp_int 512 + 0.0382495 cpp_int 512 - 0.0386744 cpp_int 512 * 0.14417 cpp_int 512 / 3.61202 cpp_int 512 + 0.0228565 cpp_int 512 - 0.0222868 cpp_int 512 * 7.72815 cpp_int 512 / 0.0732298 cpp_int 1024 + 0.0928746 cpp_int 1024 - 0.0853837 cpp_int 1024 * 2.6591 cpp_int 1024 / 1.38142 cpp_int 1024 str 0.0221599 cpp_int 1024 +(int)0.0430289 cpp_int 1024 -(int)0.0331224 cpp_int 1024 *(int)0.0668616 cpp_int 1024 /(int)0.989885 cpp_int 1024 construct0.00277298 cpp_int 1024 construct(unsigned)0.00265201 cpp_int 1024 construct(unsigned long long)0.00732796 cpp_int 1024 % 1.14369 cpp_int 1024 | 0.0827684 cpp_int 1024 & 0.0843863 cpp_int 1024 ^ 0.08333 cpp_int 1024 << 0.0628544 cpp_int 1024 >> 0.044717 cpp_int 1024 %(int)0.768511 cpp_int 1024 |(int)0.0527075 cpp_int 1024 &(int)0.10089 cpp_int 1024 ^(int)0.0538323 cpp_int 1024 gcd 73.3735 cpp_int 1024 + 0.0463315 cpp_int 1024 - 0.0468398 cpp_int 1024 * 0.255279 cpp_int 1024 / 8.42528 cpp_int 1024 + 0.0227402 cpp_int 1024 - 0.0234526 cpp_int 1024 * 7.86395 cpp_int 1024 / 0.123568 cpp_rational 128 + 18.0021 cpp_rational 128 - 18.0006 cpp_rational 128 * 31.5924 cpp_rational 128 / 65.714 cpp_rational 128 str 0.020339 cpp_rational 128 +(int)2.47739 cpp_rational 128 -(int)2.47959 cpp_rational 128 *(int)2.4377 cpp_rational 128 /(int)2.50843 cpp_rational 128 construct0.0102665 cpp_rational 128 construct(unsigned)0.0624887 cpp_rational 128 construct(unsigned long long)0.0658436 cpp_rational 128 + 2.58812 cpp_rational 128 - 2.60864 cpp_rational 128 * 5.53837 cpp_rational 128 / 5.63033 cpp_rational 128 + 2.68363 cpp_rational 128 - 2.72926 cpp_rational 128 * 57.9393 cpp_rational 128 / 58.0332 cpp_rational 256 + 46.3981 cpp_rational 256 - 46.4818 cpp_rational 256 * 86.0189 cpp_rational 256 / 172.8 cpp_rational 256 str 0.0517328 cpp_rational 256 +(int)2.92179 cpp_rational 256 -(int)2.90579 cpp_rational 256 *(int)2.91325 cpp_rational 256 /(int)3.00689 cpp_rational 256 construct0.0101737 cpp_rational 256 construct(unsigned)0.0609531 cpp_rational 256 construct(unsigned long long)0.0665504 cpp_rational 256 + 3.0953 cpp_rational 256 - 3.08277 cpp_rational 256 * 6.78796 cpp_rational 256 / 6.90941 cpp_rational 256 + 3.15142 cpp_rational 256 - 3.19882 cpp_rational 256 * 59.3172 cpp_rational 256 / 59.5431 cpp_rational 512 + 108.57 cpp_rational 512 - 108.81 cpp_rational 512 * 202.007 cpp_rational 512 / 348.46 cpp_rational 512 str 0.119248 cpp_rational 512 +(int)3.80252 cpp_rational 512 -(int)3.80714 cpp_rational 512 *(int)3.94768 cpp_rational 512 /(int)4.00588 cpp_rational 512 construct0.0101965 cpp_rational 512 construct(unsigned)0.0613968 cpp_rational 512 construct(unsigned long long)0.0659082 cpp_rational 512 + 4.00751 cpp_rational 512 - 4.0117 cpp_rational 512 * 9.43852 cpp_rational 512 / 9.39508 cpp_rational 512 + 4.05684 cpp_rational 512 - 4.08474 cpp_rational 512 * 61.8998 cpp_rational 512 / 61.9712 cpp_rational 1024 + 252.723 cpp_rational 1024 - 253.81 cpp_rational 1024 * 484.128 cpp_rational 1024 / 834.057 cpp_rational 1024 str 0.286067 cpp_rational 1024 +(int)5.51612 cpp_rational 1024 -(int)5.51949 cpp_rational 1024 *(int)5.87507 cpp_rational 1024 /(int)5.92837 cpp_rational 1024 construct0.0102909 cpp_rational 1024 construct(unsigned)0.062674 cpp_rational 1024 construct(unsigned long long)0.0659089 cpp_rational 1024 + 5.7444 cpp_rational 1024 - 5.73296 cpp_rational 1024 * 15.1475 cpp_rational 1024 / 14.9497 cpp_rational 1024 + 5.80438 cpp_rational 1024 - 5.86 cpp_rational 1024 * 67.4139 cpp_rational 1024 / 67.4254 mpq_rational 128 + 3.16879 mpq_rational 128 - 3.18835 mpq_rational 128 * 5.96709 mpq_rational 128 / 15.0571 mpq_rational 128 str 0.0037011 mpq_rational 128 +(int)0.669634 mpq_rational 128 -(int)0.666993 mpq_rational 128 *(int)1.18047 mpq_rational 128 /(int)1.43177 mpq_rational 128 construct0.383107 mpq_rational 128 construct(unsigned)0.394551 mpq_rational 128 construct(unsigned long long)2.13183 mpq_rational 128 + 2.33701 mpq_rational 128 - 2.33227 mpq_rational 128 * 4.15268 mpq_rational 128 / 4.26818 mpq_rational 128 + 2.33097 mpq_rational 128 - 2.31793 mpq_rational 128 * 9.34086 mpq_rational 128 / 9.74135 mpq_rational 256 + 6.93507 mpq_rational 256 - 6.90939 mpq_rational 256 * 12.9674 mpq_rational 256 / 27.1144 mpq_rational 256 str 0.00573278 mpq_rational 256 +(int)0.707818 mpq_rational 256 -(int)0.719174 mpq_rational 256 *(int)1.22229 mpq_rational 256 /(int)1.46082 mpq_rational 256 construct0.381537 mpq_rational 256 construct(unsigned)0.390987 mpq_rational 256 construct(unsigned long long)2.12727 mpq_rational 256 + 2.4159 mpq_rational 256 - 2.41594 mpq_rational 256 * 4.3447 mpq_rational 256 / 4.43342 mpq_rational 256 + 2.40187 mpq_rational 256 - 2.39792 mpq_rational 256 * 9.51195 mpq_rational 256 / 9.65697 mpq_rational 512 + 16.0886 mpq_rational 512 - 16.1169 mpq_rational 512 * 29.597 mpq_rational 512 / 54.8579 mpq_rational 512 str 0.012222 mpq_rational 512 +(int)0.812783 mpq_rational 512 -(int)0.810939 mpq_rational 512 *(int)1.37678 mpq_rational 512 /(int)1.6328 mpq_rational 512 construct0.381355 mpq_rational 512 construct(unsigned)0.392309 mpq_rational 512 construct(unsigned long long)2.1179 mpq_rational 512 + 2.55999 mpq_rational 512 - 2.52842 mpq_rational 512 * 4.82251 mpq_rational 512 / 4.88079 mpq_rational 512 + 2.5091 mpq_rational 512 - 2.50572 mpq_rational 512 * 9.90285 mpq_rational 512 / 10.0077 mpq_rational 1024 + 38.8883 mpq_rational 1024 - 38.9096 mpq_rational 1024 * 71.0635 mpq_rational 1024 / 123.985 mpq_rational 1024 str 0.0291802 mpq_rational 1024 +(int)0.906471 mpq_rational 1024 -(int)0.908293 mpq_rational 1024 *(int)1.52386 mpq_rational 1024 /(int)1.78575 mpq_rational 1024 construct0.383461 mpq_rational 1024 construct(unsigned)0.393504 mpq_rational 1024 construct(unsigned long long)2.12279 mpq_rational 1024 + 2.67794 mpq_rational 1024 - 2.65991 mpq_rational 1024 * 5.4209 mpq_rational 1024 / 5.47417 mpq_rational 1024 + 2.66144 mpq_rational 1024 - 2.64168 mpq_rational 1024 * 10.4664 mpq_rational 1024 / 10.6781 tommath_int 128 + 0.0222815 tommath_int 128 - 0.027712 tommath_int 128 * 0.113094 tommath_int 128 / 3.09636 tommath_int 128 str 0.0175165 tommath_int 128 +(int)0.205506 tommath_int 128 -(int)0.203148 tommath_int 128 *(int)0.245897 tommath_int 128 /(int)2.08045 tommath_int 128 construct0.207455 tommath_int 128 construct(unsigned)0.477971 tommath_int 128 construct(unsigned long long)0.709516 tommath_int 128 % 3.15171 tommath_int 128 | 0.153434 tommath_int 128 & 0.153508 tommath_int 128 ^ 0.153931 tommath_int 128 << 0.0408165 tommath_int 128 >> 0.324163 tommath_int 128 %(int)2.11648 tommath_int 128 |(int)0.376671 tommath_int 128 &(int)0.389144 tommath_int 128 ^(int)0.374303 tommath_int 128 gcd 12.5322 tommath_int 128 + 0.514965 tommath_int 128 - 0.517555 tommath_int 128 * 0.607102 tommath_int 128 / 2.36098 tommath_int 128 + 0.510608 tommath_int 128 - 0.520979 tommath_int 128 * 18.5642 tommath_int 128 / 1.13357 tommath_int 256 + 0.0322049 tommath_int 256 - 0.0407704 tommath_int 256 * 0.346903 tommath_int 256 / 4.01311 tommath_int 256 str 0.0409078 tommath_int 256 +(int)0.211847 tommath_int 256 -(int)0.206481 tommath_int 256 *(int)0.26894 tommath_int 256 /(int)2.7099 tommath_int 256 construct0.208012 tommath_int 256 construct(unsigned)0.470752 tommath_int 256 construct(unsigned long long)0.709045 tommath_int 256 % 4.08522 tommath_int 256 | 0.170093 tommath_int 256 & 0.176384 tommath_int 256 ^ 0.172198 tommath_int 256 << 0.0698155 tommath_int 256 >> 0.383757 tommath_int 256 %(int)2.74052 tommath_int 256 |(int)0.375206 tommath_int 256 &(int)0.389768 tommath_int 256 ^(int)0.379255 tommath_int 256 gcd 26.1755 tommath_int 256 + 0.530504 tommath_int 256 - 0.527832 tommath_int 256 * 0.648438 tommath_int 256 / 3.16803 tommath_int 256 + 0.526199 tommath_int 256 - 0.527479 tommath_int 256 * 18.624 tommath_int 256 / 1.1208 tommath_int 512 + 0.0455267 tommath_int 512 - 0.0515883 tommath_int 512 * 0.999026 tommath_int 512 / 5.95775 tommath_int 512 str 0.111392 tommath_int 512 +(int)0.227429 tommath_int 512 -(int)0.219998 tommath_int 512 *(int)0.31746 tommath_int 512 /(int)4.1339 tommath_int 512 construct0.205622 tommath_int 512 construct(unsigned)0.473807 tommath_int 512 construct(unsigned long long)0.703879 tommath_int 512 % 5.70483 tommath_int 512 | 0.179084 tommath_int 512 & 0.182373 tommath_int 512 ^ 0.183434 tommath_int 512 << 0.0973643 tommath_int 512 >> 0.398354 tommath_int 512 %(int)3.96918 tommath_int 512 |(int)0.381428 tommath_int 512 &(int)0.40432 tommath_int 512 ^(int)0.390434 tommath_int 512 gcd 56.7747 tommath_int 512 + 0.546222 tommath_int 512 - 0.53408 tommath_int 512 * 0.718764 tommath_int 512 / 5.07545 tommath_int 512 + 0.543084 tommath_int 512 - 0.535411 tommath_int 512 * 18.745 tommath_int 512 / 1.15084 tommath_int 1024 + 0.074223 tommath_int 1024 - 0.0786205 tommath_int 1024 * 3.20269 tommath_int 1024 / 12.7383 tommath_int 1024 str 0.345861 tommath_int 1024 +(int)0.250477 tommath_int 1024 -(int)0.2372 tommath_int 1024 *(int)0.408933 tommath_int 1024 /(int)9.04346 tommath_int 1024 construct0.207377 tommath_int 1024 construct(unsigned)0.475755 tommath_int 1024 construct(unsigned long long)0.712949 tommath_int 1024 % 12.6845 tommath_int 1024 | 0.436588 tommath_int 1024 & 0.429721 tommath_int 1024 ^ 0.429478 tommath_int 1024 << 0.167289 tommath_int 1024 >> 0.570323 tommath_int 1024 %(int)9.09202 tommath_int 1024 |(int)0.622404 tommath_int 1024 &(int)0.653128 tommath_int 1024 ^(int)0.62285 tommath_int 1024 gcd 132.299 tommath_int 1024 + 0.578521 tommath_int 1024 - 0.552649 tommath_int 1024 * 0.871648 tommath_int 1024 / 12.2672 tommath_int 1024 + 0.568301 tommath_int 1024 - 0.54931 tommath_int 1024 * 19.0954 tommath_int 1024 / 1.21165 cpp_dec_float 50 + 0.0250949 cpp_dec_float 50 - 0.0264782 cpp_dec_float 50 * 0.163403 cpp_dec_float 50 / 3.9502 cpp_dec_float 50 str 0.0207318 cpp_dec_float 50 +(int)0.0441266 cpp_dec_float 50 -(int)0.0442578 cpp_dec_float 50 *(int)0.234992 cpp_dec_float 50 /(int)1.81469 cpp_dec_float 50 construct0.00925753 cpp_dec_float 50 construct(unsigned)0.0588752 cpp_dec_float 50 construct(unsigned long long)0.0587691 cpp_dec_float 50 + 0.0770875 cpp_dec_float 50 - 0.0741921 cpp_dec_float 50 * 0.329282 cpp_dec_float 50 / 1.9701 cpp_dec_float 50 + 0.0640148 cpp_dec_float 50 - 0.0643402 cpp_dec_float 50 * 0.321363 cpp_dec_float 50 / 1.97464 cpp_dec_float 100 + 0.0291508 cpp_dec_float 100 - 0.0307447 cpp_dec_float 100 * 0.284182 cpp_dec_float 100 / 7.68823 cpp_dec_float 100 str 0.0328218 cpp_dec_float 100 +(int)0.0558389 cpp_dec_float 100 -(int)0.0563278 cpp_dec_float 100 *(int)0.460635 cpp_dec_float 100 /(int)3.62471 cpp_dec_float 100 construct0.0263234 cpp_dec_float 100 construct(unsigned)0.0747853 cpp_dec_float 100 construct(unsigned long long)0.076338 cpp_dec_float 100 + 0.0845054 cpp_dec_float 100 - 0.0844193 cpp_dec_float 100 * 0.582119 cpp_dec_float 100 / 3.8773 cpp_dec_float 100 + 0.0708668 cpp_dec_float 100 - 0.0730765 cpp_dec_float 100 * 0.574512 cpp_dec_float 100 / 3.83437 cpp_dec_float 500 + 0.0630915 cpp_dec_float 500 - 0.0651113 cpp_dec_float 500 * 2.22501 cpp_dec_float 500 / 50.6121 cpp_dec_float 500 str 0.131293 cpp_dec_float 500 +(int)0.0935946 cpp_dec_float 500 -(int)0.0950432 cpp_dec_float 500 *(int)4.36195 cpp_dec_float 500 /(int)24.4855 cpp_dec_float 500 construct0.0306104 cpp_dec_float 500 construct(unsigned)0.114772 cpp_dec_float 500 construct(unsigned long long)0.117075 cpp_dec_float 500 + 0.12407 cpp_dec_float 500 - 0.122646 cpp_dec_float 500 * 4.75508 cpp_dec_float 500 / 25.1602 cpp_dec_float 500 + 0.0865073 cpp_dec_float 500 - 0.0929075 cpp_dec_float 500 * 4.74128 cpp_dec_float 500 / 25.1175 mpfr_float 50 + 0.0624318 mpfr_float 50 - 0.0764497 mpfr_float 50 * 0.342248 mpfr_float 50 / 1.69721 mpfr_float 50 str 0.0289013 mpfr_float 50 +(int)0.121683 mpfr_float 50 -(int)0.149605 mpfr_float 50 *(int)0.1548 mpfr_float 50 /(int)0.213367 mpfr_float 50 construct0.214552 mpfr_float 50 construct(unsigned)0.293892 mpfr_float 50 construct(unsigned long long)0.638307 mpfr_float 50 + 0.553442 mpfr_float 50 - 0.565687 mpfr_float 50 * 0.841214 mpfr_float 50 / 1.26072 mpfr_float 50 + 0.537349 mpfr_float 50 - 0.561924 mpfr_float 50 * 0.833423 mpfr_float 50 / 1.25318 mpfr_float 100 + 0.0669494 mpfr_float 100 - 0.0820912 mpfr_float 100 * 0.478422 mpfr_float 100 / 2.33995 mpfr_float 100 str 0.0390764 mpfr_float 100 +(int)0.117387 mpfr_float 100 -(int)0.150557 mpfr_float 100 *(int)0.166496 mpfr_float 100 /(int)0.267439 mpfr_float 100 construct0.222594 mpfr_float 100 construct(unsigned)0.297568 mpfr_float 100 construct(unsigned long long)0.643108 mpfr_float 100 + 0.573918 mpfr_float 100 - 0.592139 mpfr_float 100 * 0.978674 mpfr_float 100 / 1.5879 mpfr_float 100 + 0.561143 mpfr_float 100 - 0.580528 mpfr_float 100 * 0.97887 mpfr_float 100 / 1.58378 mpfr_float 500 + 0.0817812 mpfr_float 500 - 0.0975533 mpfr_float 500 * 3.8308 mpfr_float 500 / 13.8283 mpfr_float 500 str 0.156188 mpfr_float 500 +(int)0.129266 mpfr_float 500 -(int)0.16446 mpfr_float 500 *(int)0.273431 mpfr_float 500 /(int)0.731526 mpfr_float 500 construct0.222587 mpfr_float 500 construct(unsigned)0.311108 mpfr_float 500 construct(unsigned long long)0.653074 mpfr_float 500 + 0.667956 mpfr_float 500 - 0.684152 mpfr_float 500 * 1.2661 mpfr_float 500 / 7.46167 mpfr_float 500 + 0.642822 mpfr_float 500 - 0.65164 mpfr_float 500 * 1.25714 mpfr_float 500 / 7.46171 [section:float_performance Float Type Perfomance] [table Operator * [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.321363s)][1.0169 (0.574512s)][6.76401 (4.74128s)]] [[gmp_float][1.7169 (0.551747s)][[*1] (0.564962s)][[*1] (0.700957s)]] [[mpfr_float][2.5934 (0.833423s)][1.73263 (0.97887s)][1.79346 (1.25714s)]] ] [table Operator *(int) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][5.56675 (0.234992s)][9.32996 (0.460635s)][50.8459 (4.36195s)]] [[gmp_float][[*1] (0.0422135s)][[*1] (0.0493716s)][[*1] (0.0857876s)]] [[mpfr_float][3.66707 (0.1548s)][3.37231 (0.166496s)][3.1873 (0.273431s)]] ] [table Operator + [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.0640148s)][[*1] (0.0708668s)][[*1] (0.0865073s)]] [[gmp_float][7.467 (0.477999s)][6.72671 (0.476701s)][5.67136 (0.490614s)]] [[mpfr_float][8.39413 (0.537349s)][7.91828 (0.561143s)][7.43085 (0.642822s)]] ] [table Operator +(int) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][1.33358 (0.0441266s)][1.4433 (0.0558389s)][1.44838 (0.0935946s)]] [[gmp_float][[*1] (0.0330888s)][[*1] (0.0386882s)][[*1] (0.0646201s)]] [[mpfr_float][3.67747 (0.121683s)][3.03419 (0.117387s)][2.00041 (0.129266s)]] ] [table Operator - [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.0643402s)][[*1] (0.0730765s)][[*1] (0.0929075s)]] [[gmp_float][7.76625 (0.499682s)][6.89067 (0.503546s)][5.89566 (0.547751s)]] [[mpfr_float][8.73364 (0.561924s)][7.94411 (0.580528s)][7.01385 (0.65164s)]] ] [table Operator -(int) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.0442578s)][[*1] (0.0563278s)][[*1] (0.0950432s)]] [[gmp_float][3.0379 (0.134451s)][2.39847 (0.1351s)][1.86101 (0.176876s)]] [[mpfr_float][3.38031 (0.149605s)][2.67288 (0.150557s)][1.73037 (0.16446s)]] ] [table Operator / [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][2.20938 (1.97464s)][3.71086 (3.83437s)][11.2059 (25.1175s)]] [[gmp_float][[*1] (0.893752s)][[*1] (1.03328s)][[*1] (2.24146s)]] [[mpfr_float][1.40216 (1.25318s)][1.53276 (1.58378s)][3.32895 (7.46171s)]] ] [table Operator /(int) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][10.0596 (1.81469s)][15.5048 (3.62471s)][34.4767 (24.4855s)]] [[gmp_float][[*1] (0.180393s)][[*1] (0.23378s)][[*1] (0.710204s)]] [[mpfr_float][1.18279 (0.213367s)][1.14398 (0.267439s)][1.03002 (0.731526s)]] ] [table Operator construct [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.00925753s)][[*1] (0.0263234s)][[*1] (0.0306104s)]] [[gmp_float][21.32 (0.19737s)][7.4686 (0.196599s)][6.73181 (0.206063s)]] [[mpfr_float][23.176 (0.214552s)][8.45613 (0.222594s)][7.27162 (0.222587s)]] ] [table Operator construct(unsigned long long) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.0587691s)][[*1] (0.076338s)][[*1] (0.117075s)]] [[gmp_float][8.84863 (0.520025s)][6.80343 (0.51936s)][4.59554 (0.538021s)]] [[mpfr_float][10.8613 (0.638307s)][8.42448 (0.643108s)][5.57826 (0.653074s)]] ] [table Operator construct(unsigned) [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][[*1] (0.0588752s)][[*1] (0.0747853s)][[*1] (0.114772s)]] [[gmp_float][3.53421 (0.208078s)][2.76875 (0.207062s)][1.89088 (0.217019s)]] [[mpfr_float][4.99178 (0.293892s)][3.97896 (0.297568s)][2.71067 (0.311108s)]] ] [table Operator str [[Backend][50 Bits][100 Bits][500 Bits]] [[cpp_dec_float][1.5616 (0.0207318s)][1.61725 (0.0328218s)][[*1] (0.131293s)]] [[gmp_float][[*1] (0.013276s)][[*1] (0.0202949s)][1.07517 (0.141162s)]] [[mpfr_float][2.17696 (0.0289013s)][1.92543 (0.0390764s)][1.18962 (0.156188s)]] ] [endsect] [section:integer_performance Integer Type Perfomance] [table Operator % [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][5.31184 (0.37333s)][1.99944e+236 (0.673748s)][2.08204e+236 (0.701584s)][3.39405e+236 (1.14369s)]] [[cpp_int(fixed)][1.10616 (0.0777437s)][5.8492e+235 (0.1971s)][9.91271e+235 (0.334027s)][1.60165e+236 (0.539708s)][-1.#INF (0.94847s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0702826s)]] [[gmp_int][9.12715 (0.64148s)][2.088e+236 (0.703592s)][2.43295e+236 (0.819828s)][3.02578e+236 (1.01959s)]] [[tommath_int][44.8434 (3.15171s)][1.21234e+237 (4.08522s)][1.69298e+237 (5.70483s)][3.7643e+237 (12.6845s)]] ] [table Operator %(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][3.51789 (0.104856s)][-1.#INF (0.203012s)][-1.#INF (0.391566s)][-1.#INF (0.768511s)]] [[cpp_int(fixed)][1.14548 (0.0341425s)][-1.#INF (0.103684s)][-1.#INF (0.200647s)][-1.#INF (0.377704s)][-1.#INF (0.743202s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0298064s)]] [[gmp_int][1.91945 (0.0572117s)][-1.#INF (0.10258s)][-1.#INF (0.188529s)][-1.#INF (0.355222s)]] [[tommath_int][71.0078 (2.11648s)][-1.#INF (2.74052s)][-1.#INF (3.96918s)][-1.#INF (9.09202s)]] ] [table Operator & [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][12.079 (0.031605s)][-1.11772e+007 (0.0455929s)][-1.33961e+007 (0.0546439s)][-2.06875e+007 (0.0843863s)]] [[cpp_int(fixed)][4.74538 (0.0124165s)][-8.36978e+006 (0.0341411s)][-1.22854e+007 (0.0501131s)][-1.4424e+007 (0.0588367s)][-1.#INF (0.0774574s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00261653s)]] [[gmp_int][20.5664 (0.0538128s)][-1.59881e+007 (0.0652169s)][-2.25796e+007 (0.092104s)][-3.5403e+007 (0.144412s)]] [[tommath_int][58.6685 (0.153508s)][-4.3241e+007 (0.176384s)][-4.47093e+007 (0.182373s)][-1.05347e+008 (0.429721s)]] ] [table Operator &(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][23.3956 (0.0377678s)][-7.85844e+307 (0.0471524s)][-1.07843e+308 (0.0647085s)][-1.68143e+308 (0.10089s)]] [[cpp_int(fixed)][6.49083 (0.0104782s)][-6.95612e+307 (0.0417383s)][-8.99012e+307 (0.0539427s)][-1.17371e+308 (0.070425s)][-1.#INF (0.112823s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00161431s)]] [[gmp_int][87.5331 (0.141306s)][-1.#INF (0.139398s)][-1.#INF (0.142498s)][-1.#INF (0.141249s)]] [[tommath_int][241.059 (0.389144s)][-1.#INF (0.389768s)][-1.#INF (0.40432s)][-1.#INF (0.653128s)]] ] [table Operator * [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][1715.93 (7.6372s)][-4.15607e+276 (7.7121s)][-4.16472e+276 (7.72815s)][-4.23791e+276 (7.86395s)]] [[cpp_int(fixed)][1.27579 (0.00567824s)][-3.62916e+274 (0.0673436s)][-5.78275e+274 (0.107306s)][-9.2595e+274 (0.171821s)][-1.#INF (0.299236s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00445077s)]] [[gmp_int][710.595 (3.1627s)][-1.69816e+276 (3.15114s)][-1.70883e+276 (3.17094s)][-1.7293e+276 (3.20893s)]] [[tommath_int][4171.01 (18.5642s)][-1.00365e+277 (18.624s)][-1.01017e+277 (18.745s)][-1.02906e+277 (19.0954s)]] ] [table Operator *(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][9.97316 (0.0235876s)][1.#INF (0.0318939s)][1.#INF (0.0427792s)][1.#INF (0.0668616s)]] [[cpp_int(fixed)][2.32007 (0.00548722s)][1.#INF (0.0328109s)][1.#INF (0.049867s)][1.#INF (0.0658566s)][-1.#INF (0.0948565s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00236511s)]] [[gmp_int][9.62157 (0.022756s)][1.#INF (0.0282672s)][1.#INF (0.0361075s)][1.#INF (0.0518882s)]] [[tommath_int][103.969 (0.245897s)][1.#INF (0.26894s)][1.#INF (0.31746s)][1.#INF (0.408933s)]] ] [table Operator + [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][9.74543 (0.0196594s)][3.98952e+276 (0.0215291s)][4.2355e+276 (0.0228565s)][4.21393e+276 (0.0227402s)]] [[cpp_int(fixed)][2.13187 (0.00430062s)][3.11951e+276 (0.0168342s)][3.15933e+276 (0.0170491s)][3.19893e+276 (0.0172628s)][-1.#INF (0.0181245s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0020173s)]] [[gmp_int][337.759 (0.68136s)][1.27731e+278 (0.68929s)][1.28647e+278 (0.694235s)][1.27865e+278 (0.690013s)]] [[tommath_int][253.115 (0.510608s)][9.75089e+277 (0.526199s)][1.00638e+278 (0.543084s)][1.05311e+278 (0.568301s)]] ] [table Operator +(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][9.81588 (0.0159069s)][-5.71737e+244 (0.0218386s)][-8.2882e+244 (0.0316584s)][-1.1265e+245 (0.0430289s)]] [[cpp_int(fixed)][3.92617 (0.00636247s)][-7.02443e+244 (0.0268311s)][-1.07535e+245 (0.0410749s)][-1.37293e+245 (0.0524416s)][-1.#INF (0.0728817s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00162053s)]] [[gmp_int][19.2059 (0.0311237s)][-1.12054e+245 (0.0428011s)][-1.74239e+245 (0.0665539s)][-2.83458e+245 (0.108272s)]] [[tommath_int][126.815 (0.205506s)][-5.54618e+245 (0.211847s)][-5.95413e+245 (0.227429s)][-6.55751e+245 (0.250477s)]] ] [table Operator - [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][11.0409 (0.0210968s)][3.86227e+276 (0.0213343s)][4.03471e+276 (0.0222868s)][4.24576e+276 (0.0234526s)]] [[cpp_int(fixed)][2.02836 (0.00387577s)][3.06763e+276 (0.0169449s)][3.2004e+276 (0.0176783s)][3.27232e+276 (0.0180756s)][-1.#INF (0.0190581s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00191079s)]] [[gmp_int][356.496 (0.681187s)][1.23744e+278 (0.683532s)][1.2536e+278 (0.69246s)][1.25066e+278 (0.690838s)]] [[tommath_int][272.651 (0.520979s)][9.54925e+277 (0.527479s)][9.69283e+277 (0.535411s)][9.94446e+277 (0.54931s)]] ] [table Operator -(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][9.24378 (0.0151244s)][-1.01975e-199 (0.017199s)][-1.47092e-199 (0.0248084s)][-1.96387e-199 (0.0331224s)]] [[cpp_int(fixed)][4.08494 (0.00668367s)][-1.43394e-199 (0.0241848s)][-2.18373e-199 (0.0368306s)][-2.98469e-199 (0.0503396s)][-1.#INF (0.0621059s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00163617s)]] [[gmp_int][18.693 (0.030585s)][-2.37422e-199 (0.0400434s)][-3.42818e-199 (0.0578194s)][-5.96116e-199 (0.100541s)]] [[tommath_int][124.161 (0.203148s)][-1.22425e-198 (0.206481s)][-1.30439e-198 (0.219998s)][-1.40639e-198 (0.2372s)]] ] [table Operator / [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][1.96346 (0.0578293s)][-1.51814e+061 (0.0615507s)][-1.8062e+061 (0.0732298s)][-3.04778e+061 (0.123568s)]] [[cpp_int(fixed)][1.08704 (0.0320162s)][-8.07606e+060 (0.0327432s)][-8.40351e+060 (0.0340708s)][-1.09735e+061 (0.0444905s)][-1.#INF (0.106788s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0294528s)]] [[gmp_int][23.2741 (0.685487s)][-1.70068e+062 (0.689516s)][-1.6994e+062 (0.688995s)][-1.74523e+062 (0.707578s)]] [[tommath_int][38.4876 (1.13357s)][-2.76443e+062 (1.1208s)][-2.83854e+062 (1.15084s)][-2.98853e+062 (1.21165s)]] ] [table Operator /(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][7.87676 (0.235955s)][1.#INF (0.35212s)][1.#INF (0.568032s)][1.#INF (0.989885s)]] [[cpp_int(fixed)][1.21173 (0.0362985s)][1.#INF (0.137619s)][1.#INF (0.253796s)][1.#INF (0.446782s)][-1.#INF (0.84764s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0299559s)]] [[gmp_int][1.87075 (0.0560401s)][1.#INF (0.0982823s)][1.#INF (0.183564s)][1.#INF (0.352238s)]] [[tommath_int][69.4504 (2.08045s)][1.#INF (2.7099s)][1.#INF (4.1339s)][1.#INF (9.04346s)]] ] [table Operator << [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][15.849 (0.0256107s)][-5.85461e+126 (0.0401135s)][-6.36621e+126 (0.0436188s)][-9.17366e+126 (0.0628544s)]] [[cpp_int(fixed)][3.19639 (0.00516511s)][-4.68379e+126 (0.0320915s)][-7.40049e+126 (0.0507053s)][-8.72078e+126 (0.0597514s)][-1.#INF (0.0677088s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00161592s)]] [[gmp_int][16.956 (0.0273994s)][-4.66649e+126 (0.031973s)][-6.88464e+126 (0.0471709s)][-1.05374e+127 (0.0721984s)]] [[tommath_int][25.259 (0.0408165s)][-1.01897e+127 (0.0698155s)][-1.42104e+127 (0.0973643s)][-2.4416e+127 (0.167289s)]] ] [table Operator >> [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][14.6983 (0.0237523s)][-2.28921e+307 (0.0302534s)][-2.68808e+307 (0.0355247s)][-3.38364e+307 (0.044717s)]] [[cpp_int(fixed)][2.47217 (0.00399499s)][-2.21749e+307 (0.0293055s)][-2.9515e+307 (0.039006s)][-3.9023e+307 (0.0515714s)][-1.#INF (0.0626121s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00161599s)]] [[gmp_int][17.8366 (0.0288237s)][-2.3471e+307 (0.0310184s)][-2.55387e+307 (0.0337511s)][-2.9362e+307 (0.0388038s)]] [[tommath_int][200.597 (0.324163s)][-1.#INF (0.383757s)][-1.#INF (0.398354s)][-1.#INF (0.570323s)]] ] [table Operator ^ [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][7.95372 (0.0318172s)][1.21131 (0.0425243s)][1.02246 (0.0542436s)][1.19877 (0.08333s)]] [[cpp_int(fixed)][2.75762 (0.0110313s)][[*1] (0.0351059s)][[*1] (0.0530521s)][[*1] (0.0695132s)][-1.#INF (0.09783s)]] [[cpp_int(unsigned, fixed)][[*1] (0.0040003s)]] [[gmp_int][12.4289 (0.0497194s)][1.79507 (0.0630174s)][1.63955 (0.0869819s)][2.0012 (0.139109s)]] [[tommath_int][38.4798 (0.153931s)][4.9051 (0.172198s)][3.45761 (0.183434s)][6.17837 (0.429478s)]] ] [table Operator ^(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][15.3547 (0.0283305s)][-8.92021e+307 (0.0353555s)][-1.05356e+308 (0.041758s)][-1.35819e+308 (0.0538323s)]] [[cpp_int(fixed)][5.81005 (0.0107199s)][-7.88073e+307 (0.0312355s)][-1.20328e+308 (0.0476923s)][-1.36485e+308 (0.0540962s)][-1.#INF (0.0806317s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00184507s)]] [[gmp_int][78.0102 (0.143934s)][-1.#INF (0.144825s)][-1.#INF (0.152773s)][-1.#INF (0.161662s)]] [[tommath_int][202.867 (0.374303s)][-1.#INF (0.379255s)][-1.#INF (0.390434s)][-1.#INF (0.62285s)]] ] [table Operator construct [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][2.64088 (0.00293927s)][1.47161e+238 (0.00277479s)][1.49039e+238 (0.0028102s)][1.47064e+238 (0.00277298s)]] [[cpp_int(fixed)][1.45325 (0.00161745s)][8.73297e+237 (0.00164665s)][1.92709e+238 (0.00363363s)][3.0576e+238 (0.00576526s)][-1.#INF (0.00535599s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00111299s)]] [[gmp_int][176.266 (0.196182s)][1.06706e+240 (0.201199s)][1.04919e+240 (0.19783s)][1.04712e+240 (0.19744s)]] [[tommath_int][186.394 (0.207455s)][1.10319e+240 (0.208012s)][1.09052e+240 (0.205622s)][1.09982e+240 (0.207377s)]] ] [table Operator construct(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][3.51152 (0.00719854s)][-2.80497e-148 (0.00725455s)][-2.79893e-148 (0.00723891s)][-2.83336e-148 (0.00732796s)]] [[cpp_int(fixed)][[*1] (0.00204998s)][-1.21019e-148 (0.00312994s)][-1.50065e-148 (0.00388115s)][-2.15185e-148 (0.00556537s)][-1.#INF (0.00577713s)]] [[cpp_int(unsigned, fixed)][1.17501 (0.00240876s)]] [[gmp_int][351.097 (0.719741s)][-2.82056e-146 (0.729487s)][-2.80186e-146 (0.724649s)][-2.79263e-146 (0.722262s)]] [[tommath_int][346.109 (0.709516s)][-2.74152e-146 (0.709045s)][-2.72155e-146 (0.703879s)][-2.75662e-146 (0.712949s)]] ] [table Operator construct(unsigned) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][2.44987 (0.00270684s)][1.90974 (0.0030529s)][[*1] (0.00288857s)][[*1] (0.00265201s)]] [[cpp_int(fixed)][1.89292 (0.00209147s)][[*1] (0.0015986s)][1.28253 (0.00370466s)][2.19414 (0.0058189s)][-1.#INF (0.00836042s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00110489s)]] [[gmp_int][186.546 (0.206113s)][132.175 (0.211295s)][71.6424 (0.206944s)][81.5339 (0.216229s)]] [[tommath_int][432.596 (0.477971s)][294.478 (0.470752s)][164.029 (0.473807s)][179.394 (0.475755s)]] ] [table Operator gcd [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][8.27321 (4.98644s)][-1.#INF (11.1816s)][-1.#INF (27.2257s)][-1.#INF (73.3735s)]] [[cpp_int(fixed)][1.0026 (0.604291s)][-1.#INF (4.18006s)][-1.#INF (10.2671s)][-1.#INF (26.2762s)][-1.#INF (76.2849s)]] [[cpp_int(unsigned, fixed)][[*1] (0.602722s)]] [[gmp_int][4.06647 (2.45095s)][-1.#INF (5.89505s)][-1.#INF (13.6993s)][-1.#INF (33.2232s)]] [[tommath_int][20.7927 (12.5322s)][-1.#INF (26.1755s)][-1.#INF (56.7747s)][-1.#INF (132.299s)]] ] [table Operator str [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][1.02246 (0.00189808s)][-3.42215e+178 (0.00391656s)][-7.26989e+178 (0.00832019s)][-1.93625e+179 (0.0221599s)]] [[cpp_int(fixed)][1.35564 (0.00251659s)][-1.36421e+178 (0.0015613s)][-2.59752e+178 (0.00297279s)][-6.18963e+178 (0.00708386s)][-1.#INF (0.0172514s)]] [[cpp_int(unsigned, fixed)][1.38149 (0.00256457s)]] [[gmp_int][[*1] (0.00185638s)][-3.01078e+178 (0.00344576s)][-5.40339e+178 (0.00618403s)][-1.26279e+179 (0.0144523s)]] [[tommath_int][9.43586 (0.0175165s)][-3.57438e+179 (0.0409078s)][-9.73304e+179 (0.111392s)][-3.02201e+180 (0.345861s)]] ] [table Operator | [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][11.6542 (0.030991s)][-6.48076e+046 (0.0429658s)][-8.11261e+046 (0.0537846s)][-1.24844e+047 (0.0827684s)]] [[cpp_int(fixed)][4.09831 (0.0108982s)][-5.73378e+046 (0.0380136s)][-7.98794e+046 (0.0529581s)][-1.02098e+047 (0.0676884s)][-1.#INF (0.100936s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00265921s)]] [[gmp_int][17.8503 (0.0474678s)][-9.32586e+046 (0.0618281s)][-1.29209e+047 (0.0856626s)][-2.0526e+047 (0.136082s)]] [[tommath_int][57.6991 (0.153434s)][-2.5656e+047 (0.170093s)][-2.70121e+047 (0.179084s)][-6.58529e+047 (0.436588s)]] ] [table Operator |(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_int][16.9457 (0.0280516s)][-4.17523e+307 (0.0363929s)][-4.79721e+307 (0.0418143s)][-6.04694e+307 (0.0527075s)]] [[cpp_int(fixed)][6.70551 (0.0111002s)][-3.64663e+307 (0.0317854s)][-5.35725e+307 (0.0466958s)][-6.16052e+307 (0.0536974s)][-1.#INF (0.0819107s)]] [[cpp_int(unsigned, fixed)][[*1] (0.00165538s)]] [[gmp_int][85.2488 (0.141119s)][-1.64044e+308 (0.142987s)][-1.78579e+308 (0.155656s)][-1.#INF (0.163236s)]] [[tommath_int][227.544 (0.376671s)][-1.#INF (0.375206s)][-1.#INF (0.381428s)][-1.#INF (0.622404s)]] ] [endsect] [section:rational_performance Rational Type Perfomance] [table Operator * [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][6.20279 (57.9393s)][6.23608 (59.3172s)][6.25071 (61.8998s)][6.44097 (67.4139s)]] [[mpq_rational][[*1] (9.34086s)][[*1] (9.51195s)][[*1] (9.90285s)][[*1] (10.4664s)]] ] [table Operator *(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][2.06502 (2.4377s)][2.38344 (2.91325s)][2.86734 (3.94768s)][3.8554 (5.87507s)]] [[mpq_rational][[*1] (1.18047s)][[*1] (1.22229s)][[*1] (1.37678s)][[*1] (1.52386s)]] ] [table Operator + [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][1.1513 (2.68363s)][1.31207 (3.15142s)][1.61685 (4.05684s)][2.18092 (5.80438s)]] [[mpq_rational][[*1] (2.33097s)][[*1] (2.40187s)][[*1] (2.5091s)][[*1] (2.66144s)]] ] [table Operator +(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][3.69962 (2.47739s)][4.12788 (2.92179s)][4.67839 (3.80252s)][6.08526 (5.51612s)]] [[mpq_rational][[*1] (0.669634s)][[*1] (0.707818s)][[*1] (0.812783s)][[*1] (0.906471s)]] ] [table Operator - [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][1.17746 (2.72926s)][1.334 (3.19882s)][1.63017 (4.08474s)][2.21829 (5.86s)]] [[mpq_rational][[*1] (2.31793s)][[*1] (2.39792s)][[*1] (2.50572s)][[*1] (2.64168s)]] ] [table Operator -(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][3.71756 (2.47959s)][4.04045 (2.90579s)][4.69474 (3.80714s)][6.07677 (5.51949s)]] [[mpq_rational][[*1] (0.666993s)][[*1] (0.719174s)][[*1] (0.810939s)][[*1] (0.908293s)]] ] [table Operator / [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][5.95741 (58.0332s)][6.16582 (59.5431s)][6.19235 (61.9712s)][6.31439 (67.4254s)]] [[mpq_rational][[*1] (9.74135s)][[*1] (9.65697s)][[*1] (10.0077s)][[*1] (10.6781s)]] ] [table Operator /(int) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][1.75198 (2.50843s)][2.05836 (3.00689s)][2.45339 (4.00588s)][3.31983 (5.92837s)]] [[mpq_rational][[*1] (1.43177s)][[*1] (1.46082s)][[*1] (1.6328s)][[*1] (1.78575s)]] ] [table Operator construct [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][[*1] (0.0102665s)][[*1] (0.0101737s)][[*1] (0.0101965s)][[*1] (0.0102909s)]] [[mpq_rational][37.3164 (0.383107s)][37.5023 (0.381537s)][37.4005 (0.381355s)][37.2621 (0.383461s)]] ] [table Operator construct(unsigned long long) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][[*1] (0.0658436s)][[*1] (0.0665504s)][[*1] (0.0659082s)][[*1] (0.0659089s)]] [[mpq_rational][32.3771 (2.13183s)][31.9648 (2.12727s)][32.1342 (2.1179s)][32.2079 (2.12279s)]] ] [table Operator construct(unsigned) [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][[*1] (0.0624887s)][[*1] (0.0609531s)][[*1] (0.0613968s)][[*1] (0.062674s)]] [[mpq_rational][6.31396 (0.394551s)][6.41455 (0.390987s)][6.38973 (0.392309s)][6.27858 (0.393504s)]] ] [table Operator str [[Backend][128 Bits][256 Bits][512 Bits][1024 Bits]] [[cpp_rational][5.4954 (0.020339s)][9.02403 (0.0517328s)][9.75685 (0.119248s)][9.80346 (0.286067s)]] [[mpq_rational][[*1] (0.0037011s)][[*1] (0.00573278s)][[*1] (0.012222s)][[*1] (0.0291802s)]] ] [endsect]