\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(x \cdot 2\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(\left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right) \cdot \left(\left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right) \cdot {cos}^{\left(\frac{2}{2}\right)}\right)\right)}double f(double x, double cos, double sin) {
double r3151442 = 2.0;
double r3151443 = x;
double r3151444 = r3151442 * r3151443;
double r3151445 = cos(r3151444);
double r3151446 = cos;
double r3151447 = pow(r3151446, r3151442);
double r3151448 = sin;
double r3151449 = pow(r3151448, r3151442);
double r3151450 = r3151443 * r3151449;
double r3151451 = r3151450 * r3151443;
double r3151452 = r3151447 * r3151451;
double r3151453 = r3151445 / r3151452;
return r3151453;
}
double f(double x, double cos, double sin) {
double r3151454 = x;
double r3151455 = 2.0;
double r3151456 = r3151454 * r3151455;
double r3151457 = cos(r3151456);
double r3151458 = cos;
double r3151459 = 2.0;
double r3151460 = r3151455 / r3151459;
double r3151461 = pow(r3151458, r3151460);
double r3151462 = sin;
double r3151463 = pow(r3151462, r3151460);
double r3151464 = r3151463 * r3151454;
double r3151465 = r3151464 * r3151461;
double r3151466 = r3151464 * r3151465;
double r3151467 = r3151461 * r3151466;
double r3151468 = r3151457 / r3151467;
return r3151468;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
rmApplied sqr-pow28.0
Applied associate-*l*23.4
rmApplied sqr-pow23.4
Applied associate-*r*16.6
rmApplied associate-*l*13.6
rmApplied associate-*r*6.0
Final simplification6.0
herbie shell --seed 2019200 +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))))