\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\left(\frac{1}{cos} \cdot \frac{\frac{1}{sin}}{x}\right) \cdot \frac{\cos \left(2 \cdot x\right)}{cos \cdot \left(x \cdot sin\right)}double f(double x, double cos, double sin) {
double r2733824 = 2.0;
double r2733825 = x;
double r2733826 = r2733824 * r2733825;
double r2733827 = cos(r2733826);
double r2733828 = cos;
double r2733829 = pow(r2733828, r2733824);
double r2733830 = sin;
double r2733831 = pow(r2733830, r2733824);
double r2733832 = r2733825 * r2733831;
double r2733833 = r2733832 * r2733825;
double r2733834 = r2733829 * r2733833;
double r2733835 = r2733827 / r2733834;
return r2733835;
}
double f(double x, double cos, double sin) {
double r2733836 = 1.0;
double r2733837 = cos;
double r2733838 = r2733836 / r2733837;
double r2733839 = sin;
double r2733840 = r2733836 / r2733839;
double r2733841 = x;
double r2733842 = r2733840 / r2733841;
double r2733843 = r2733838 * r2733842;
double r2733844 = 2.0;
double r2733845 = r2733844 * r2733841;
double r2733846 = cos(r2733845);
double r2733847 = r2733841 * r2733839;
double r2733848 = r2733837 * r2733847;
double r2733849 = r2733846 / r2733848;
double r2733850 = r2733843 * r2733849;
return r2733850;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.3
Simplified2.8
rmApplied *-un-lft-identity2.8
Applied times-frac2.6
rmApplied *-un-lft-identity2.6
Applied times-frac2.7
rmApplied *-un-lft-identity2.7
Applied *-un-lft-identity2.7
Applied times-frac2.7
Applied associate-*r*2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019152
(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))))