\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.0370517283930400648239711358655767980963:\\
\;\;\;\;\frac{1}{x} \cdot \frac{{1}^{3} - \sqrt[3]{\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right) \cdot \left(\left(\cos x \cdot \cos x\right) \cdot \cos x\right)\right)}}{x \cdot \left(1 \cdot 1 + \left(1 + \cos x\right) \cdot \cos x\right)}\\
\mathbf{elif}\;x \le 0.03330291426620153594218010084659908898175:\\
\;\;\;\;\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{720} + \frac{-1}{24}\right) + \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 - \cos x}{x \cdot x}\\
\end{array}double f(double x) {
double r1507935 = 1.0;
double r1507936 = x;
double r1507937 = cos(r1507936);
double r1507938 = r1507935 - r1507937;
double r1507939 = r1507936 * r1507936;
double r1507940 = r1507938 / r1507939;
return r1507940;
}
double f(double x) {
double r1507941 = x;
double r1507942 = -0.037051728393040065;
bool r1507943 = r1507941 <= r1507942;
double r1507944 = 1.0;
double r1507945 = r1507944 / r1507941;
double r1507946 = 1.0;
double r1507947 = 3.0;
double r1507948 = pow(r1507946, r1507947);
double r1507949 = cos(r1507941);
double r1507950 = r1507949 * r1507949;
double r1507951 = r1507950 * r1507949;
double r1507952 = r1507951 * r1507951;
double r1507953 = r1507951 * r1507952;
double r1507954 = cbrt(r1507953);
double r1507955 = r1507948 - r1507954;
double r1507956 = r1507946 * r1507946;
double r1507957 = r1507946 + r1507949;
double r1507958 = r1507957 * r1507949;
double r1507959 = r1507956 + r1507958;
double r1507960 = r1507941 * r1507959;
double r1507961 = r1507955 / r1507960;
double r1507962 = r1507945 * r1507961;
double r1507963 = 0.033302914266201536;
bool r1507964 = r1507941 <= r1507963;
double r1507965 = r1507941 * r1507941;
double r1507966 = 0.001388888888888889;
double r1507967 = r1507965 * r1507966;
double r1507968 = -0.041666666666666664;
double r1507969 = r1507967 + r1507968;
double r1507970 = r1507965 * r1507969;
double r1507971 = 0.5;
double r1507972 = r1507970 + r1507971;
double r1507973 = r1507946 - r1507949;
double r1507974 = r1507973 / r1507965;
double r1507975 = r1507964 ? r1507972 : r1507974;
double r1507976 = r1507943 ? r1507962 : r1507975;
return r1507976;
}



Bits error versus x
Results
if x < -0.037051728393040065Initial program 1.3
rmApplied *-un-lft-identity1.3
Applied times-frac0.5
rmApplied flip3--0.6
Applied associate-/l/0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
if -0.037051728393040065 < x < 0.033302914266201536Initial program 62.3
Taylor expanded around 0 0.0
Simplified0.0
if 0.033302914266201536 < x Initial program 1.1
rmApplied *-un-lft-identity1.1
Applied times-frac0.5
rmApplied *-un-lft-identity0.5
Applied associate-*l*0.5
Simplified1.1
Final simplification0.4
herbie shell --seed 2019174
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))