\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.033021090300861429 \lor \neg \left(x \le 0.0281293960182661361\right):\\
\;\;\;\;\frac{\sqrt{1 - \cos x}}{x} \cdot \frac{\sqrt{\sqrt[3]{{\left(\sqrt[3]{\left(1 - \cos x\right) \cdot \left(1 - \cos x\right)} \cdot \sqrt[3]{1 - \cos x}\right)}^{3}}}}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\end{array}double f(double x) {
double r23717 = 1.0;
double r23718 = x;
double r23719 = cos(r23718);
double r23720 = r23717 - r23719;
double r23721 = r23718 * r23718;
double r23722 = r23720 / r23721;
return r23722;
}
double f(double x) {
double r23723 = x;
double r23724 = -0.03302109030086143;
bool r23725 = r23723 <= r23724;
double r23726 = 0.028129396018266136;
bool r23727 = r23723 <= r23726;
double r23728 = !r23727;
bool r23729 = r23725 || r23728;
double r23730 = 1.0;
double r23731 = cos(r23723);
double r23732 = r23730 - r23731;
double r23733 = sqrt(r23732);
double r23734 = r23733 / r23723;
double r23735 = r23732 * r23732;
double r23736 = cbrt(r23735);
double r23737 = cbrt(r23732);
double r23738 = r23736 * r23737;
double r23739 = 3.0;
double r23740 = pow(r23738, r23739);
double r23741 = cbrt(r23740);
double r23742 = sqrt(r23741);
double r23743 = r23742 / r23723;
double r23744 = r23734 * r23743;
double r23745 = 0.001388888888888889;
double r23746 = 4.0;
double r23747 = pow(r23723, r23746);
double r23748 = r23745 * r23747;
double r23749 = 0.5;
double r23750 = r23748 + r23749;
double r23751 = 0.041666666666666664;
double r23752 = 2.0;
double r23753 = pow(r23723, r23752);
double r23754 = r23751 * r23753;
double r23755 = r23750 - r23754;
double r23756 = r23729 ? r23744 : r23755;
return r23756;
}



Bits error versus x
Results
if x < -0.03302109030086143 or 0.028129396018266136 < x Initial program 1.0
rmApplied add-sqr-sqrt1.1
Applied times-frac0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
rmApplied add-cube-cbrt0.7
Simplified0.6
if -0.03302109030086143 < x < 0.028129396018266136Initial program 62.2
Taylor expanded around 0 0.0
Final simplification0.3
herbie shell --seed 2020036
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))