fact: Definition sin_fastP prec x := let th := c1_2 in match F'.le' x th with | true => sin_fast0 (F.incr_prec prec 1) x | _ => let m := F.StoZ (F.mag x) in let prec := F.incr_prec prec (Z2P (m + 6)) in match sin_cos_reduce prec x (S (Z2nat m)) with | (s, c) => let v := I.sqrt prec (I.sub prec i1 (I.sqr prec c)) in match s with | Lt => I.neg v | Gt => v | _ => I.bnd cm1 c1 end end end.
imports: Coq(Reals Psatz) Flocq(Zaux Raux Digits) Stdlib Xreal Basic Sig Interval Float