\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos \left(2 \cdot x\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}double f(double x, double cos, double sin) {
double r63632 = 2.0;
double r63633 = x;
double r63634 = r63632 * r63633;
double r63635 = cos(r63634);
double r63636 = cos;
double r63637 = pow(r63636, r63632);
double r63638 = sin;
double r63639 = pow(r63638, r63632);
double r63640 = r63633 * r63639;
double r63641 = r63640 * r63633;
double r63642 = r63637 * r63641;
double r63643 = r63635 / r63642;
return r63643;
}
double f(double x, double cos, double sin) {
double r63644 = 2.0;
double r63645 = x;
double r63646 = r63644 * r63645;
double r63647 = cos(r63646);
double r63648 = cos;
double r63649 = 2.0;
double r63650 = r63644 / r63649;
double r63651 = pow(r63648, r63650);
double r63652 = sin;
double r63653 = pow(r63652, r63650);
double r63654 = r63645 * r63653;
double r63655 = r63651 * r63654;
double r63656 = r63647 / r63655;
double r63657 = r63656 / r63655;
return r63657;
}



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.3
rmApplied associate-*l*20.2
Simplified20.2
rmApplied sqr-pow20.2
Applied unswap-sqr2.9
rmApplied associate-/r*2.7
Final simplification2.7
herbie shell --seed 2020046 +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))))