\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 r60510 = 2.0;
double r60511 = x;
double r60512 = r60510 * r60511;
double r60513 = cos(r60512);
double r60514 = cos;
double r60515 = pow(r60514, r60510);
double r60516 = sin;
double r60517 = pow(r60516, r60510);
double r60518 = r60511 * r60517;
double r60519 = r60518 * r60511;
double r60520 = r60515 * r60519;
double r60521 = r60513 / r60520;
return r60521;
}
double f(double x, double cos, double sin) {
double r60522 = 2.0;
double r60523 = x;
double r60524 = r60522 * r60523;
double r60525 = cos(r60524);
double r60526 = cos;
double r60527 = 2.0;
double r60528 = r60522 / r60527;
double r60529 = pow(r60526, r60528);
double r60530 = sin;
double r60531 = pow(r60530, r60528);
double r60532 = r60523 * r60531;
double r60533 = r60529 * r60532;
double r60534 = r60529 * r60533;
double r60535 = r60531 * r60523;
double r60536 = r60534 * r60535;
double r60537 = r60525 / r60536;
return r60537;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.3
rmApplied sqr-pow28.3
Applied associate-*r*22.0
rmApplied associate-*l*20.1
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*7.0
Final simplification7.0
herbie shell --seed 2020047
(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))))