\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 r73308 = 2.0;
double r73309 = x;
double r73310 = r73308 * r73309;
double r73311 = cos(r73310);
double r73312 = cos;
double r73313 = pow(r73312, r73308);
double r73314 = sin;
double r73315 = pow(r73314, r73308);
double r73316 = r73309 * r73315;
double r73317 = r73316 * r73309;
double r73318 = r73313 * r73317;
double r73319 = r73311 / r73318;
return r73319;
}
double f(double x, double cos, double sin) {
double r73320 = 2.0;
double r73321 = x;
double r73322 = r73320 * r73321;
double r73323 = cos(r73322);
double r73324 = cos;
double r73325 = 2.0;
double r73326 = r73320 / r73325;
double r73327 = pow(r73324, r73326);
double r73328 = sin;
double r73329 = pow(r73328, r73326);
double r73330 = r73321 * r73329;
double r73331 = r73327 * r73330;
double r73332 = fabs(r73331);
double r73333 = r73323 / r73332;
double r73334 = r73333 / r73332;
return r73334;
}



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 +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))))