\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos \left(2 \cdot x\right)}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\left|{cos}^{\left(\frac{\frac{2}{2}}{2}\right)} \cdot \left({cos}^{\left(\frac{\frac{2}{2}}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right|}double f(double x, double cos, double sin) {
double r54038 = 2.0;
double r54039 = x;
double r54040 = r54038 * r54039;
double r54041 = cos(r54040);
double r54042 = cos;
double r54043 = pow(r54042, r54038);
double r54044 = sin;
double r54045 = pow(r54044, r54038);
double r54046 = r54039 * r54045;
double r54047 = r54046 * r54039;
double r54048 = r54043 * r54047;
double r54049 = r54041 / r54048;
return r54049;
}
double f(double x, double cos, double sin) {
double r54050 = 2.0;
double r54051 = x;
double r54052 = r54050 * r54051;
double r54053 = cos(r54052);
double r54054 = cos;
double r54055 = 2.0;
double r54056 = r54050 / r54055;
double r54057 = pow(r54054, r54056);
double r54058 = sin;
double r54059 = pow(r54058, r54056);
double r54060 = r54051 * r54059;
double r54061 = r54057 * r54060;
double r54062 = fabs(r54061);
double r54063 = r54053 / r54062;
double r54064 = r54056 / r54055;
double r54065 = pow(r54054, r54064);
double r54066 = r54065 * r54060;
double r54067 = r54065 * r54066;
double r54068 = fabs(r54067);
double r54069 = r54063 / r54068;
return r54069;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.9
rmApplied sqr-pow27.9
Applied associate-*r*21.6
rmApplied add-sqr-sqrt21.7
Simplified21.7
Simplified2.8
rmApplied associate-/r*2.6
rmApplied sqr-pow2.7
Applied associate-*l*2.7
Final simplification2.7
herbie shell --seed 2020046
(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))))