\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\left(\frac{1}{x} \cdot \frac{1}{sin}\right) \cdot \frac{\cos \left(x \cdot 2\right)}{cos}}{cos \cdot \left(x \cdot sin\right)}double f(double x, double cos, double sin) {
double r2825672 = 2.0;
double r2825673 = x;
double r2825674 = r2825672 * r2825673;
double r2825675 = cos(r2825674);
double r2825676 = cos;
double r2825677 = pow(r2825676, r2825672);
double r2825678 = sin;
double r2825679 = pow(r2825678, r2825672);
double r2825680 = r2825673 * r2825679;
double r2825681 = r2825680 * r2825673;
double r2825682 = r2825677 * r2825681;
double r2825683 = r2825675 / r2825682;
return r2825683;
}
double f(double x, double cos, double sin) {
double r2825684 = 1.0;
double r2825685 = x;
double r2825686 = r2825684 / r2825685;
double r2825687 = sin;
double r2825688 = r2825684 / r2825687;
double r2825689 = r2825686 * r2825688;
double r2825690 = 2.0;
double r2825691 = r2825685 * r2825690;
double r2825692 = cos(r2825691);
double r2825693 = cos;
double r2825694 = r2825692 / r2825693;
double r2825695 = r2825689 * r2825694;
double r2825696 = r2825685 * r2825687;
double r2825697 = r2825693 * r2825696;
double r2825698 = r2825695 / r2825697;
return r2825698;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.8
Simplified2.8
rmApplied associate-/r*2.5
rmApplied *-un-lft-identity2.5
Applied times-frac2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.7
Final simplification2.7
herbie shell --seed 2019142 +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))))