\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}\;{sin}^{2} \le 1.375411136237947412717068778069207808383 \cdot 10^{-257}:\\
\;\;\;\;\frac{\cos \left(x \cdot 2\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot \left(\left(x \cdot {cos}^{\left(\frac{2}{2}\right)}\right) \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right)}\\
\mathbf{elif}\;{sin}^{2} \le 4.691137056220841244900674601205005981837 \cdot 10^{253}:\\
\;\;\;\;\frac{\cos \left(x \cdot 2\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot \left({sin}^{2} \cdot \left(x \cdot {cos}^{\left(\frac{2}{2}\right)}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\cos \left(x \cdot 2\right)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot \left(\left(x \cdot {cos}^{\left(\frac{2}{2}\right)}\right) \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right)}\\
\end{array}double f(double x, double cos, double sin) {
double r3175088 = 2.0;
double r3175089 = x;
double r3175090 = r3175088 * r3175089;
double r3175091 = cos(r3175090);
double r3175092 = cos;
double r3175093 = pow(r3175092, r3175088);
double r3175094 = sin;
double r3175095 = pow(r3175094, r3175088);
double r3175096 = r3175089 * r3175095;
double r3175097 = r3175096 * r3175089;
double r3175098 = r3175093 * r3175097;
double r3175099 = r3175091 / r3175098;
return r3175099;
}
double f(double x, double cos, double sin) {
double r3175100 = sin;
double r3175101 = 2.0;
double r3175102 = pow(r3175100, r3175101);
double r3175103 = 1.3754111362379474e-257;
bool r3175104 = r3175102 <= r3175103;
double r3175105 = x;
double r3175106 = r3175105 * r3175101;
double r3175107 = cos(r3175106);
double r3175108 = cos;
double r3175109 = 2.0;
double r3175110 = r3175101 / r3175109;
double r3175111 = pow(r3175108, r3175110);
double r3175112 = pow(r3175100, r3175110);
double r3175113 = r3175105 * r3175111;
double r3175114 = r3175105 * r3175112;
double r3175115 = r3175113 * r3175114;
double r3175116 = r3175112 * r3175115;
double r3175117 = r3175111 * r3175116;
double r3175118 = r3175107 / r3175117;
double r3175119 = 4.691137056220841e+253;
bool r3175120 = r3175102 <= r3175119;
double r3175121 = r3175102 * r3175113;
double r3175122 = r3175105 * r3175121;
double r3175123 = r3175111 * r3175122;
double r3175124 = r3175107 / r3175123;
double r3175125 = r3175120 ? r3175124 : r3175118;
double r3175126 = r3175104 ? r3175118 : r3175125;
return r3175126;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if (pow sin 2.0) < 1.3754111362379474e-257 or 4.691137056220841e+253 < (pow sin 2.0) Initial program 33.0
rmApplied sqr-pow33.0
Applied associate-*r*22.7
rmApplied sqr-pow22.7
Applied associate-*l*17.9
Simplified29.4
rmApplied sqr-pow29.4
Applied associate-*r*19.1
rmApplied associate-*r*11.8
if 1.3754111362379474e-257 < (pow sin 2.0) < 4.691137056220841e+253Initial program 21.1
rmApplied sqr-pow21.1
Applied associate-*r*21.2
rmApplied sqr-pow21.2
Applied associate-*l*15.1
Simplified7.2
rmApplied sqr-pow7.2
Applied associate-*r*7.2
rmApplied pow17.2
Applied pow17.2
Applied pow-prod-down7.2
Simplified6.0
Final simplification9.2
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))