\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) \cdot \frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}double f(double x, double cos, double sin) {
double r63642 = 2.0;
double r63643 = x;
double r63644 = r63642 * r63643;
double r63645 = cos(r63644);
double r63646 = cos;
double r63647 = pow(r63646, r63642);
double r63648 = sin;
double r63649 = pow(r63648, r63642);
double r63650 = r63643 * r63649;
double r63651 = r63650 * r63643;
double r63652 = r63647 * r63651;
double r63653 = r63645 / r63652;
return r63653;
}
double f(double x, double cos, double sin) {
double r63654 = 2.0;
double r63655 = x;
double r63656 = r63654 * r63655;
double r63657 = cos(r63656);
double r63658 = 1.0;
double r63659 = cos;
double r63660 = 2.0;
double r63661 = r63654 / r63660;
double r63662 = pow(r63659, r63661);
double r63663 = sin;
double r63664 = pow(r63663, r63661);
double r63665 = r63655 * r63664;
double r63666 = r63662 * r63665;
double r63667 = fabs(r63666);
double r63668 = r63658 / r63667;
double r63669 = r63657 * r63668;
double r63670 = r63669 / r63667;
return r63670;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*r*22.0
rmApplied add-sqr-sqrt22.0
Simplified22.0
Simplified3.0
rmApplied associate-/r*2.7
rmApplied div-inv2.7
Final simplification2.7
herbie shell --seed 2020064 +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))))