\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 r56522 = 2.0;
double r56523 = x;
double r56524 = r56522 * r56523;
double r56525 = cos(r56524);
double r56526 = cos;
double r56527 = pow(r56526, r56522);
double r56528 = sin;
double r56529 = pow(r56528, r56522);
double r56530 = r56523 * r56529;
double r56531 = r56530 * r56523;
double r56532 = r56527 * r56531;
double r56533 = r56525 / r56532;
return r56533;
}
double f(double x, double cos, double sin) {
double r56534 = 2.0;
double r56535 = x;
double r56536 = r56534 * r56535;
double r56537 = cos(r56536);
double r56538 = cos;
double r56539 = 2.0;
double r56540 = r56534 / r56539;
double r56541 = pow(r56538, r56540);
double r56542 = sin;
double r56543 = pow(r56542, r56540);
double r56544 = r56535 * r56543;
double r56545 = r56541 * r56544;
double r56546 = r56541 * r56545;
double r56547 = r56543 * r56535;
double r56548 = r56546 * r56547;
double r56549 = r56537 / r56548;
return r56549;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.6
rmApplied sqr-pow27.6
Applied associate-*r*21.5
rmApplied associate-*l*19.5
rmApplied associate-*r*15.8
rmApplied sqr-pow15.8
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019306
(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))))