\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)}{\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r57731 = 2.0;
double r57732 = x;
double r57733 = r57731 * r57732;
double r57734 = cos(r57733);
double r57735 = cos;
double r57736 = pow(r57735, r57731);
double r57737 = sin;
double r57738 = pow(r57737, r57731);
double r57739 = r57732 * r57738;
double r57740 = r57739 * r57732;
double r57741 = r57736 * r57740;
double r57742 = r57734 / r57741;
return r57742;
}
double f(double x, double cos, double sin) {
double r57743 = 2.0;
double r57744 = x;
double r57745 = r57743 * r57744;
double r57746 = cos(r57745);
double r57747 = cos;
double r57748 = 2.0;
double r57749 = r57743 / r57748;
double r57750 = pow(r57747, r57749);
double r57751 = sin;
double r57752 = pow(r57751, r57749);
double r57753 = r57744 * r57752;
double r57754 = r57750 * r57753;
double r57755 = r57750 * r57754;
double r57756 = r57752 * r57744;
double r57757 = r57755 * r57756;
double r57758 = r57746 / r57757;
return r57758;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*r*22.4
rmApplied associate-*l*20.4
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019303 +o rules:numerics
(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))))