\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 r60588 = 2.0;
double r60589 = x;
double r60590 = r60588 * r60589;
double r60591 = cos(r60590);
double r60592 = cos;
double r60593 = pow(r60592, r60588);
double r60594 = sin;
double r60595 = pow(r60594, r60588);
double r60596 = r60589 * r60595;
double r60597 = r60596 * r60589;
double r60598 = r60593 * r60597;
double r60599 = r60591 / r60598;
return r60599;
}
double f(double x, double cos, double sin) {
double r60600 = 2.0;
double r60601 = x;
double r60602 = r60600 * r60601;
double r60603 = cos(r60602);
double r60604 = cos;
double r60605 = 2.0;
double r60606 = r60600 / r60605;
double r60607 = pow(r60604, r60606);
double r60608 = sin;
double r60609 = pow(r60608, r60606);
double r60610 = r60601 * r60609;
double r60611 = r60607 * r60610;
double r60612 = r60607 * r60611;
double r60613 = r60609 * r60601;
double r60614 = r60612 * r60613;
double r60615 = r60603 / r60614;
return r60615;
}



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.0
rmApplied associate-*l*20.1
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*7.0
Final simplification7.0
herbie shell --seed 2020047
(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))))