\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({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)\right)}double f(double x, double cos, double sin) {
double r62645 = 2.0;
double r62646 = x;
double r62647 = r62645 * r62646;
double r62648 = cos(r62647);
double r62649 = cos;
double r62650 = pow(r62649, r62645);
double r62651 = sin;
double r62652 = pow(r62651, r62645);
double r62653 = r62646 * r62652;
double r62654 = r62653 * r62646;
double r62655 = r62650 * r62654;
double r62656 = r62648 / r62655;
return r62656;
}
double f(double x, double cos, double sin) {
double r62657 = 2.0;
double r62658 = x;
double r62659 = r62657 * r62658;
double r62660 = cos(r62659);
double r62661 = cos;
double r62662 = 2.0;
double r62663 = r62657 / r62662;
double r62664 = pow(r62661, r62663);
double r62665 = sin;
double r62666 = pow(r62665, r62663);
double r62667 = r62658 * r62666;
double r62668 = r62664 * r62667;
double r62669 = r62666 * r62658;
double r62670 = r62668 * r62669;
double r62671 = r62664 * r62670;
double r62672 = r62660 / r62671;
return r62672;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*l*23.9
rmApplied sqr-pow23.9
Applied associate-*r*16.9
rmApplied associate-*l*13.9
rmApplied associate-*r*6.4
Final simplification6.4
herbie shell --seed 2019323 +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))))