cos package:numeric-prelude

equalTrunc 500 PSE.cosExpl (PS.cos (\0 -> (0,1)) [0,1])
checkHoles 20 (PS.cos (\0 -> (0,1))) 0
equalTrunc 500 PSE.cosExpl PSE.cosODE
equalTrunc 500 PSE.coshExpl PSE.coshODE
Like cosSinSmall but converges faster. It calls cosSinSmall with reduced arguments using the trigonometric identities cos (4*x) = 8 * cos x ^ 2 * (cos x ^ 2 - 1) + 1 sin (4*x) = 4 * sin x * cos x * (1 - 2 * sin x ^ 2) Note that the faster convergence is hidden by the overhead. The same could be achieved with a fourth power of a complex number.
Absolute value of argument should be below 1.
Absolute value of argument should be below 1.
Would be a nice test, but we cannot compute exactly with pi:
equalTrunc 50 PSE.acos (PS.acos (\1 -> 1) (\0 -> pi/2) [0,1])