\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03306643978524941018815042070855270139873 \lor \neg \left(x \le 0.02855355443278343591240187038238218519837\right):\\
\;\;\;\;\frac{\left(1 - \cos x\right) \cdot \frac{1}{x}}{x}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x \cdot x, \frac{-1}{24}, \mathsf{fma}\left(\frac{1}{720}, {x}^{4}, \frac{1}{2}\right)\right)\\
\end{array}double f(double x) {
double r19560 = 1.0;
double r19561 = x;
double r19562 = cos(r19561);
double r19563 = r19560 - r19562;
double r19564 = r19561 * r19561;
double r19565 = r19563 / r19564;
return r19565;
}
double f(double x) {
double r19566 = x;
double r19567 = -0.03306643978524941;
bool r19568 = r19566 <= r19567;
double r19569 = 0.028553554432783436;
bool r19570 = r19566 <= r19569;
double r19571 = !r19570;
bool r19572 = r19568 || r19571;
double r19573 = 1.0;
double r19574 = cos(r19566);
double r19575 = r19573 - r19574;
double r19576 = 1.0;
double r19577 = r19576 / r19566;
double r19578 = r19575 * r19577;
double r19579 = r19578 / r19566;
double r19580 = r19566 * r19566;
double r19581 = -0.041666666666666664;
double r19582 = 0.001388888888888889;
double r19583 = 4.0;
double r19584 = pow(r19566, r19583);
double r19585 = 0.5;
double r19586 = fma(r19582, r19584, r19585);
double r19587 = fma(r19580, r19581, r19586);
double r19588 = r19572 ? r19579 : r19587;
return r19588;
}



Bits error versus x
if x < -0.03306643978524941 or 0.028553554432783436 < x Initial program 1.0
rmApplied add-sqr-sqrt1.1
Applied times-frac0.6
rmApplied *-un-lft-identity0.6
Applied *-un-lft-identity0.6
Applied sqrt-prod0.6
Applied times-frac0.6
Applied *-un-lft-identity0.6
Applied *-un-lft-identity0.6
Applied sqrt-prod0.6
Applied times-frac0.6
Applied swap-sqr0.6
Simplified0.6
Simplified0.5
rmApplied div-inv0.5
if -0.03306643978524941 < x < 0.028553554432783436Initial program 62.3
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.2
herbie shell --seed 2019304 +o rules:numerics
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))