\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|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}double f(double x, double cos, double sin) {
double r53601 = 2.0;
double r53602 = x;
double r53603 = r53601 * r53602;
double r53604 = cos(r53603);
double r53605 = cos;
double r53606 = pow(r53605, r53601);
double r53607 = sin;
double r53608 = pow(r53607, r53601);
double r53609 = r53602 * r53608;
double r53610 = r53609 * r53602;
double r53611 = r53606 * r53610;
double r53612 = r53604 / r53611;
return r53612;
}
double f(double x, double cos, double sin) {
double r53613 = 2.0;
double r53614 = x;
double r53615 = r53613 * r53614;
double r53616 = cos(r53615);
double r53617 = cos;
double r53618 = 1.0;
double r53619 = pow(r53617, r53618);
double r53620 = sin;
double r53621 = pow(r53620, r53618);
double r53622 = r53619 * r53621;
double r53623 = pow(r53622, r53618);
double r53624 = r53623 * r53614;
double r53625 = fabs(r53624);
double r53626 = r53616 / r53625;
double r53627 = r53626 / r53625;
return r53627;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.2
rmApplied sqr-pow28.2
Applied associate-*r*22.2
rmApplied add-sqr-sqrt22.2
Simplified22.2
Simplified2.8
Taylor expanded around inf 2.9
rmApplied sqr-pow2.9
Applied associate-/r*2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019291
(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))))