--- /dev/null
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Benchmark Time CPU Iterations
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+BM_bernoulli<boost::multiprecision::cpp_rational>/50 1888495 ns 1888453 ns 354
+BM_bernoulli<boost::multiprecision::cpp_rational>/54 2250552 ns 2250503 ns 294
+BM_bernoulli<boost::multiprecision::cpp_rational>/58 2734589 ns 2734527 ns 246
+BM_bernoulli<boost::multiprecision::cpp_rational>/62 3318196 ns 3318122 ns 206
+BM_bernoulli<boost::multiprecision::cpp_rational>/66 3887371 ns 3887281 ns 166
+BM_bernoulli<boost::multiprecision::cpp_rational>/70 4628631 ns 4628535 ns 135
+BM_bernoulli<boost::multiprecision::cpp_rational>/74 5354148 ns 5354100 ns 131
+BM_bernoulli<boost::multiprecision::cpp_rational>/78 6321412 ns 6321172 ns 111
+BM_bernoulli<boost::multiprecision::cpp_rational>/82 7130681 ns 7130520 ns 99
+BM_bernoulli<boost::multiprecision::cpp_rational>/86 8390270 ns 8390095 ns 77
+BM_bernoulli<boost::multiprecision::cpp_rational>/90 10621849 ns 10621760 ns 70
+BM_bernoulli<boost::multiprecision::cpp_rational>/94 11364659 ns 11364409 ns 64
+BM_bernoulli<boost::multiprecision::cpp_rational>/98 14031215 ns 14030636 ns 53
+BM_bernoulli<boost::multiprecision::cpp_rational>/102 15269101 ns 15268211 ns 50
+BM_bernoulli<boost::multiprecision::cpp_rational>/106 15253625 ns 15253028 ns 44
+BM_bernoulli<boost::multiprecision::cpp_rational>/110 17638148 ns 17637756 ns 42
+BM_bernoulli<boost::multiprecision::cpp_rational>/114 18335439 ns 18335007 ns 37
+BM_bernoulli<boost::multiprecision::cpp_rational>/118 21044600 ns 21044146 ns 33
+BM_bernoulli<boost::multiprecision::cpp_rational>/122 23713449 ns 23712950 ns 29
+BM_bernoulli<boost::multiprecision::cpp_rational>/126 25994484 ns 25993901 ns 26
+BM_bernoulli<boost::multiprecision::cpp_rational>/130 30173460 ns 30172780 ns 25
+BM_bernoulli<boost::multiprecision::cpp_rational>/134 43993250 ns 43992333 ns 15
+BM_bernoulli<boost::multiprecision::cpp_rational>/138 40704613 ns 40702777 ns 16
+BM_bernoulli<boost::multiprecision::cpp_rational>/142 47015864 ns 47014950 ns 13
+BM_bernoulli<boost::multiprecision::cpp_rational>/146 51469463 ns 51468592 ns 10
+BM_bernoulli<boost::multiprecision::cpp_rational>/150 70737464 ns 70736106 ns 8
+BM_bernoulli<boost::multiprecision::cpp_rational>/154 74904669 ns 74638691 ns 8
+BM_bernoulli<boost::multiprecision::cpp_rational>/158 76644012 ns 76642396 ns 10
+BM_bernoulli<boost::multiprecision::cpp_rational>/162 104915811 ns 104906795 ns 7
+BM_bernoulli<boost::multiprecision::cpp_rational>/166 108178263 ns 108175914 ns 7
+BM_bernoulli<boost::multiprecision::cpp_rational>/170 125366340 ns 125363885 ns 5
+BM_bernoulli<boost::multiprecision::cpp_rational>/174 119816144 ns 119813754 ns 5
+BM_bernoulli<boost::multiprecision::cpp_rational>/178 130675436 ns 130672631 ns 6
+BM_bernoulli<boost::multiprecision::cpp_rational>/182 136007472 ns 136002124 ns 6
+BM_bernoulli<boost::multiprecision::cpp_rational>/186 152172095 ns 152169271 ns 4
+BM_bernoulli<boost::multiprecision::cpp_rational>/190 149450814 ns 149444035 ns 4
+BM_bernoulli<boost::multiprecision::cpp_rational>/194 149612169 ns 149609183 ns 4
+BM_bernoulli<boost::multiprecision::cpp_rational>/198 167597787 ns 167594528 ns 4
+BM_bernoulli<boost::multiprecision::mpq_rational>/50 3270409 ns 3270343 ns 224
+BM_bernoulli<boost::multiprecision::mpq_rational>/54 4844123 ns 4842950 ns 188
+BM_bernoulli<boost::multiprecision::mpq_rational>/58 6032271 ns 6031493 ns 137
+BM_bernoulli<boost::multiprecision::mpq_rational>/62 8356124 ns 8355959 ns 76
+BM_bernoulli<boost::multiprecision::mpq_rational>/66 9433065 ns 9431740 ns 74
+BM_bernoulli<boost::multiprecision::mpq_rational>/70 9144751 ns 9144294 ns 70
+BM_bernoulli<boost::multiprecision::mpq_rational>/74 9130475 ns 9130309 ns 61
+BM_bernoulli<boost::multiprecision::mpq_rational>/78 10537362 ns 10537142 ns 66
+BM_bernoulli<boost::multiprecision::mpq_rational>/82 12613844 ns 12613249 ns 63
+BM_bernoulli<boost::multiprecision::mpq_rational>/86 13630412 ns 13630144 ns 52
+BM_bernoulli<boost::multiprecision::mpq_rational>/90 17308942 ns 17307564 ns 40
+BM_bernoulli<boost::multiprecision::mpq_rational>/94 17941604 ns 17940817 ns 33
+BM_bernoulli<boost::multiprecision::mpq_rational>/98 17702116 ns 17701739 ns 30
+BM_bernoulli<boost::multiprecision::mpq_rational>/102 24652890 ns 24651531 ns 27
+BM_bernoulli<boost::multiprecision::mpq_rational>/106 28959599 ns 28958456 ns 25
+BM_bernoulli<boost::multiprecision::mpq_rational>/110 32250123 ns 32248791 ns 24
+BM_bernoulli<boost::multiprecision::mpq_rational>/114 33049744 ns 33036651 ns 18
+BM_bernoulli<boost::multiprecision::mpq_rational>/118 43063349 ns 43060565 ns 16
+BM_bernoulli<boost::multiprecision::mpq_rational>/122 47526128 ns 47524442 ns 19
+BM_bernoulli<boost::multiprecision::mpq_rational>/126 51732892 ns 51732056 ns 10
+BM_bernoulli<boost::multiprecision::mpq_rational>/130 57019065 ns 57018140 ns 10
+BM_bernoulli<boost::multiprecision::mpq_rational>/134 53774927 ns 53774090 ns 10
+BM_bernoulli<boost::multiprecision::mpq_rational>/138 55161523 ns 55157578 ns 11
+BM_bernoulli<boost::multiprecision::mpq_rational>/142 67521287 ns 67520101 ns 9
+BM_bernoulli<boost::multiprecision::mpq_rational>/146 73495897 ns 73492888 ns 11
+BM_bernoulli<boost::multiprecision::mpq_rational>/150 96401524 ns 96399781 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/154 93370021 ns 93368470 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/158 102579919 ns 102575818 ns 8
+BM_bernoulli<boost::multiprecision::mpq_rational>/162 122980914 ns 122978722 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/166 100311142 ns 100309423 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/170 101722324 ns 101720320 ns 7
+BM_bernoulli<boost::multiprecision::mpq_rational>/174 116791305 ns 116789020 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/178 118186160 ns 118184175 ns 5
+BM_bernoulli<boost::multiprecision::mpq_rational>/182 113692224 ns 113690229 ns 5
+BM_bernoulli<boost::multiprecision::mpq_rational>/186 120508668 ns 120506323 ns 6
+BM_bernoulli<boost::multiprecision::mpq_rational>/190 124836662 ns 124834484 ns 5
+BM_bernoulli<boost::multiprecision::mpq_rational>/194 133126053 ns 133123581 ns 5
+BM_bernoulli<boost::multiprecision::mpq_rational>/198 149959513 ns 149954105 ns 5
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/50 3290599 ns 3290466 ns 247
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/54 3829254 ns 3829119 ns 189
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/58 5026638 ns 5026546 ns 144
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/62 6338415 ns 6338287 ns 133
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/66 7401079 ns 7400940 ns 112
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/70 8056058 ns 8055920 ns 76
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/74 8688736 ns 8688407 ns 78
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/78 9168196 ns 9168029 ns 77
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/82 10547763 ns 10547404 ns 72
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/86 12687317 ns 12686717 ns 60
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/90 14583805 ns 14583533 ns 53
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/94 17533114 ns 17532466 ns 45
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/98 17795979 ns 17795666 ns 37
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/102 20905344 ns 20904910 ns 37
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/106 24965679 ns 24965242 ns 27
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/110 26153986 ns 26153512 ns 27
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/114 27283324 ns 27282865 ns 24
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/118 30932112 ns 30931542 ns 21
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/122 31709907 ns 31708366 ns 20
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/126 37541157 ns 37539799 ns 19
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/130 47600868 ns 47599791 ns 17
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/134 56589653 ns 56565174 ns 12
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/138 61844701 ns 61840208 ns 9
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/142 62854330 ns 62836747 ns 11
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/146 65305525 ns 65301664 ns 9
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/150 71840692 ns 71806806 ns 8
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/154 86537227 ns 86535425 ns 6
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/158 84476111 ns 84435425 ns 7
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/162 95187582 ns 95163676 ns 6
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/166 116436468 ns 116426811 ns 5
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/170 130978409 ns 130952717 ns 6
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/174 159328406 ns 159282156 ns 4
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/178 170187772 ns 170133406 ns 3
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/182 184317854 ns 184265450 ns 3
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/186 232363854 ns 232345590 ns 3
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/190 156385849 ns 156352248 ns 5
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/194 250575336 ns 250276632 ns 3
+BM_bernoulli<boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::gmp_int> >>/198 234528878 ns 234451241 ns 4
+BM_bernoulli<mpq_class, mpz_class>/50 3576313 ns 3575669 ns 166
+BM_bernoulli<mpq_class, mpz_class>/54 5617333 ns 5611911 ns 143
+BM_bernoulli<mpq_class, mpz_class>/58 5434013 ns 5432617 ns 93
+BM_bernoulli<mpq_class, mpz_class>/62 7520189 ns 7519819 ns 84
+BM_bernoulli<mpq_class, mpz_class>/66 10063667 ns 10061634 ns 84
+BM_bernoulli<mpq_class, mpz_class>/70 11741489 ns 11741278 ns 43
+BM_bernoulli<mpq_class, mpz_class>/74 12503901 ns 12499604 ns 48
+BM_bernoulli<mpq_class, mpz_class>/78 12891372 ns 12889086 ns 45
+BM_bernoulli<mpq_class, mpz_class>/82 14146644 ns 14145407 ns 36
+BM_bernoulli<mpq_class, mpz_class>/86 13244909 ns 13244178 ns 46
+BM_bernoulli<mpq_class, mpz_class>/90 16761246 ns 16760132 ns 45
+BM_bernoulli<mpq_class, mpz_class>/94 17757867 ns 17745522 ns 38
+BM_bernoulli<mpq_class, mpz_class>/98 20767614 ns 20764969 ns 34
+BM_bernoulli<mpq_class, mpz_class>/102 24630855 ns 24625094 ns 28
+BM_bernoulli<mpq_class, mpz_class>/106 27775007 ns 27770111 ns 24
+BM_bernoulli<mpq_class, mpz_class>/110 29217021 ns 29207281 ns 23
+BM_bernoulli<mpq_class, mpz_class>/114 33637566 ns 33632317 ns 20
+BM_bernoulli<mpq_class, mpz_class>/118 38106044 ns 38104497 ns 19
+BM_bernoulli<mpq_class, mpz_class>/122 40618000 ns 40614832 ns 17
+BM_bernoulli<mpq_class, mpz_class>/126 44129039 ns 44122736 ns 15
+BM_bernoulli<mpq_class, mpz_class>/130 49499438 ns 49498465 ns 12
+BM_bernoulli<mpq_class, mpz_class>/134 53824996 ns 53815652 ns 11
+BM_bernoulli<mpq_class, mpz_class>/138 60739365 ns 60731483 ns 11
+BM_bernoulli<mpq_class, mpz_class>/142 65850315 ns 65847652 ns 9
+BM_bernoulli<mpq_class, mpz_class>/146 72453391 ns 72427755 ns 9
+BM_bernoulli<mpq_class, mpz_class>/150 87085907 ns 87071159 ns 7
+BM_bernoulli<mpq_class, mpz_class>/154 95887543 ns 95881314 ns 6
+BM_bernoulli<mpq_class, mpz_class>/158 96230949 ns 96228927 ns 7
+BM_bernoulli<mpq_class, mpz_class>/162 106197691 ns 106177472 ns 6
+BM_bernoulli<mpq_class, mpz_class>/166 134945572 ns 134925799 ns 5
+BM_bernoulli<mpq_class, mpz_class>/170 142289415 ns 142283919 ns 4
+BM_bernoulli<mpq_class, mpz_class>/174 187878516 ns 187842807 ns 5
+BM_bernoulli<mpq_class, mpz_class>/178 210256150 ns 210241919 ns 3
+BM_bernoulli<mpq_class, mpz_class>/182 179176686 ns 179169030 ns 3
+BM_bernoulli<mpq_class, mpz_class>/186 205849055 ns 205787179 ns 3
+BM_bernoulli<mpq_class, mpz_class>/190 217773129 ns 217763972 ns 3
+BM_bernoulli<mpq_class, mpz_class>/194 241406118 ns 241358945 ns 3
+BM_bernoulli<mpq_class, mpz_class>/198 222322076 ns 222307749 ns 3