\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\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 r47880 = 2.0;
double r47881 = x;
double r47882 = r47880 * r47881;
double r47883 = cos(r47882);
double r47884 = cos;
double r47885 = pow(r47884, r47880);
double r47886 = sin;
double r47887 = pow(r47886, r47880);
double r47888 = r47881 * r47887;
double r47889 = r47888 * r47881;
double r47890 = r47885 * r47889;
double r47891 = r47883 / r47890;
return r47891;
}
double f(double x, double cos, double sin) {
double r47892 = 1.0;
double r47893 = cos;
double r47894 = 2.0;
double r47895 = 2.0;
double r47896 = r47894 / r47895;
double r47897 = pow(r47893, r47896);
double r47898 = x;
double r47899 = sin;
double r47900 = pow(r47899, r47896);
double r47901 = r47898 * r47900;
double r47902 = r47897 * r47901;
double r47903 = fabs(r47902);
double r47904 = r47892 / r47903;
double r47905 = r47894 * r47898;
double r47906 = cos(r47905);
double r47907 = r47906 / r47903;
double r47908 = r47904 * r47907;
return r47908;
}



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.1
rmApplied add-sqr-sqrt22.1
Simplified22.1
Simplified2.9
rmApplied *-un-lft-identity2.9
Applied times-frac2.6
Final simplification2.6
herbie shell --seed 2019354 +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))))