\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\frac{\left(sin \cdot \left(x \cdot cos\right)\right) \cdot \left(sin \cdot \left(x \cdot cos\right)\right)}{\cos \left(2 \cdot x\right)}}double f(double x, double cos, double sin) {
double r2347730 = 2.0;
double r2347731 = x;
double r2347732 = r2347730 * r2347731;
double r2347733 = cos(r2347732);
double r2347734 = cos;
double r2347735 = pow(r2347734, r2347730);
double r2347736 = sin;
double r2347737 = pow(r2347736, r2347730);
double r2347738 = r2347731 * r2347737;
double r2347739 = r2347738 * r2347731;
double r2347740 = r2347735 * r2347739;
double r2347741 = r2347733 / r2347740;
return r2347741;
}
double f(double x, double cos, double sin) {
double r2347742 = 1.0;
double r2347743 = sin;
double r2347744 = x;
double r2347745 = cos;
double r2347746 = r2347744 * r2347745;
double r2347747 = r2347743 * r2347746;
double r2347748 = r2347747 * r2347747;
double r2347749 = 2.0;
double r2347750 = r2347749 * r2347744;
double r2347751 = cos(r2347750);
double r2347752 = r2347748 / r2347751;
double r2347753 = r2347742 / r2347752;
return r2347753;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 26.9
Simplified2.9
rmApplied *-un-lft-identity2.9
Applied associate-/l*2.9
rmApplied *-un-lft-identity2.9
Applied associate-/l*2.9
Simplified2.8
rmApplied clear-num2.8
Simplified2.8
Final simplification2.8
herbie shell --seed 2019139 +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))))