\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(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)}double f(double x, double cos, double sin) {
double r70529 = 2.0;
double r70530 = x;
double r70531 = r70529 * r70530;
double r70532 = cos(r70531);
double r70533 = cos;
double r70534 = pow(r70533, r70529);
double r70535 = sin;
double r70536 = pow(r70535, r70529);
double r70537 = r70530 * r70536;
double r70538 = r70537 * r70530;
double r70539 = r70534 * r70538;
double r70540 = r70532 / r70539;
return r70540;
}
double f(double x, double cos, double sin) {
double r70541 = 2.0;
double r70542 = x;
double r70543 = r70541 * r70542;
double r70544 = cos(r70543);
double r70545 = cos;
double r70546 = 2.0;
double r70547 = r70541 / r70546;
double r70548 = pow(r70545, r70547);
double r70549 = sin;
double r70550 = pow(r70549, r70547);
double r70551 = r70542 * r70550;
double r70552 = r70548 * r70551;
double r70553 = r70552 * r70551;
double r70554 = r70548 * r70553;
double r70555 = r70544 / r70554;
return r70555;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.2
rmApplied sqr-pow28.2
Applied associate-*l*23.4
rmApplied sqr-pow23.4
Applied associate-*r*16.1
rmApplied associate-*l*13.3
Simplified13.3
rmApplied associate-*r*5.6
Final simplification5.6
herbie shell --seed 2020042
(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))))