\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.02946894055838554515869276428929879330099 \lor \neg \left(x \le 0.02987058901551629605530813194036454660818\right):\\
\;\;\;\;\frac{\frac{1 - \cos x}{x}}{x}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left({x}^{2}, \frac{-1}{24}, \mathsf{fma}\left({x}^{4}, \frac{1}{720}, \frac{1}{2}\right)\right)\\
\end{array}double f(double x) {
double r22573 = 1.0;
double r22574 = x;
double r22575 = cos(r22574);
double r22576 = r22573 - r22575;
double r22577 = r22574 * r22574;
double r22578 = r22576 / r22577;
return r22578;
}
double f(double x) {
double r22579 = x;
double r22580 = -0.029468940558385545;
bool r22581 = r22579 <= r22580;
double r22582 = 0.029870589015516296;
bool r22583 = r22579 <= r22582;
double r22584 = !r22583;
bool r22585 = r22581 || r22584;
double r22586 = 1.0;
double r22587 = cos(r22579);
double r22588 = r22586 - r22587;
double r22589 = r22588 / r22579;
double r22590 = r22589 / r22579;
double r22591 = 2.0;
double r22592 = pow(r22579, r22591);
double r22593 = -0.041666666666666664;
double r22594 = 4.0;
double r22595 = pow(r22579, r22594);
double r22596 = 0.001388888888888889;
double r22597 = 0.5;
double r22598 = fma(r22595, r22596, r22597);
double r22599 = fma(r22592, r22593, r22598);
double r22600 = r22585 ? r22590 : r22599;
return r22600;
}



Bits error versus x
if x < -0.029468940558385545 or 0.029870589015516296 < x Initial program 1.0
rmApplied associate-/r*0.5
if -0.029468940558385545 < x < 0.029870589015516296Initial program 62.2
rmApplied associate-/r*61.3
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.2
herbie shell --seed 2019195 +o rules:numerics
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))