\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03237572141906872036365427902637748047709:\\
\;\;\;\;\frac{\frac{\frac{{1}^{3} - \log \left(e^{{\left(\cos x\right)}^{3}}\right)}{\cos x \cdot \frac{{\left(\cos x\right)}^{3} + {1}^{3}}{\cos x \cdot \left(\cos x - 1\right) + 1 \cdot 1} + 1 \cdot 1}}{x}}{x}\\
\mathbf{elif}\;x \le 0.03382760307135756344676380535929638426751:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{{1}^{3} - \log \left(e^{\left(\cos x \cdot \cos x\right) \cdot \cos x}\right)}{\cos x \cdot \left(1 + \cos x\right) + 1 \cdot 1}}{x}}{x}\\
\end{array}double f(double x) {
double r21540 = 1.0;
double r21541 = x;
double r21542 = cos(r21541);
double r21543 = r21540 - r21542;
double r21544 = r21541 * r21541;
double r21545 = r21543 / r21544;
return r21545;
}
double f(double x) {
double r21546 = x;
double r21547 = -0.03237572141906872;
bool r21548 = r21546 <= r21547;
double r21549 = 1.0;
double r21550 = 3.0;
double r21551 = pow(r21549, r21550);
double r21552 = cos(r21546);
double r21553 = pow(r21552, r21550);
double r21554 = exp(r21553);
double r21555 = log(r21554);
double r21556 = r21551 - r21555;
double r21557 = r21553 + r21551;
double r21558 = r21552 - r21549;
double r21559 = r21552 * r21558;
double r21560 = r21549 * r21549;
double r21561 = r21559 + r21560;
double r21562 = r21557 / r21561;
double r21563 = r21552 * r21562;
double r21564 = r21563 + r21560;
double r21565 = r21556 / r21564;
double r21566 = r21565 / r21546;
double r21567 = r21566 / r21546;
double r21568 = 0.03382760307135756;
bool r21569 = r21546 <= r21568;
double r21570 = 0.001388888888888889;
double r21571 = 4.0;
double r21572 = pow(r21546, r21571);
double r21573 = r21570 * r21572;
double r21574 = 0.5;
double r21575 = r21573 + r21574;
double r21576 = 0.041666666666666664;
double r21577 = 2.0;
double r21578 = pow(r21546, r21577);
double r21579 = r21576 * r21578;
double r21580 = r21575 - r21579;
double r21581 = r21552 * r21552;
double r21582 = r21581 * r21552;
double r21583 = exp(r21582);
double r21584 = log(r21583);
double r21585 = r21551 - r21584;
double r21586 = r21549 + r21552;
double r21587 = r21552 * r21586;
double r21588 = r21587 + r21560;
double r21589 = r21585 / r21588;
double r21590 = r21589 / r21546;
double r21591 = r21590 / r21546;
double r21592 = r21569 ? r21580 : r21591;
double r21593 = r21548 ? r21567 : r21592;
return r21593;
}



Bits error versus x
Results
if x < -0.03237572141906872Initial program 1.1
rmApplied associate-/r*0.5
rmApplied flip3--0.5
Simplified0.5
rmApplied add-log-exp0.6
rmApplied flip3-+0.6
Simplified0.6
Simplified0.6
if -0.03237572141906872 < x < 0.03382760307135756Initial program 62.2
Taylor expanded around 0 0.0
if 0.03382760307135756 < x Initial program 0.9
rmApplied associate-/r*0.5
rmApplied flip3--0.5
Simplified0.5
rmApplied add-log-exp0.6
rmApplied add-cbrt-cube0.7
Applied rem-cube-cbrt0.6
Final simplification0.3
herbie shell --seed 2019212
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))