\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\cos \left(2 \cdot x\right)}}double f(double x, double cos, double sin) {
double r74403 = 2.0;
double r74404 = x;
double r74405 = r74403 * r74404;
double r74406 = cos(r74405);
double r74407 = cos;
double r74408 = pow(r74407, r74403);
double r74409 = sin;
double r74410 = pow(r74409, r74403);
double r74411 = r74404 * r74410;
double r74412 = r74411 * r74404;
double r74413 = r74408 * r74412;
double r74414 = r74406 / r74413;
return r74414;
}
double f(double x, double cos, double sin) {
double r74415 = 1.0;
double r74416 = cos;
double r74417 = 2.0;
double r74418 = 2.0;
double r74419 = r74417 / r74418;
double r74420 = pow(r74416, r74419);
double r74421 = x;
double r74422 = sin;
double r74423 = pow(r74422, r74419);
double r74424 = r74421 * r74423;
double r74425 = r74420 * r74424;
double r74426 = fabs(r74425);
double r74427 = r74415 / r74426;
double r74428 = r74417 * r74421;
double r74429 = cos(r74428);
double r74430 = r74426 / r74429;
double r74431 = r74427 / r74430;
return r74431;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.3
rmApplied sqr-pow28.3
Applied associate-*r*22.1
rmApplied add-sqr-sqrt22.2
Simplified22.1
Simplified2.9
rmApplied clear-num3.0
rmApplied *-un-lft-identity3.0
Applied times-frac3.0
Applied associate-/r*2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019353 +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))))