\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le \frac{-1907116567994743}{72057594037927936}:\\
\;\;\;\;\frac{\frac{e^{\log \left(1 - \cos x\right)}}{x}}{x}\\
\mathbf{elif}\;x \le \frac{8640391372512233}{288230376151711744}:\\
\;\;\;\;\frac{1}{2} - \left(\frac{{x}^{2}}{24} - \frac{{x}^{4}}{720}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{e^{\log \left({1}^{3} - {\left(\cos x\right)}^{3}\right)}}{\left(\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1\right) \cdot x}}{x}\\
\end{array}double f(double x) {
double r74574 = 1.0;
double r74575 = x;
double r74576 = cos(r74575);
double r74577 = r74574 - r74576;
double r74578 = r74575 * r74575;
double r74579 = r74577 / r74578;
return r74579;
}
double f(double x) {
double r74580 = x;
double r74581 = -1907116567994743.0;
double r74582 = 7.205759403792794e+16;
double r74583 = r74581 / r74582;
bool r74584 = r74580 <= r74583;
double r74585 = 1.0;
double r74586 = cos(r74580);
double r74587 = r74585 - r74586;
double r74588 = log(r74587);
double r74589 = exp(r74588);
double r74590 = r74589 / r74580;
double r74591 = r74590 / r74580;
double r74592 = 8640391372512233.0;
double r74593 = 2.8823037615171174e+17;
double r74594 = r74592 / r74593;
bool r74595 = r74580 <= r74594;
double r74596 = 1.0;
double r74597 = 2.0;
double r74598 = r74596 / r74597;
double r74599 = pow(r74580, r74597);
double r74600 = 24.0;
double r74601 = r74599 / r74600;
double r74602 = 4.0;
double r74603 = pow(r74580, r74602);
double r74604 = 720.0;
double r74605 = r74603 / r74604;
double r74606 = r74601 - r74605;
double r74607 = r74598 - r74606;
double r74608 = 3.0;
double r74609 = pow(r74585, r74608);
double r74610 = pow(r74586, r74608);
double r74611 = r74609 - r74610;
double r74612 = log(r74611);
double r74613 = exp(r74612);
double r74614 = r74586 + r74585;
double r74615 = r74586 * r74614;
double r74616 = r74585 * r74585;
double r74617 = r74615 + r74616;
double r74618 = r74617 * r74580;
double r74619 = r74613 / r74618;
double r74620 = r74619 / r74580;
double r74621 = r74595 ? r74607 : r74620;
double r74622 = r74584 ? r74591 : r74621;
return r74622;
}



Bits error versus x
Results
if x < -0.026466559055398395Initial program 1.2
rmApplied associate-/r*0.5
rmApplied add-exp-log0.5
if -0.026466559055398395 < x < 0.029977379511048872Initial program 62.2
rmApplied associate-/r*61.3
Taylor expanded around 0 0.0
Simplified0.0
if 0.029977379511048872 < x Initial program 1.0
rmApplied associate-/r*0.5
rmApplied add-exp-log0.5
rmApplied flip3--0.5
Applied log-div0.5
Applied exp-diff0.5
Applied associate-/l/0.5
Simplified0.5
Final simplification0.2
herbie shell --seed 350497007
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))