\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.0308611095906960383739026099192415131256:\\
\;\;\;\;\frac{\frac{1}{x} - \cos x \cdot \frac{1}{x}}{x}\\
\mathbf{elif}\;x \le 0.03328058389703145159010944098554318770766:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{x}}{x} - \frac{\frac{\cos x}{x}}{x}\\
\end{array}double f(double x) {
double r19608 = 1.0;
double r19609 = x;
double r19610 = cos(r19609);
double r19611 = r19608 - r19610;
double r19612 = r19609 * r19609;
double r19613 = r19611 / r19612;
return r19613;
}
double f(double x) {
double r19614 = x;
double r19615 = -0.03086110959069604;
bool r19616 = r19614 <= r19615;
double r19617 = 1.0;
double r19618 = r19617 / r19614;
double r19619 = cos(r19614);
double r19620 = 1.0;
double r19621 = r19620 / r19614;
double r19622 = r19619 * r19621;
double r19623 = r19618 - r19622;
double r19624 = r19623 / r19614;
double r19625 = 0.03328058389703145;
bool r19626 = r19614 <= r19625;
double r19627 = 0.001388888888888889;
double r19628 = 4.0;
double r19629 = pow(r19614, r19628);
double r19630 = r19627 * r19629;
double r19631 = 0.5;
double r19632 = r19630 + r19631;
double r19633 = 0.041666666666666664;
double r19634 = 2.0;
double r19635 = pow(r19614, r19634);
double r19636 = r19633 * r19635;
double r19637 = r19632 - r19636;
double r19638 = r19618 / r19614;
double r19639 = r19619 / r19614;
double r19640 = r19639 / r19614;
double r19641 = r19638 - r19640;
double r19642 = r19626 ? r19637 : r19641;
double r19643 = r19616 ? r19624 : r19642;
return r19643;
}



Bits error versus x
Results
if x < -0.03086110959069604Initial program 1.0
rmApplied associate-/r*0.5
rmApplied div-sub0.6
rmApplied div-inv0.5
if -0.03086110959069604 < x < 0.03328058389703145Initial program 62.3
Taylor expanded around 0 0.0
if 0.03328058389703145 < x Initial program 0.9
rmApplied associate-/r*0.5
rmApplied div-sub0.6
Applied div-sub0.6
Final simplification0.3
herbie shell --seed 2019303
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))