\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\sqrt[3]{\cos \left(2 \cdot x\right)}}{\left(cos \cdot x\right) \cdot sin} \cdot \frac{\sqrt[3]{\cos \left(2 \cdot x\right)}}{\frac{1}{\sqrt[3]{\left(\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}\right) \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}}}}}{\left(cos \cdot x\right) \cdot sin}double f(double x, double cos, double sin) {
double r2281887 = 2.0;
double r2281888 = x;
double r2281889 = r2281887 * r2281888;
double r2281890 = cos(r2281889);
double r2281891 = cos;
double r2281892 = pow(r2281891, r2281887);
double r2281893 = sin;
double r2281894 = pow(r2281893, r2281887);
double r2281895 = r2281888 * r2281894;
double r2281896 = r2281895 * r2281888;
double r2281897 = r2281892 * r2281896;
double r2281898 = r2281890 / r2281897;
return r2281898;
}
double f(double x, double cos, double sin) {
double r2281899 = 2.0;
double r2281900 = x;
double r2281901 = r2281899 * r2281900;
double r2281902 = cos(r2281901);
double r2281903 = cbrt(r2281902);
double r2281904 = cos;
double r2281905 = r2281904 * r2281900;
double r2281906 = sin;
double r2281907 = r2281905 * r2281906;
double r2281908 = r2281903 / r2281907;
double r2281909 = 1.0;
double r2281910 = r2281903 * r2281903;
double r2281911 = r2281910 * r2281903;
double r2281912 = cbrt(r2281911);
double r2281913 = r2281909 / r2281912;
double r2281914 = r2281903 / r2281913;
double r2281915 = r2281908 * r2281914;
double r2281916 = r2281915 / r2281907;
return r2281916;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.9
Simplified2.7
rmApplied associate-/r*2.4
rmApplied add-cube-cbrt2.6
Applied associate-/l*2.6
rmApplied div-inv2.6
Applied times-frac2.6
rmApplied add-cbrt-cube2.6
Final simplification2.6
herbie shell --seed 2019163
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))