\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\sqrt[3]{\cos \left(2 \cdot x\right)}}{\left(cos \cdot x\right) \cdot sin} \cdot \frac{\sqrt[3]{\cos \left(2 \cdot x\right)}}{\frac{1}{\sqrt[3]{\left(\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}\right) \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}}}}}{\left(cos \cdot x\right) \cdot sin}double f(double x, double cos, double sin) {
double r2341712 = 2.0;
double r2341713 = x;
double r2341714 = r2341712 * r2341713;
double r2341715 = cos(r2341714);
double r2341716 = cos;
double r2341717 = pow(r2341716, r2341712);
double r2341718 = sin;
double r2341719 = pow(r2341718, r2341712);
double r2341720 = r2341713 * r2341719;
double r2341721 = r2341720 * r2341713;
double r2341722 = r2341717 * r2341721;
double r2341723 = r2341715 / r2341722;
return r2341723;
}
double f(double x, double cos, double sin) {
double r2341724 = 2.0;
double r2341725 = x;
double r2341726 = r2341724 * r2341725;
double r2341727 = cos(r2341726);
double r2341728 = cbrt(r2341727);
double r2341729 = cos;
double r2341730 = r2341729 * r2341725;
double r2341731 = sin;
double r2341732 = r2341730 * r2341731;
double r2341733 = r2341728 / r2341732;
double r2341734 = 1.0;
double r2341735 = r2341728 * r2341728;
double r2341736 = r2341735 * r2341728;
double r2341737 = cbrt(r2341736);
double r2341738 = r2341734 / r2341737;
double r2341739 = r2341728 / r2341738;
double r2341740 = r2341733 * r2341739;
double r2341741 = r2341740 / r2341732;
return r2341741;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.9
Simplified2.7
rmApplied associate-/r*2.4
rmApplied add-cube-cbrt2.6
Applied associate-/l*2.6
rmApplied div-inv2.6
Applied times-frac2.6
rmApplied add-cbrt-cube2.6
Final simplification2.6
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))