\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03315829856655696378231468202102405484766:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\
\mathbf{elif}\;x \le 0.02695851314962413244891159536109626060352:\\
\;\;\;\;\left(\frac{1}{720} \cdot \left(x \cdot x\right) - \frac{1}{24}\right) \cdot \left(x \cdot x\right) + \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x} \cdot \frac{\frac{\left(\left(1 \cdot 1\right) \cdot 1 - \cos x \cdot \frac{1}{2}\right) - \cos x \cdot \left(\cos \left(x \cdot 2\right) \cdot \frac{1}{2}\right)}{1 \cdot 1 + \left(\cos x \cdot \cos x + \cos x \cdot 1\right)}}{x}\\
\end{array}double f(double x) {
double r733168 = 1.0;
double r733169 = x;
double r733170 = cos(r733169);
double r733171 = r733168 - r733170;
double r733172 = r733169 * r733169;
double r733173 = r733171 / r733172;
return r733173;
}
double f(double x) {
double r733174 = x;
double r733175 = -0.033158298566556964;
bool r733176 = r733174 <= r733175;
double r733177 = 1.0;
double r733178 = r733177 / r733174;
double r733179 = 1.0;
double r733180 = r733179 * r733179;
double r733181 = r733180 * r733179;
double r733182 = cos(r733174);
double r733183 = 0.5;
double r733184 = r733182 * r733183;
double r733185 = r733181 - r733184;
double r733186 = 2.0;
double r733187 = r733174 * r733186;
double r733188 = cos(r733187);
double r733189 = r733188 * r733183;
double r733190 = r733182 * r733189;
double r733191 = r733185 - r733190;
double r733192 = r733182 * r733182;
double r733193 = r733182 * r733179;
double r733194 = r733192 + r733193;
double r733195 = r733180 + r733194;
double r733196 = r733191 / r733195;
double r733197 = r733196 / r733174;
double r733198 = r733178 * r733197;
double r733199 = 0.026958513149624132;
bool r733200 = r733174 <= r733199;
double r733201 = 0.001388888888888889;
double r733202 = r733174 * r733174;
double r733203 = r733201 * r733202;
double r733204 = 0.041666666666666664;
double r733205 = r733203 - r733204;
double r733206 = r733205 * r733202;
double r733207 = r733206 + r733183;
double r733208 = r733200 ? r733207 : r733198;
double r733209 = r733176 ? r733198 : r733208;
return r733209;
}



Bits error versus x
Results
if x < -0.033158298566556964 or 0.026958513149624132 < x Initial program 1.0
rmApplied add-sqr-sqrt1.1
Applied times-frac0.6
rmApplied div-inv0.6
Applied associate-*r*0.6
Simplified0.5
rmApplied flip3--0.5
Simplified0.5
rmApplied sqr-cos0.5
Applied distribute-rgt-in0.5
Applied associate--r+0.5
if -0.033158298566556964 < x < 0.026958513149624132Initial program 62.3
rmApplied add-sqr-sqrt62.3
Applied times-frac61.3
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.2
herbie shell --seed 2019200
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1.0 (cos x)) (* x x)))