\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)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot x\right)}double f(double x, double cos, double sin) {
double r80853 = 2.0;
double r80854 = x;
double r80855 = r80853 * r80854;
double r80856 = cos(r80855);
double r80857 = cos;
double r80858 = pow(r80857, r80853);
double r80859 = sin;
double r80860 = pow(r80859, r80853);
double r80861 = r80854 * r80860;
double r80862 = r80861 * r80854;
double r80863 = r80858 * r80862;
double r80864 = r80856 / r80863;
return r80864;
}
double f(double x, double cos, double sin) {
double r80865 = 2.0;
double r80866 = x;
double r80867 = r80865 * r80866;
double r80868 = cos(r80867);
double r80869 = cos;
double r80870 = 2.0;
double r80871 = r80865 / r80870;
double r80872 = pow(r80869, r80871);
double r80873 = sin;
double r80874 = pow(r80873, r80871);
double r80875 = r80866 * r80874;
double r80876 = r80872 * r80875;
double r80877 = r80876 * r80874;
double r80878 = r80877 * r80866;
double r80879 = r80872 * r80878;
double r80880 = r80868 / r80879;
return r80880;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*l*24.1
rmApplied associate-*r*20.4
rmApplied sqr-pow20.4
Applied associate-*r*13.8
rmApplied associate-*r*8.3
Final simplification8.3
herbie shell --seed 2019304
(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))))