\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(2 \cdot x\right)}{\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r72893 = 2.0;
double r72894 = x;
double r72895 = r72893 * r72894;
double r72896 = cos(r72895);
double r72897 = cos;
double r72898 = pow(r72897, r72893);
double r72899 = sin;
double r72900 = pow(r72899, r72893);
double r72901 = r72894 * r72900;
double r72902 = r72901 * r72894;
double r72903 = r72898 * r72902;
double r72904 = r72896 / r72903;
return r72904;
}
double f(double x, double cos, double sin) {
double r72905 = 2.0;
double r72906 = x;
double r72907 = r72905 * r72906;
double r72908 = cos(r72907);
double r72909 = cos;
double r72910 = 2.0;
double r72911 = r72905 / r72910;
double r72912 = pow(r72909, r72911);
double r72913 = sin;
double r72914 = pow(r72913, r72911);
double r72915 = r72906 * r72914;
double r72916 = r72912 * r72915;
double r72917 = r72912 * r72916;
double r72918 = r72914 * r72906;
double r72919 = r72917 * r72918;
double r72920 = r72908 / r72919;
return r72920;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*r*22.3
rmApplied associate-*l*20.3
rmApplied associate-*r*16.3
rmApplied sqr-pow16.3
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2020043
(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))))