\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 r55005 = 2.0;
double r55006 = x;
double r55007 = r55005 * r55006;
double r55008 = cos(r55007);
double r55009 = cos;
double r55010 = pow(r55009, r55005);
double r55011 = sin;
double r55012 = pow(r55011, r55005);
double r55013 = r55006 * r55012;
double r55014 = r55013 * r55006;
double r55015 = r55010 * r55014;
double r55016 = r55008 / r55015;
return r55016;
}
double f(double x, double cos, double sin) {
double r55017 = 2.0;
double r55018 = x;
double r55019 = r55017 * r55018;
double r55020 = cos(r55019);
double r55021 = cos;
double r55022 = 2.0;
double r55023 = r55017 / r55022;
double r55024 = pow(r55021, r55023);
double r55025 = sin;
double r55026 = pow(r55025, r55023);
double r55027 = r55018 * r55026;
double r55028 = r55024 * r55027;
double r55029 = r55024 * r55028;
double r55030 = r55026 * r55018;
double r55031 = r55029 * r55030;
double r55032 = r55020 / r55031;
return r55032;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
rmApplied sqr-pow28.0
Applied associate-*r*22.0
rmApplied associate-*l*20.0
rmApplied associate-*r*16.0
rmApplied sqr-pow16.0
Applied associate-*l*6.9
Final simplification6.9
herbie shell --seed 2019322
(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))))