\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 r58313 = 2.0;
double r58314 = x;
double r58315 = r58313 * r58314;
double r58316 = cos(r58315);
double r58317 = cos;
double r58318 = pow(r58317, r58313);
double r58319 = sin;
double r58320 = pow(r58319, r58313);
double r58321 = r58314 * r58320;
double r58322 = r58321 * r58314;
double r58323 = r58318 * r58322;
double r58324 = r58316 / r58323;
return r58324;
}
double f(double x, double cos, double sin) {
double r58325 = 2.0;
double r58326 = x;
double r58327 = r58325 * r58326;
double r58328 = cos(r58327);
double r58329 = cos;
double r58330 = 2.0;
double r58331 = r58325 / r58330;
double r58332 = pow(r58329, r58331);
double r58333 = sin;
double r58334 = pow(r58333, r58331);
double r58335 = r58326 * r58334;
double r58336 = r58332 * r58335;
double r58337 = r58332 * r58336;
double r58338 = r58334 * r58326;
double r58339 = r58337 * r58338;
double r58340 = r58328 / r58339;
return r58340;
}



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.1
rmApplied associate-*l*20.1
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019199 +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))))