\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\left(\sqrt{\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}} \cdot \sqrt{\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}\right) \cdot \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 r86578 = 2.0;
double r86579 = x;
double r86580 = r86578 * r86579;
double r86581 = cos(r86580);
double r86582 = cos;
double r86583 = pow(r86582, r86578);
double r86584 = sin;
double r86585 = pow(r86584, r86578);
double r86586 = r86579 * r86585;
double r86587 = r86586 * r86579;
double r86588 = r86583 * r86587;
double r86589 = r86581 / r86588;
return r86589;
}
double f(double x, double cos, double sin) {
double r86590 = 1.0;
double r86591 = cos;
double r86592 = 2.0;
double r86593 = 2.0;
double r86594 = r86592 / r86593;
double r86595 = pow(r86591, r86594);
double r86596 = x;
double r86597 = sin;
double r86598 = pow(r86597, r86594);
double r86599 = r86596 * r86598;
double r86600 = r86595 * r86599;
double r86601 = fabs(r86600);
double r86602 = r86590 / r86601;
double r86603 = sqrt(r86602);
double r86604 = r86603 * r86603;
double r86605 = r86592 * r86596;
double r86606 = cos(r86605);
double r86607 = r86606 / r86601;
double r86608 = r86604 * r86607;
return r86608;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
rmApplied sqr-pow28.0
Applied associate-*r*22.0
rmApplied add-sqr-sqrt22.0
Simplified22.0
Simplified2.9
rmApplied *-un-lft-identity2.9
Applied times-frac2.8
rmApplied add-sqr-sqrt2.8
Final simplification2.8
herbie shell --seed 2019322
(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))))