\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({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)\right)}double f(double x, double cos, double sin) {
double r75933 = 2.0;
double r75934 = x;
double r75935 = r75933 * r75934;
double r75936 = cos(r75935);
double r75937 = cos;
double r75938 = pow(r75937, r75933);
double r75939 = sin;
double r75940 = pow(r75939, r75933);
double r75941 = r75934 * r75940;
double r75942 = r75941 * r75934;
double r75943 = r75938 * r75942;
double r75944 = r75936 / r75943;
return r75944;
}
double f(double x, double cos, double sin) {
double r75945 = 2.0;
double r75946 = x;
double r75947 = r75945 * r75946;
double r75948 = cos(r75947);
double r75949 = cos;
double r75950 = 2.0;
double r75951 = r75945 / r75950;
double r75952 = pow(r75949, r75951);
double r75953 = sin;
double r75954 = pow(r75953, r75951);
double r75955 = r75946 * r75954;
double r75956 = r75952 * r75955;
double r75957 = r75954 * r75946;
double r75958 = r75956 * r75957;
double r75959 = r75952 * r75958;
double r75960 = r75948 / r75959;
return r75960;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*l*23.9
rmApplied sqr-pow23.9
Applied associate-*r*16.9
rmApplied associate-*l*13.9
rmApplied associate-*r*6.4
Final simplification6.4
herbie shell --seed 2019323
(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))))