\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 r87757 = 2.0;
double r87758 = x;
double r87759 = r87757 * r87758;
double r87760 = cos(r87759);
double r87761 = cos;
double r87762 = pow(r87761, r87757);
double r87763 = sin;
double r87764 = pow(r87763, r87757);
double r87765 = r87758 * r87764;
double r87766 = r87765 * r87758;
double r87767 = r87762 * r87766;
double r87768 = r87760 / r87767;
return r87768;
}
double f(double x, double cos, double sin) {
double r87769 = 2.0;
double r87770 = x;
double r87771 = r87769 * r87770;
double r87772 = cos(r87771);
double r87773 = cos;
double r87774 = 2.0;
double r87775 = r87769 / r87774;
double r87776 = pow(r87773, r87775);
double r87777 = sin;
double r87778 = pow(r87777, r87775);
double r87779 = r87770 * r87778;
double r87780 = r87776 * r87779;
double r87781 = r87772 / r87780;
double r87782 = r87781 / r87780;
return r87782;
}



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))))