\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos x \cdot \cos x}{\left(sin \cdot x\right) \cdot cos} - \frac{\sin x \cdot \sin x}{\left(sin \cdot x\right) \cdot cos}}{\left(sin \cdot x\right) \cdot cos}double f(double x, double cos, double sin) {
double r2688345 = 2.0;
double r2688346 = x;
double r2688347 = r2688345 * r2688346;
double r2688348 = cos(r2688347);
double r2688349 = cos;
double r2688350 = pow(r2688349, r2688345);
double r2688351 = sin;
double r2688352 = pow(r2688351, r2688345);
double r2688353 = r2688346 * r2688352;
double r2688354 = r2688353 * r2688346;
double r2688355 = r2688350 * r2688354;
double r2688356 = r2688348 / r2688355;
return r2688356;
}
double f(double x, double cos, double sin) {
double r2688357 = x;
double r2688358 = cos(r2688357);
double r2688359 = r2688358 * r2688358;
double r2688360 = sin;
double r2688361 = r2688360 * r2688357;
double r2688362 = cos;
double r2688363 = r2688361 * r2688362;
double r2688364 = r2688359 / r2688363;
double r2688365 = sin(r2688357);
double r2688366 = r2688365 * r2688365;
double r2688367 = r2688366 / r2688363;
double r2688368 = r2688364 - r2688367;
double r2688369 = r2688368 / r2688363;
return r2688369;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.0
Simplified2.9
rmApplied associate-/r*2.7
rmApplied cos-22.7
Applied div-sub2.7
Final simplification2.7
herbie shell --seed 2019146 +o rules:numerics
(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))))