\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.0340620183492770026:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{{1}^{3}}{\mathsf{fma}\left(\cos x, \left(\sqrt[3]{1 + \cos x} \cdot \sqrt[3]{1 + \cos x}\right) \cdot \sqrt[3]{1 + \cos x}, 1 \cdot 1\right)} - \frac{{\left(\cos x\right)}^{3}}{\mathsf{fma}\left(\cos x, 1 + \cos x, 1 \cdot 1\right)}}{x}\\
\mathbf{elif}\;x \le 0.0328884568480627:\\
\;\;\;\;\mathsf{fma}\left({x}^{4}, \frac{1}{720}, \frac{1}{2} - \frac{1}{24} \cdot {x}^{2}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{{1}^{3} - \sqrt[3]{{\left({\left(\cos x\right)}^{3}\right)}^{3}}}{\mathsf{fma}\left(\cos x, 1 + \cos x, 1 \cdot 1\right)}}{x}\\
\end{array}double code(double x) {
return ((1.0 - cos(x)) / (x * x));
}
double code(double x) {
double temp;
if ((x <= -0.034062018349277)) {
temp = ((1.0 / x) * (((pow(1.0, 3.0) / fma(cos(x), ((cbrt((1.0 + cos(x))) * cbrt((1.0 + cos(x)))) * cbrt((1.0 + cos(x)))), (1.0 * 1.0))) - (pow(cos(x), 3.0) / fma(cos(x), (1.0 + cos(x)), (1.0 * 1.0)))) / x));
} else {
double temp_1;
if ((x <= 0.0328884568480627)) {
temp_1 = fma(pow(x, 4.0), 0.001388888888888889, (0.5 - (0.041666666666666664 * pow(x, 2.0))));
} else {
temp_1 = ((1.0 / x) * (((pow(1.0, 3.0) - cbrt(pow(pow(cos(x), 3.0), 3.0))) / fma(cos(x), (1.0 + cos(x)), (1.0 * 1.0))) / x));
}
temp = temp_1;
}
return temp;
}



Bits error versus x
Results
if x < -0.034062018349277Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied times-frac0.6
rmApplied flip3--0.6
Simplified0.6
rmApplied div-sub0.6
rmApplied add-cube-cbrt0.7
if -0.034062018349277 < x < 0.0328884568480627Initial program 62.3
Taylor expanded around 0 0.0
Simplified0.0
if 0.0328884568480627 < x Initial program 0.9
rmApplied *-un-lft-identity0.9
Applied times-frac0.4
rmApplied flip3--0.5
Simplified0.5
rmApplied add-cbrt-cube0.5
Simplified0.5
Final simplification0.3
herbie shell --seed 2020058 +o rules:numerics
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))