\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{cos}}{x}}{sin} \cdot \frac{1}{sin \cdot \left(x \cdot cos\right)}double f(double x, double cos, double sin) {
double r1510747 = 2.0;
double r1510748 = x;
double r1510749 = r1510747 * r1510748;
double r1510750 = cos(r1510749);
double r1510751 = cos;
double r1510752 = pow(r1510751, r1510747);
double r1510753 = sin;
double r1510754 = pow(r1510753, r1510747);
double r1510755 = r1510748 * r1510754;
double r1510756 = r1510755 * r1510748;
double r1510757 = r1510752 * r1510756;
double r1510758 = r1510750 / r1510757;
return r1510758;
}
double f(double x, double cos, double sin) {
double r1510759 = 2.0;
double r1510760 = x;
double r1510761 = r1510759 * r1510760;
double r1510762 = cos(r1510761);
double r1510763 = cos;
double r1510764 = r1510762 / r1510763;
double r1510765 = r1510764 / r1510760;
double r1510766 = sin;
double r1510767 = r1510765 / r1510766;
double r1510768 = 1.0;
double r1510769 = r1510760 * r1510763;
double r1510770 = r1510766 * r1510769;
double r1510771 = r1510768 / r1510770;
double r1510772 = r1510767 * r1510771;
return r1510772;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.0
Simplified2.9
rmApplied *-un-lft-identity2.9
Applied times-frac2.6
rmApplied *-un-lft-identity2.6
Applied associate-/l*2.6
rmApplied *-un-lft-identity2.6
Applied times-frac2.6
Applied add-cube-cbrt2.6
Applied times-frac2.7
Simplified2.7
Simplified2.7
rmApplied associate-*l/2.7
Simplified2.6
Final simplification2.6
herbie shell --seed 2019135
(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))))