\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.03437938882255739403426275657693622633815:\\
\;\;\;\;\frac{\frac{1 \cdot 1 - \cos x \cdot \cos x}{x \cdot \left(1 + \cos x\right)}}{x}\\
\mathbf{elif}\;x \le 0.0311908640075921408940651247121422784403:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{{1}^{3} - {\left(\cos x\right)}^{3}}{\cos x \cdot \left(\cos x + 1\right) + 1 \cdot 1}}{x \cdot x}\\
\end{array}double f(double x) {
double r24317 = 1.0;
double r24318 = x;
double r24319 = cos(r24318);
double r24320 = r24317 - r24319;
double r24321 = r24318 * r24318;
double r24322 = r24320 / r24321;
return r24322;
}
double f(double x) {
double r24323 = x;
double r24324 = -0.034379388822557394;
bool r24325 = r24323 <= r24324;
double r24326 = 1.0;
double r24327 = r24326 * r24326;
double r24328 = cos(r24323);
double r24329 = r24328 * r24328;
double r24330 = r24327 - r24329;
double r24331 = r24326 + r24328;
double r24332 = r24323 * r24331;
double r24333 = r24330 / r24332;
double r24334 = r24333 / r24323;
double r24335 = 0.03119086400759214;
bool r24336 = r24323 <= r24335;
double r24337 = 0.001388888888888889;
double r24338 = 4.0;
double r24339 = pow(r24323, r24338);
double r24340 = r24337 * r24339;
double r24341 = 0.5;
double r24342 = r24340 + r24341;
double r24343 = 0.041666666666666664;
double r24344 = 2.0;
double r24345 = pow(r24323, r24344);
double r24346 = r24343 * r24345;
double r24347 = r24342 - r24346;
double r24348 = 3.0;
double r24349 = pow(r24326, r24348);
double r24350 = pow(r24328, r24348);
double r24351 = r24349 - r24350;
double r24352 = r24328 + r24326;
double r24353 = r24328 * r24352;
double r24354 = r24353 + r24327;
double r24355 = r24351 / r24354;
double r24356 = r24323 * r24323;
double r24357 = r24355 / r24356;
double r24358 = r24336 ? r24347 : r24357;
double r24359 = r24325 ? r24334 : r24358;
return r24359;
}



Bits error versus x
Results
if x < -0.034379388822557394Initial program 1.0
rmApplied add-sqr-sqrt1.1
Applied times-frac0.5
rmApplied associate-*r/0.5
Simplified0.4
rmApplied flip--0.7
Applied associate-/l/0.7
if -0.034379388822557394 < x < 0.03119086400759214Initial program 62.4
Taylor expanded around 0 0.0
if 0.03119086400759214 < x Initial program 1.1
rmApplied flip3--1.1
Simplified1.1
Final simplification0.5
herbie shell --seed 2020002
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))