\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)}{\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r57351 = 2.0;
double r57352 = x;
double r57353 = r57351 * r57352;
double r57354 = cos(r57353);
double r57355 = cos;
double r57356 = pow(r57355, r57351);
double r57357 = sin;
double r57358 = pow(r57357, r57351);
double r57359 = r57352 * r57358;
double r57360 = r57359 * r57352;
double r57361 = r57356 * r57360;
double r57362 = r57354 / r57361;
return r57362;
}
double f(double x, double cos, double sin) {
double r57363 = 2.0;
double r57364 = x;
double r57365 = r57363 * r57364;
double r57366 = cos(r57365);
double r57367 = cos;
double r57368 = 2.0;
double r57369 = r57363 / r57368;
double r57370 = pow(r57367, r57369);
double r57371 = sin;
double r57372 = pow(r57371, r57369);
double r57373 = r57364 * r57372;
double r57374 = r57370 * r57373;
double r57375 = r57370 * r57374;
double r57376 = r57372 * r57364;
double r57377 = r57375 * r57376;
double r57378 = r57366 / r57377;
return r57378;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.8
rmApplied sqr-pow28.8
Applied associate-*r*22.6
rmApplied associate-*l*20.6
rmApplied associate-*r*16.8
rmApplied sqr-pow16.8
Applied associate-*l*7.3
Final simplification7.3
herbie shell --seed 2019195 +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))))