\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\begin{array}{l}
\mathbf{if}\;cos \le -2.047820410589973 \cdot 10^{+33}:\\
\;\;\;\;\frac{\frac{\cos \left(2 \cdot x\right) \cdot \frac{1}{x}}{cos \cdot sin}}{\left(cos \cdot sin\right) \cdot x}\\
\mathbf{elif}\;cos \le 5.117094630849011 \cdot 10^{-162}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{\left(sin \cdot \left(x \cdot cos\right)\right) \cdot \left(sin \cdot \left(x \cdot cos\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{x}}{cos \cdot sin} \cdot \frac{\frac{\frac{\cos \left(2 \cdot x\right)}{sin}}{cos}}{x}\\
\end{array}double f(double x, double cos, double sin) {
double r1228968 = 2.0;
double r1228969 = x;
double r1228970 = r1228968 * r1228969;
double r1228971 = cos(r1228970);
double r1228972 = cos;
double r1228973 = pow(r1228972, r1228968);
double r1228974 = sin;
double r1228975 = pow(r1228974, r1228968);
double r1228976 = r1228969 * r1228975;
double r1228977 = r1228976 * r1228969;
double r1228978 = r1228973 * r1228977;
double r1228979 = r1228971 / r1228978;
return r1228979;
}
double f(double x, double cos, double sin) {
double r1228980 = cos;
double r1228981 = -2.047820410589973e+33;
bool r1228982 = r1228980 <= r1228981;
double r1228983 = 2.0;
double r1228984 = x;
double r1228985 = r1228983 * r1228984;
double r1228986 = cos(r1228985);
double r1228987 = 1.0;
double r1228988 = r1228987 / r1228984;
double r1228989 = r1228986 * r1228988;
double r1228990 = sin;
double r1228991 = r1228980 * r1228990;
double r1228992 = r1228989 / r1228991;
double r1228993 = r1228991 * r1228984;
double r1228994 = r1228992 / r1228993;
double r1228995 = 5.117094630849011e-162;
bool r1228996 = r1228980 <= r1228995;
double r1228997 = r1228984 * r1228980;
double r1228998 = r1228990 * r1228997;
double r1228999 = r1228998 * r1228998;
double r1229000 = r1228986 / r1228999;
double r1229001 = r1228988 / r1228991;
double r1229002 = r1228986 / r1228990;
double r1229003 = r1229002 / r1228980;
double r1229004 = r1229003 / r1228984;
double r1229005 = r1229001 * r1229004;
double r1229006 = r1228996 ? r1229000 : r1229005;
double r1229007 = r1228982 ? r1228994 : r1229006;
return r1229007;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if cos < -2.047820410589973e+33Initial program 23.4
Simplified2.8
rmApplied associate-/r*2.6
rmApplied *-un-lft-identity2.6
Applied times-frac2.5
rmApplied associate-*r/2.5
if -2.047820410589973e+33 < cos < 5.117094630849011e-162Initial program 41.1
Simplified3.5
Taylor expanded around 0 43.7
Simplified3.7
if 5.117094630849011e-162 < cos Initial program 21.9
Simplified2.4
rmApplied associate-/r*2.1
rmApplied *-un-lft-identity2.1
Applied times-frac2.1
rmApplied associate-*l/2.1
Simplified2.1
rmApplied div-inv2.1
Applied times-frac2.1
Final simplification2.7
herbie shell --seed 2019154
(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))))