\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\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|}}}double f(double x, double cos, double sin) {
double r59558 = 2.0;
double r59559 = x;
double r59560 = r59558 * r59559;
double r59561 = cos(r59560);
double r59562 = cos;
double r59563 = pow(r59562, r59558);
double r59564 = sin;
double r59565 = pow(r59564, r59558);
double r59566 = r59559 * r59565;
double r59567 = r59566 * r59559;
double r59568 = r59563 * r59567;
double r59569 = r59561 / r59568;
return r59569;
}
double f(double x, double cos, double sin) {
double r59570 = 1.0;
double r59571 = cos;
double r59572 = 2.0;
double r59573 = 2.0;
double r59574 = r59572 / r59573;
double r59575 = pow(r59571, r59574);
double r59576 = x;
double r59577 = sin;
double r59578 = pow(r59577, r59574);
double r59579 = r59576 * r59578;
double r59580 = r59575 * r59579;
double r59581 = fabs(r59580);
double r59582 = r59572 * r59576;
double r59583 = cos(r59582);
double r59584 = r59583 / r59581;
double r59585 = r59581 / r59584;
double r59586 = r59570 / r59585;
return r59586;
}



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.2
rmApplied add-sqr-sqrt22.3
Simplified22.2
Simplified2.9
rmApplied associate-/r*2.6
rmApplied *-un-lft-identity2.6
Applied *-un-lft-identity2.6
Applied times-frac2.6
Applied associate-/l*2.9
Final simplification2.9
herbie shell --seed 2020060
(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))))