\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{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}double f(double x, double cos, double sin) {
double r70007 = 2.0;
double r70008 = x;
double r70009 = r70007 * r70008;
double r70010 = cos(r70009);
double r70011 = cos;
double r70012 = pow(r70011, r70007);
double r70013 = sin;
double r70014 = pow(r70013, r70007);
double r70015 = r70008 * r70014;
double r70016 = r70015 * r70008;
double r70017 = r70012 * r70016;
double r70018 = r70010 / r70017;
return r70018;
}
double f(double x, double cos, double sin) {
double r70019 = 2.0;
double r70020 = x;
double r70021 = r70019 * r70020;
double r70022 = cos(r70021);
double r70023 = cos;
double r70024 = 2.0;
double r70025 = r70019 / r70024;
double r70026 = pow(r70023, r70025);
double r70027 = sin;
double r70028 = pow(r70027, r70025);
double r70029 = r70020 * r70028;
double r70030 = r70026 * r70029;
double r70031 = fabs(r70030);
double r70032 = r70022 / r70031;
double r70033 = r70032 / r70031;
return r70033;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.8
rmApplied sqr-pow28.8
Applied associate-*l*24.0
rmApplied sqr-pow24.0
Applied associate-*r*16.8
rmApplied add-sqr-sqrt16.9
Simplified16.8
Simplified2.9
rmApplied associate-/r*2.7
Final simplification2.7
herbie shell --seed 2020036
(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))))