\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 r75612 = 2.0;
double r75613 = x;
double r75614 = r75612 * r75613;
double r75615 = cos(r75614);
double r75616 = cos;
double r75617 = pow(r75616, r75612);
double r75618 = sin;
double r75619 = pow(r75618, r75612);
double r75620 = r75613 * r75619;
double r75621 = r75620 * r75613;
double r75622 = r75617 * r75621;
double r75623 = r75615 / r75622;
return r75623;
}
double f(double x, double cos, double sin) {
double r75624 = 2.0;
double r75625 = x;
double r75626 = r75624 * r75625;
double r75627 = cos(r75626);
double r75628 = cos;
double r75629 = 2.0;
double r75630 = r75624 / r75629;
double r75631 = pow(r75628, r75630);
double r75632 = sin;
double r75633 = pow(r75632, r75630);
double r75634 = r75625 * r75633;
double r75635 = r75631 * r75634;
double r75636 = r75627 / r75635;
double r75637 = r75636 / r75635;
return r75637;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.7
rmApplied sqr-pow28.7
Applied associate-*r*22.7
rmApplied associate-*l*20.6
Simplified20.6
rmApplied sqr-pow20.6
Applied unswap-sqr2.9
rmApplied associate-/r*2.6
Final simplification2.6
herbie shell --seed 2020045 +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))))