\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 r67857 = 2.0;
double r67858 = x;
double r67859 = r67857 * r67858;
double r67860 = cos(r67859);
double r67861 = cos;
double r67862 = pow(r67861, r67857);
double r67863 = sin;
double r67864 = pow(r67863, r67857);
double r67865 = r67858 * r67864;
double r67866 = r67865 * r67858;
double r67867 = r67862 * r67866;
double r67868 = r67860 / r67867;
return r67868;
}
double f(double x, double cos, double sin) {
double r67869 = 2.0;
double r67870 = x;
double r67871 = r67869 * r67870;
double r67872 = cos(r67871);
double r67873 = cos;
double r67874 = 2.0;
double r67875 = r67869 / r67874;
double r67876 = pow(r67873, r67875);
double r67877 = sin;
double r67878 = pow(r67877, r67875);
double r67879 = r67870 * r67878;
double r67880 = r67876 * r67879;
double r67881 = r67876 * r67880;
double r67882 = r67878 * r67870;
double r67883 = r67881 * r67882;
double r67884 = r67872 / r67883;
return r67884;
}



Bits error versus x



Bits error versus cos



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