\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(2 \cdot x\right)}{\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r63733 = 2.0;
double r63734 = x;
double r63735 = r63733 * r63734;
double r63736 = cos(r63735);
double r63737 = cos;
double r63738 = pow(r63737, r63733);
double r63739 = sin;
double r63740 = pow(r63739, r63733);
double r63741 = r63734 * r63740;
double r63742 = r63741 * r63734;
double r63743 = r63738 * r63742;
double r63744 = r63736 / r63743;
return r63744;
}
double f(double x, double cos, double sin) {
double r63745 = 2.0;
double r63746 = x;
double r63747 = r63745 * r63746;
double r63748 = cos(r63747);
double r63749 = cos;
double r63750 = 2.0;
double r63751 = r63745 / r63750;
double r63752 = pow(r63749, r63751);
double r63753 = sin;
double r63754 = pow(r63753, r63751);
double r63755 = r63746 * r63754;
double r63756 = r63752 * r63755;
double r63757 = r63752 * r63756;
double r63758 = r63754 * r63746;
double r63759 = r63757 * r63758;
double r63760 = r63748 / r63759;
return r63760;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.1
rmApplied sqr-pow28.1
Applied associate-*r*21.6
rmApplied associate-*l*19.8
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019235 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
:precision binary64
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))