\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 r3039818 = 2.0;
double r3039819 = x;
double r3039820 = r3039818 * r3039819;
double r3039821 = cos(r3039820);
double r3039822 = cos;
double r3039823 = pow(r3039822, r3039818);
double r3039824 = sin;
double r3039825 = pow(r3039824, r3039818);
double r3039826 = r3039819 * r3039825;
double r3039827 = r3039826 * r3039819;
double r3039828 = r3039823 * r3039827;
double r3039829 = r3039821 / r3039828;
return r3039829;
}
double f(double x, double cos, double sin) {
double r3039830 = 2.0;
double r3039831 = x;
double r3039832 = r3039830 * r3039831;
double r3039833 = cos(r3039832);
double r3039834 = cos;
double r3039835 = 2.0;
double r3039836 = r3039830 / r3039835;
double r3039837 = pow(r3039834, r3039836);
double r3039838 = sin;
double r3039839 = pow(r3039838, r3039836);
double r3039840 = r3039831 * r3039839;
double r3039841 = r3039837 * r3039840;
double r3039842 = r3039833 / r3039841;
double r3039843 = r3039842 / r3039841;
return r3039843;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.2
rmApplied sqr-pow28.2
Applied associate-*r*21.7
rmApplied associate-*l*19.7
Simplified19.7
rmApplied sqr-pow19.7
Applied unswap-sqr2.8
rmApplied associate-/r*2.6
Final simplification2.6
herbie shell --seed 2019171 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))