fact: Definition sin_cos_reduce prec x := let th := c1_2 in let fix reduce x (nb : nat) {struct nb} := match F'.le x th, nb with | true, _ => (Gt, cos_fast0 prec x) | _, O => (Eq, I.bnd cm1 c1) | _, S n => match reduce (F.div2 x) n with | (s, c) => (match s, I.sign_large c with | Lt, Xgt => Lt | Lt, Xlt => Gt | Lt, _ => Eq | Gt, Xlt => Lt | Gt, Xgt => Gt | Gt, _ => Eq | _, _ => s end, I.sub prec (I.mul2 prec (I.sqr prec c)) i1) end end in reduce x.
imports: Coq(Reals Psatz) Flocq(Zaux Raux Digits) Stdlib Xreal Basic Sig Interval Float