\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|} \cdot \frac{\cos \left(2 \cdot x\right)}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}double f(double x, double cos, double sin) {
double r70900 = 2.0;
double r70901 = x;
double r70902 = r70900 * r70901;
double r70903 = cos(r70902);
double r70904 = cos;
double r70905 = pow(r70904, r70900);
double r70906 = sin;
double r70907 = pow(r70906, r70900);
double r70908 = r70901 * r70907;
double r70909 = r70908 * r70901;
double r70910 = r70905 * r70909;
double r70911 = r70903 / r70910;
return r70911;
}
double f(double x, double cos, double sin) {
double r70912 = 1.0;
double r70913 = cos;
double r70914 = 1.0;
double r70915 = pow(r70913, r70914);
double r70916 = sin;
double r70917 = pow(r70916, r70914);
double r70918 = r70915 * r70917;
double r70919 = pow(r70918, r70914);
double r70920 = x;
double r70921 = r70919 * r70920;
double r70922 = fabs(r70921);
double r70923 = r70912 / r70922;
double r70924 = 2.0;
double r70925 = r70924 * r70920;
double r70926 = cos(r70925);
double r70927 = r70926 / r70922;
double r70928 = r70923 * r70927;
return r70928;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.1
rmApplied sqr-pow28.1
Applied associate-*r*21.9
rmApplied add-sqr-sqrt21.9
Simplified21.9
Simplified3.0
Taylor expanded around inf 2.6
rmApplied add-sqr-sqrt2.8
Applied unpow-prod-down2.8
Applied *-un-lft-identity2.8
Applied times-frac2.6
Simplified2.5
Simplified2.4
Final simplification2.4
herbie shell --seed 2020003
(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))))