* src/data.c (integer_mod): Use mpz_tdiv_r not mpz_mod, as that’s
more similar to the fixnum case, is a bit more efficient, and
otherwise the later ‘sgn_r < 0’ code is useless anyway.
{
mpz_t const *ym = bignum_integer (&mpz[1], y);
bool neg_y = mpz_sgn (*ym) < 0;
- mpz_mod (mpz[0], *bignum_integer (&mpz[0], x), *ym);
+ mpz_tdiv_r (mpz[0], *bignum_integer (&mpz[0], x), *ym);
/* Fix the sign if needed. */
int sgn_r = mpz_sgn (mpz[0]);