\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 r62985 = 2.0;
double r62986 = x;
double r62987 = r62985 * r62986;
double r62988 = cos(r62987);
double r62989 = cos;
double r62990 = pow(r62989, r62985);
double r62991 = sin;
double r62992 = pow(r62991, r62985);
double r62993 = r62986 * r62992;
double r62994 = r62993 * r62986;
double r62995 = r62990 * r62994;
double r62996 = r62988 / r62995;
return r62996;
}
double f(double x, double cos, double sin) {
double r62997 = 2.0;
double r62998 = x;
double r62999 = r62997 * r62998;
double r63000 = cos(r62999);
double r63001 = cos;
double r63002 = 2.0;
double r63003 = r62997 / r63002;
double r63004 = pow(r63001, r63003);
double r63005 = sin;
double r63006 = pow(r63005, r63003);
double r63007 = r62998 * r63006;
double r63008 = r63004 * r63007;
double r63009 = r63004 * r63008;
double r63010 = r63006 * r62998;
double r63011 = r63009 * r63010;
double r63012 = r63000 / r63011;
return r63012;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.6
rmApplied sqr-pow28.6
Applied associate-*r*22.7
rmApplied associate-*l*20.6
rmApplied associate-*r*16.8
rmApplied sqr-pow16.8
Applied associate-*l*7.1
Final simplification7.1
herbie shell --seed 2019351
(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))))