\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 r67904 = 2.0;
double r67905 = x;
double r67906 = r67904 * r67905;
double r67907 = cos(r67906);
double r67908 = cos;
double r67909 = pow(r67908, r67904);
double r67910 = sin;
double r67911 = pow(r67910, r67904);
double r67912 = r67905 * r67911;
double r67913 = r67912 * r67905;
double r67914 = r67909 * r67913;
double r67915 = r67907 / r67914;
return r67915;
}
double f(double x, double cos, double sin) {
double r67916 = 2.0;
double r67917 = x;
double r67918 = r67916 * r67917;
double r67919 = cos(r67918);
double r67920 = cos;
double r67921 = 2.0;
double r67922 = r67916 / r67921;
double r67923 = pow(r67920, r67922);
double r67924 = sin;
double r67925 = pow(r67924, r67922);
double r67926 = r67917 * r67925;
double r67927 = r67923 * r67926;
double r67928 = r67923 * r67927;
double r67929 = r67925 * r67917;
double r67930 = r67928 * r67929;
double r67931 = r67919 / r67930;
return r67931;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.3
rmApplied sqr-pow28.3
Applied associate-*r*22.2
rmApplied associate-*l*20.0
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*7.0
Final simplification7.0
herbie shell --seed 2019350
(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))))