\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.0370517283930400648239711358655767980963:\\
\;\;\;\;\frac{1}{x} \cdot \frac{{1}^{3} - \sqrt[3]{\left(\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)}}{x \cdot \left(\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1\right)}\\
\mathbf{elif}\;x \le 0.03330291426620153594218010084659908898175:\\
\;\;\;\;\frac{1}{2} + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{720} + \frac{-1}{24}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\log \left(1 - \cos x\right)}}{x \cdot x}\\
\end{array}double f(double x) {
double r1619589 = 1.0;
double r1619590 = x;
double r1619591 = cos(r1619590);
double r1619592 = r1619589 - r1619591;
double r1619593 = r1619590 * r1619590;
double r1619594 = r1619592 / r1619593;
return r1619594;
}
double f(double x) {
double r1619595 = x;
double r1619596 = -0.037051728393040065;
bool r1619597 = r1619595 <= r1619596;
double r1619598 = 1.0;
double r1619599 = r1619598 / r1619595;
double r1619600 = 1.0;
double r1619601 = 3.0;
double r1619602 = pow(r1619600, r1619601);
double r1619603 = cos(r1619595);
double r1619604 = r1619603 * r1619603;
double r1619605 = r1619604 * r1619603;
double r1619606 = r1619605 * r1619605;
double r1619607 = r1619606 * r1619605;
double r1619608 = cbrt(r1619607);
double r1619609 = r1619602 - r1619608;
double r1619610 = r1619600 + r1619603;
double r1619611 = r1619603 * r1619610;
double r1619612 = r1619600 * r1619600;
double r1619613 = r1619611 + r1619612;
double r1619614 = r1619595 * r1619613;
double r1619615 = r1619609 / r1619614;
double r1619616 = r1619599 * r1619615;
double r1619617 = 0.033302914266201536;
bool r1619618 = r1619595 <= r1619617;
double r1619619 = 0.5;
double r1619620 = r1619595 * r1619595;
double r1619621 = 0.001388888888888889;
double r1619622 = r1619620 * r1619621;
double r1619623 = -0.041666666666666664;
double r1619624 = r1619622 + r1619623;
double r1619625 = r1619620 * r1619624;
double r1619626 = r1619619 + r1619625;
double r1619627 = r1619600 - r1619603;
double r1619628 = log(r1619627);
double r1619629 = exp(r1619628);
double r1619630 = r1619629 / r1619620;
double r1619631 = r1619618 ? r1619626 : r1619630;
double r1619632 = r1619597 ? r1619616 : r1619631;
return r1619632;
}



Bits error versus x
Results
if x < -0.037051728393040065Initial program 1.3
rmApplied *-un-lft-identity1.3
Applied times-frac0.5
rmApplied flip3--0.6
Applied associate-/l/0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
if -0.037051728393040065 < x < 0.033302914266201536Initial program 62.3
Taylor expanded around 0 0.0
Simplified0.0
if 0.033302914266201536 < x Initial program 1.1
rmApplied add-exp-log1.1
Final simplification0.4
herbie shell --seed 2019174
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))