\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(2 \cdot x\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right) \cdot \left(x \cdot {cos}^{\left(\frac{2}{2}\right)}\right)\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}double f(double x, double cos, double sin) {
double r2922402 = 2.0;
double r2922403 = x;
double r2922404 = r2922402 * r2922403;
double r2922405 = cos(r2922404);
double r2922406 = cos;
double r2922407 = pow(r2922406, r2922402);
double r2922408 = sin;
double r2922409 = pow(r2922408, r2922402);
double r2922410 = r2922403 * r2922409;
double r2922411 = r2922410 * r2922403;
double r2922412 = r2922407 * r2922411;
double r2922413 = r2922405 / r2922412;
return r2922413;
}
double f(double x, double cos, double sin) {
double r2922414 = 2.0;
double r2922415 = x;
double r2922416 = r2922414 * r2922415;
double r2922417 = cos(r2922416);
double r2922418 = cos;
double r2922419 = 2.0;
double r2922420 = r2922414 / r2922419;
double r2922421 = pow(r2922418, r2922420);
double r2922422 = sin;
double r2922423 = pow(r2922422, r2922420);
double r2922424 = r2922423 * r2922415;
double r2922425 = r2922415 * r2922421;
double r2922426 = r2922424 * r2922425;
double r2922427 = r2922426 * r2922423;
double r2922428 = r2922421 * r2922427;
double r2922429 = r2922417 / r2922428;
return r2922429;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.6
rmApplied sqr-pow27.6
Applied associate-*r*21.7
rmApplied sqr-pow21.7
Applied associate-*l*16.5
Simplified19.3
rmApplied sqr-pow19.3
Applied associate-*r*13.3
rmApplied associate-*r*9.5
Final simplification9.5
herbie shell --seed 2019169 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))