\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 r63403 = 2.0;
double r63404 = x;
double r63405 = r63403 * r63404;
double r63406 = cos(r63405);
double r63407 = cos;
double r63408 = pow(r63407, r63403);
double r63409 = sin;
double r63410 = pow(r63409, r63403);
double r63411 = r63404 * r63410;
double r63412 = r63411 * r63404;
double r63413 = r63408 * r63412;
double r63414 = r63406 / r63413;
return r63414;
}
double f(double x, double cos, double sin) {
double r63415 = 2.0;
double r63416 = x;
double r63417 = r63415 * r63416;
double r63418 = cos(r63417);
double r63419 = cos;
double r63420 = 2.0;
double r63421 = r63415 / r63420;
double r63422 = pow(r63419, r63421);
double r63423 = sin;
double r63424 = pow(r63423, r63421);
double r63425 = r63416 * r63424;
double r63426 = r63422 * r63425;
double r63427 = r63422 * r63426;
double r63428 = r63424 * r63416;
double r63429 = r63427 * r63428;
double r63430 = r63418 / r63429;
return r63430;
}



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.6
rmApplied associate-*l*20.5
rmApplied associate-*r*16.4
rmApplied sqr-pow16.4
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019347 +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))))