diff options
author | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-05-14 20:04:41 +0200 |
---|---|---|
committer | Marco Bodrato <bodrato@mail.dm.unipi.it> | 2022-05-14 20:04:41 +0200 |
commit | 9be5469ac97e43ed4d4d32f47417d9cd2f2ca97a (patch) | |
tree | 5c80364c220d452463a23ce82638ecf83aeb06f5 | |
parent | 97d83c7b76ed63620029081c5e04ebecd95d4a44 (diff) | |
download | gmp-9be5469ac97e43ed4d4d32f47417d9cd2f2ca97a.tar.gz |
mpz/nextprime.c: Smaller operand for sqrt
-rw-r--r-- | mpz/nextprime.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mpz/nextprime.c b/mpz/nextprime.c index b88ad7fd5..e137494cd 100644 --- a/mpz/nextprime.c +++ b/mpz/nextprime.c @@ -70,14 +70,15 @@ calculate_sievelimit(mp_bitcnt_t nbits) { * vs * Cost of PRP test O(N^2.55) */ - if (nbits < 12800) + if (nbits < 12818) { mpz_t tmp; /* sieve_limit ~= nbits ^ (5/2) / 124 */ mpz_init (tmp); mpz_ui_pow_ui (tmp, nbits, 5); + mpz_tdiv_q_ui(tmp, tmp, 124*124); + /* tmp < 12818^5/(124*124) < 2^55 < 2^64 */ mpz_sqrt (tmp, tmp); - mpz_tdiv_q_ui(tmp, tmp, 124); sieve_limit = mpz_get_ui(tmp); mpz_clear (tmp); |