\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\left(\cos x + \sin x\right) \cdot \left(\cos x - \sin x\right)}{\left(x \cdot sin\right) \cdot cos}}{\left(x \cdot sin\right) \cdot cos}double f(double x, double cos, double sin) {
double r2486294 = 2.0;
double r2486295 = x;
double r2486296 = r2486294 * r2486295;
double r2486297 = cos(r2486296);
double r2486298 = cos;
double r2486299 = pow(r2486298, r2486294);
double r2486300 = sin;
double r2486301 = pow(r2486300, r2486294);
double r2486302 = r2486295 * r2486301;
double r2486303 = r2486302 * r2486295;
double r2486304 = r2486299 * r2486303;
double r2486305 = r2486297 / r2486304;
return r2486305;
}
double f(double x, double cos, double sin) {
double r2486306 = x;
double r2486307 = cos(r2486306);
double r2486308 = sin(r2486306);
double r2486309 = r2486307 + r2486308;
double r2486310 = r2486307 - r2486308;
double r2486311 = r2486309 * r2486310;
double r2486312 = sin;
double r2486313 = r2486306 * r2486312;
double r2486314 = cos;
double r2486315 = r2486313 * r2486314;
double r2486316 = r2486311 / r2486315;
double r2486317 = r2486316 / r2486315;
return r2486317;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 26.9
Simplified12.9
rmApplied div-inv12.9
Applied associate-/l*13.1
Simplified2.8
rmApplied associate-/r*2.5
rmApplied cos-22.6
rmApplied difference-of-squares2.6
Final simplification2.6
herbie shell --seed 2019165
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))