\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)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)\right)}double f(double x, double cos, double sin) {
double r62417 = 2.0;
double r62418 = x;
double r62419 = r62417 * r62418;
double r62420 = cos(r62419);
double r62421 = cos;
double r62422 = pow(r62421, r62417);
double r62423 = sin;
double r62424 = pow(r62423, r62417);
double r62425 = r62418 * r62424;
double r62426 = r62425 * r62418;
double r62427 = r62422 * r62426;
double r62428 = r62420 / r62427;
return r62428;
}
double f(double x, double cos, double sin) {
double r62429 = 2.0;
double r62430 = x;
double r62431 = r62429 * r62430;
double r62432 = cos(r62431);
double r62433 = cos;
double r62434 = 2.0;
double r62435 = r62429 / r62434;
double r62436 = pow(r62433, r62435);
double r62437 = sin;
double r62438 = pow(r62437, r62435);
double r62439 = r62430 * r62438;
double r62440 = r62436 * r62439;
double r62441 = r62438 * r62430;
double r62442 = r62440 * r62441;
double r62443 = r62436 * r62442;
double r62444 = r62432 / r62443;
return r62444;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*l*23.9
rmApplied sqr-pow23.9
Applied associate-*r*16.9
rmApplied associate-*l*13.9
rmApplied associate-*r*6.4
Final simplification6.4
herbie shell --seed 2019323 +o rules:numerics
(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))))