\frac{1 - \cos x}{x \cdot x}\begin{array}{l}
\mathbf{if}\;x \le -0.029735392258237861:\\
\;\;\;\;\frac{\frac{\sqrt[3]{{\left(1 - \cos x\right)}^{3}}}{x}}{x}\\
\mathbf{elif}\;x \le 0.033264802814976693:\\
\;\;\;\;\left(\frac{1}{720} \cdot {x}^{4} + \frac{1}{2}\right) - \frac{1}{24} \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x \cdot x} - \frac{\cos x}{x \cdot x}\\
\end{array}double f(double x) {
double r23130 = 1.0;
double r23131 = x;
double r23132 = cos(r23131);
double r23133 = r23130 - r23132;
double r23134 = r23131 * r23131;
double r23135 = r23133 / r23134;
return r23135;
}
double f(double x) {
double r23136 = x;
double r23137 = -0.02973539225823786;
bool r23138 = r23136 <= r23137;
double r23139 = 1.0;
double r23140 = cos(r23136);
double r23141 = r23139 - r23140;
double r23142 = 3.0;
double r23143 = pow(r23141, r23142);
double r23144 = cbrt(r23143);
double r23145 = r23144 / r23136;
double r23146 = r23145 / r23136;
double r23147 = 0.03326480281497669;
bool r23148 = r23136 <= r23147;
double r23149 = 0.001388888888888889;
double r23150 = 4.0;
double r23151 = pow(r23136, r23150);
double r23152 = r23149 * r23151;
double r23153 = 0.5;
double r23154 = r23152 + r23153;
double r23155 = 0.041666666666666664;
double r23156 = 2.0;
double r23157 = pow(r23136, r23156);
double r23158 = r23155 * r23157;
double r23159 = r23154 - r23158;
double r23160 = r23136 * r23136;
double r23161 = r23139 / r23160;
double r23162 = r23140 / r23160;
double r23163 = r23161 - r23162;
double r23164 = r23148 ? r23159 : r23163;
double r23165 = r23138 ? r23146 : r23164;
return r23165;
}



Bits error versus x
Results
if x < -0.02973539225823786Initial program 1.1
rmApplied associate-/r*0.4
rmApplied add-cbrt-cube0.6
Simplified0.6
if -0.02973539225823786 < x < 0.03326480281497669Initial program 62.4
Taylor expanded around 0 0.0
if 0.03326480281497669 < x Initial program 1.0
rmApplied div-sub1.1
Final simplification0.4
herbie shell --seed 2020018
(FPCore (x)
:name "cos2 (problem 3.4.1)"
:precision binary64
(/ (- 1 (cos x)) (* x x)))