\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos \left(2 \cdot x\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}double f(double x, double cos, double sin) {
double r36787 = 2.0;
double r36788 = x;
double r36789 = r36787 * r36788;
double r36790 = cos(r36789);
double r36791 = cos;
double r36792 = pow(r36791, r36787);
double r36793 = sin;
double r36794 = pow(r36793, r36787);
double r36795 = r36788 * r36794;
double r36796 = r36795 * r36788;
double r36797 = r36792 * r36796;
double r36798 = r36790 / r36797;
return r36798;
}
double f(double x, double cos, double sin) {
double r36799 = 2.0;
double r36800 = x;
double r36801 = r36799 * r36800;
double r36802 = cos(r36801);
double r36803 = cos;
double r36804 = 2.0;
double r36805 = r36799 / r36804;
double r36806 = pow(r36803, r36805);
double r36807 = sin;
double r36808 = pow(r36807, r36805);
double r36809 = r36800 * r36808;
double r36810 = r36806 * r36809;
double r36811 = r36802 / r36810;
double r36812 = r36811 / r36810;
return r36812;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.7
rmApplied sqr-pow28.7
Applied associate-*r*22.7
rmApplied associate-*l*20.6
Simplified20.6
rmApplied sqr-pow20.6
Applied unswap-sqr2.9
rmApplied associate-/r*2.6
Final simplification2.6
herbie shell --seed 2020045
(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))))