\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(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \frac{1}{\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 r49252 = 2.0;
double r49253 = x;
double r49254 = r49252 * r49253;
double r49255 = cos(r49254);
double r49256 = cos;
double r49257 = pow(r49256, r49252);
double r49258 = sin;
double r49259 = pow(r49258, r49252);
double r49260 = r49253 * r49259;
double r49261 = r49260 * r49253;
double r49262 = r49257 * r49261;
double r49263 = r49255 / r49262;
return r49263;
}
double f(double x, double cos, double sin) {
double r49264 = 2.0;
double r49265 = x;
double r49266 = r49264 * r49265;
double r49267 = cos(r49266);
double r49268 = cos;
double r49269 = 2.0;
double r49270 = r49264 / r49269;
double r49271 = pow(r49268, r49270);
double r49272 = sin;
double r49273 = pow(r49272, r49270);
double r49274 = r49265 * r49273;
double r49275 = r49271 * r49274;
double r49276 = fabs(r49275);
double r49277 = r49267 / r49276;
double r49278 = 1.0;
double r49279 = r49278 / r49276;
double r49280 = r49277 * r49279;
return r49280;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.2
rmApplied sqr-pow28.2
Applied associate-*r*22.1
rmApplied add-sqr-sqrt22.1
Simplified22.1
Simplified2.8
rmApplied associate-/r*2.5
rmApplied div-inv2.5
Final simplification2.5
herbie shell --seed 2020024 +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))))