\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.036038474483329114:\\
\;\;\;\;\frac{\sqrt{\log \left(e^{1 - \cos x}\right)}}{x} \cdot \frac{\sqrt{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\cos x \cdot \left(\left(\sqrt[3]{\cos x + 1} \cdot \sqrt[3]{\cos x + 1}\right) \cdot \sqrt[3]{\cos x + 1}\right) + 1 \cdot 1}}}{x}\\
\mathbf{elif}\;x \le 0.033100735860822239:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(1 - \cos x\right) \cdot \frac{1}{x \cdot x}\\
\end{array}double f(double x) {
double r18529 = 1.0;
double r18530 = x;
double r18531 = cos(r18530);
double r18532 = r18529 - r18531;
double r18533 = r18530 * r18530;
double r18534 = r18532 / r18533;
return r18534;
}
double f(double x) {
double r18535 = x;
double r18536 = -0.036038474483329114;
bool r18537 = r18535 <= r18536;
double r18538 = 1.0;
double r18539 = cos(r18535);
double r18540 = r18538 - r18539;
double r18541 = exp(r18540);
double r18542 = log(r18541);
double r18543 = sqrt(r18542);
double r18544 = r18543 / r18535;
double r18545 = 3.0;
double r18546 = pow(r18538, r18545);
double r18547 = pow(r18539, r18545);
double r18548 = r18546 - r18547;
double r18549 = r18539 + r18538;
double r18550 = cbrt(r18549);
double r18551 = r18550 * r18550;
double r18552 = r18551 * r18550;
double r18553 = r18539 * r18552;
double r18554 = r18538 * r18538;
double r18555 = r18553 + r18554;
double r18556 = r18548 / r18555;
double r18557 = sqrt(r18556);
double r18558 = r18557 / r18535;
double r18559 = r18544 * r18558;
double r18560 = 0.03310073586082224;
bool r18561 = r18535 <= r18560;
double r18562 = 0.001388888888888889;
double r18563 = 4.0;
double r18564 = pow(r18535, r18563);
double r18565 = r18562 * r18564;
double r18566 = 0.5;
double r18567 = r18565 + r18566;
double r18568 = 0.041666666666666664;
double r18569 = 2.0;
double r18570 = pow(r18535, r18569);
double r18571 = r18568 * r18570;
double r18572 = r18567 - r18571;
double r18573 = 1.0;
double r18574 = r18535 * r18535;
double r18575 = r18573 / r18574;
double r18576 = r18540 * r18575;
double r18577 = r18561 ? r18572 : r18576;
double r18578 = r18537 ? r18559 : r18577;
return r18578;
}



Bits error versus x
Results
if x < -0.036038474483329114Initial program 1.0
rmApplied add-sqr-sqrt1.1
Applied times-frac0.6
rmApplied add-log-exp0.6
Applied add-log-exp0.6
Applied diff-log0.6
Simplified0.6
rmApplied flip3--0.6
Simplified0.6
rmApplied add-cube-cbrt0.6
if -0.036038474483329114 < x < 0.03310073586082224Initial program 62.2
Taylor expanded around 0 0.0
if 0.03310073586082224 < x Initial program 1.2
rmApplied div-inv1.3
Final simplification0.5
herbie shell --seed 2020020
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))