\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03415862644372414:\\
\;\;\;\;\left(1 - \cos x\right) \cdot \frac{1}{x \cdot x}\\
\mathbf{elif}\;x \le 0.034763904894879627:\\
\;\;\;\;\mathsf{fma}\left({x}^{2}, \frac{-1}{24}, \mathsf{fma}\left(\frac{1}{720}, {x}^{4}, \frac{1}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x \cdot x} - \frac{\cos x}{x \cdot x}\\
\end{array}double f(double x) {
double r36768 = 1.0;
double r36769 = x;
double r36770 = cos(r36769);
double r36771 = r36768 - r36770;
double r36772 = r36769 * r36769;
double r36773 = r36771 / r36772;
return r36773;
}
double f(double x) {
double r36774 = x;
double r36775 = -0.03415862644372414;
bool r36776 = r36774 <= r36775;
double r36777 = 1.0;
double r36778 = cos(r36774);
double r36779 = r36777 - r36778;
double r36780 = 1.0;
double r36781 = r36774 * r36774;
double r36782 = r36780 / r36781;
double r36783 = r36779 * r36782;
double r36784 = 0.03476390489487963;
bool r36785 = r36774 <= r36784;
double r36786 = 2.0;
double r36787 = pow(r36774, r36786);
double r36788 = -0.041666666666666664;
double r36789 = 0.001388888888888889;
double r36790 = 4.0;
double r36791 = pow(r36774, r36790);
double r36792 = 0.5;
double r36793 = fma(r36789, r36791, r36792);
double r36794 = fma(r36787, r36788, r36793);
double r36795 = r36777 / r36781;
double r36796 = r36778 / r36781;
double r36797 = r36795 - r36796;
double r36798 = r36785 ? r36794 : r36797;
double r36799 = r36776 ? r36783 : r36798;
return r36799;
}



Bits error versus x
if x < -0.03415862644372414Initial program 1.1
rmApplied div-inv1.1
if -0.03415862644372414 < x < 0.03476390489487963Initial program 62.2
Taylor expanded around 0 0.0
Simplified0.0
if 0.03476390489487963 < x Initial program 1.2
rmApplied div-sub1.3
Final simplification0.6
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))