\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)}{\sqrt{\left(\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot {cos}^{\left(\frac{2}{2}\right)}\right) \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)} \cdot \sqrt{\left(\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot {cos}^{\left(\frac{2}{2}\right)}\right) \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}}double f(double x, double cos, double sin) {
double r2942849 = 2.0;
double r2942850 = x;
double r2942851 = r2942849 * r2942850;
double r2942852 = cos(r2942851);
double r2942853 = cos;
double r2942854 = pow(r2942853, r2942849);
double r2942855 = sin;
double r2942856 = pow(r2942855, r2942849);
double r2942857 = r2942850 * r2942856;
double r2942858 = r2942857 * r2942850;
double r2942859 = r2942854 * r2942858;
double r2942860 = r2942852 / r2942859;
return r2942860;
}
double f(double x, double cos, double sin) {
double r2942861 = 2.0;
double r2942862 = x;
double r2942863 = r2942861 * r2942862;
double r2942864 = cos(r2942863);
double r2942865 = cos;
double r2942866 = 2.0;
double r2942867 = r2942861 / r2942866;
double r2942868 = pow(r2942865, r2942867);
double r2942869 = sin;
double r2942870 = pow(r2942869, r2942867);
double r2942871 = r2942862 * r2942870;
double r2942872 = r2942868 * r2942871;
double r2942873 = r2942872 * r2942868;
double r2942874 = r2942873 * r2942871;
double r2942875 = sqrt(r2942874);
double r2942876 = r2942875 * r2942875;
double r2942877 = r2942864 / r2942876;
return r2942877;
}



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 sqr-pow22.1
Applied associate-*l*16.6
Simplified6.0
rmApplied associate-*r*6.9
rmApplied add-sqr-sqrt6.9
Final simplification6.9
herbie shell --seed 2019192 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))