\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03465278425284570168463105233058740850538:\\
\;\;\;\;\frac{\frac{1}{x}}{x} \cdot \left(1 - \cos x\right)\\
\mathbf{elif}\;x \le 0.03597822376690750639793847653891134541482:\\
\;\;\;\;\left(\frac{1}{2} - \frac{1}{24} \cdot {x}^{2}\right) + {x}^{4} \cdot \frac{1}{720}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{\cos x}{x}}{x}\\
\end{array}double f(double x) {
double r18993 = 1.0;
double r18994 = x;
double r18995 = cos(r18994);
double r18996 = r18993 - r18995;
double r18997 = r18994 * r18994;
double r18998 = r18996 / r18997;
return r18998;
}
double f(double x) {
double r18999 = x;
double r19000 = -0.0346527842528457;
bool r19001 = r18999 <= r19000;
double r19002 = 1.0;
double r19003 = r19002 / r18999;
double r19004 = r19003 / r18999;
double r19005 = 1.0;
double r19006 = cos(r18999);
double r19007 = r19005 - r19006;
double r19008 = r19004 * r19007;
double r19009 = 0.035978223766907506;
bool r19010 = r18999 <= r19009;
double r19011 = 0.5;
double r19012 = 0.041666666666666664;
double r19013 = 2.0;
double r19014 = pow(r18999, r19013);
double r19015 = r19012 * r19014;
double r19016 = r19011 - r19015;
double r19017 = 4.0;
double r19018 = pow(r18999, r19017);
double r19019 = 0.001388888888888889;
double r19020 = r19018 * r19019;
double r19021 = r19016 + r19020;
double r19022 = r19005 / r18999;
double r19023 = r19006 / r18999;
double r19024 = r19022 - r19023;
double r19025 = r19024 / r18999;
double r19026 = r19010 ? r19021 : r19025;
double r19027 = r19001 ? r19008 : r19026;
return r19027;
}



Bits error versus x
Results
if x < -0.0346527842528457Initial program 0.9
rmApplied div-inv1.0
Simplified0.5
if -0.0346527842528457 < x < 0.035978223766907506Initial program 62.2
rmApplied div-inv62.2
Simplified62.2
rmApplied pow162.2
Applied pow162.2
Applied pow-prod-down62.2
Simplified61.3
rmApplied div-sub61.3
Taylor expanded around 0 0.0
Simplified0.0
if 0.035978223766907506 < x Initial program 1.0
rmApplied div-inv1.0
Simplified0.5
rmApplied pow10.5
Applied pow10.5
Applied pow-prod-down0.5
Simplified0.4
rmApplied div-sub0.5
Final simplification0.3
herbie shell --seed 2019194
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))