\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 r66218 = 2.0;
double r66219 = x;
double r66220 = r66218 * r66219;
double r66221 = cos(r66220);
double r66222 = cos;
double r66223 = pow(r66222, r66218);
double r66224 = sin;
double r66225 = pow(r66224, r66218);
double r66226 = r66219 * r66225;
double r66227 = r66226 * r66219;
double r66228 = r66223 * r66227;
double r66229 = r66221 / r66228;
return r66229;
}
double f(double x, double cos, double sin) {
double r66230 = 2.0;
double r66231 = x;
double r66232 = r66230 * r66231;
double r66233 = cos(r66232);
double r66234 = cos;
double r66235 = 2.0;
double r66236 = r66230 / r66235;
double r66237 = pow(r66234, r66236);
double r66238 = sin;
double r66239 = pow(r66238, r66236);
double r66240 = r66231 * r66239;
double r66241 = r66237 * r66240;
double r66242 = r66237 * r66241;
double r66243 = r66239 * r66231;
double r66244 = r66242 * r66243;
double r66245 = r66233 / r66244;
return r66245;
}



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
(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))))