\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 r75288 = 2.0;
double r75289 = x;
double r75290 = r75288 * r75289;
double r75291 = cos(r75290);
double r75292 = cos;
double r75293 = pow(r75292, r75288);
double r75294 = sin;
double r75295 = pow(r75294, r75288);
double r75296 = r75289 * r75295;
double r75297 = r75296 * r75289;
double r75298 = r75293 * r75297;
double r75299 = r75291 / r75298;
return r75299;
}
double f(double x, double cos, double sin) {
double r75300 = 2.0;
double r75301 = x;
double r75302 = r75300 * r75301;
double r75303 = cos(r75302);
double r75304 = cos;
double r75305 = 2.0;
double r75306 = r75300 / r75305;
double r75307 = pow(r75304, r75306);
double r75308 = sin;
double r75309 = pow(r75308, r75306);
double r75310 = r75301 * r75309;
double r75311 = r75307 * r75310;
double r75312 = fabs(r75311);
double r75313 = r75303 / r75312;
double r75314 = r75313 / r75312;
return r75314;
}



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