\frac{1 - \cos x}{x \cdot x}\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\sin x}{x}\right)\right) \cdot \frac{\tan \left(\frac{x}{2}\right)}{x}double f(double x) {
double r562145 = 1.0;
double r562146 = x;
double r562147 = cos(r562146);
double r562148 = r562145 - r562147;
double r562149 = r562146 * r562146;
double r562150 = r562148 / r562149;
return r562150;
}
double f(double x) {
double r562151 = x;
double r562152 = sin(r562151);
double r562153 = r562152 / r562151;
double r562154 = log1p(r562153);
double r562155 = expm1(r562154);
double r562156 = 2.0;
double r562157 = r562151 / r562156;
double r562158 = tan(r562157);
double r562159 = r562158 / r562151;
double r562160 = r562155 * r562159;
return r562160;
}



Bits error versus x
Results
Initial program 31.5
rmApplied flip--31.6
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied *-un-lft-identity16.1
Applied distribute-lft-out16.1
Applied times-frac16.1
Applied times-frac0.3
Simplified0.3
Simplified0.1
rmApplied expm1-log1p-u0.1
Final simplification0.1
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x)
:name "cos2 (problem 3.4.1)"
(/ (- 1 (cos x)) (* x x)))