Lines Matching refs:Q0
263 /* return in S0/Q0 a rational approximation of sin(X) with absolute error
265 and in C0/Q0 a rational approximation of cos(X), with relative error
279 Return l such that Q0 has to be multiplied by 2^l.
284 sin_bs_aux (mpz_t Q0, mpz_t S0, mpz_t C0, mpz_srcptr p, mpfr_prec_t r,
296 mpz_set_ui (Q0, 1);
399 l = r0 + r * (i - 1); /* implicit multiplier 2^r for Q0 */
404 /* we truncate Q0 to prec bits: the relative error is at most 2^(1-prec),
405 which means that Q0 = Q[0] * (1+theta) with |theta| <= 2^(1-prec)
407 l += reduce (Q0, Q[0], prec);
412 /* sin(X) ~ S0/Q0*(1 + theta)^3 + err with |theta| <= 2^(1-prec) and
413 |err| <= 2^(-prec), thus since |S0/Q0| <= 1:
414 |sin(X) - S0/Q0| <= 4*|theta*S0/Q0| + |err| <= 9*2^(-prec) */
425 = sqrt(Q0^2*2^(2l)-S0^2)/Q0.
439 /* we assume that Q0*2^l >= 2^(prec-1) */
440 MPFR_ASSERTN(l + mpz_sizeinbase (Q0, 2) >= prec);
441 mpz_mul (C0, Q0, Q0);