mpfr_mul_2si (tmp.val, tmp.val, exponent - mant_bits, MPFR_RNDN);
mpfr_add (to.val, to.val, tmp.val, MPFR_RNDN);
exponent -= mant_bits;
mpfr_mul_2si (tmp.val, tmp.val, exponent - mant_bits, MPFR_RNDN);
mpfr_add (to.val, to.val, tmp.val, MPFR_RNDN);
exponent -= mant_bits;