\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({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)}double f(double x, double cos, double sin) {
double r74353 = 2.0;
double r74354 = x;
double r74355 = r74353 * r74354;
double r74356 = cos(r74355);
double r74357 = cos;
double r74358 = pow(r74357, r74353);
double r74359 = sin;
double r74360 = pow(r74359, r74353);
double r74361 = r74354 * r74360;
double r74362 = r74361 * r74354;
double r74363 = r74358 * r74362;
double r74364 = r74356 / r74363;
return r74364;
}
double f(double x, double cos, double sin) {
double r74365 = 2.0;
double r74366 = x;
double r74367 = r74365 * r74366;
double r74368 = cos(r74367);
double r74369 = cos;
double r74370 = 2.0;
double r74371 = r74365 / r74370;
double r74372 = pow(r74369, r74371);
double r74373 = sin;
double r74374 = pow(r74373, r74371);
double r74375 = r74366 * r74374;
double r74376 = r74372 * r74375;
double r74377 = r74376 * r74375;
double r74378 = r74372 * r74377;
double r74379 = r74368 / r74378;
return r74379;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.2
rmApplied sqr-pow28.2
Applied associate-*l*23.4
rmApplied sqr-pow23.4
Applied associate-*r*16.1
rmApplied associate-*l*13.3
Simplified13.3
rmApplied associate-*r*5.6
Final simplification5.6
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
:precision binary64
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))