summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2022-05-14 20:04:41 +0200
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2022-05-14 20:04:41 +0200
commit9be5469ac97e43ed4d4d32f47417d9cd2f2ca97a (patch)
tree5c80364c220d452463a23ce82638ecf83aeb06f5
parent97d83c7b76ed63620029081c5e04ebecd95d4a44 (diff)
downloadgmp-9be5469ac97e43ed4d4d32f47417d9cd2f2ca97a.tar.gz
mpz/nextprime.c: Smaller operand for sqrt
-rw-r--r--mpz/nextprime.c5
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);