\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}^{2} \le 2.78037157949120241 \cdot 10^{-257}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{{\left(\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \left(\frac{1}{\sqrt{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}} \cdot \frac{\sqrt[3]{\cos \left(2 \cdot x\right)}}{\sqrt{\left|{cos}^{\left(\frac{2}{2}\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 r64067 = 2.0;
double r64068 = x;
double r64069 = r64067 * r64068;
double r64070 = cos(r64069);
double r64071 = cos;
double r64072 = pow(r64071, r64067);
double r64073 = sin;
double r64074 = pow(r64073, r64067);
double r64075 = r64068 * r64074;
double r64076 = r64075 * r64068;
double r64077 = r64072 * r64076;
double r64078 = r64070 / r64077;
return r64078;
}
double f(double x, double cos, double sin) {
double r64079 = cos;
double r64080 = 2.0;
double r64081 = pow(r64079, r64080);
double r64082 = 2.7803715794912024e-257;
bool r64083 = r64081 <= r64082;
double r64084 = x;
double r64085 = r64080 * r64084;
double r64086 = cos(r64085);
double r64087 = 1.0;
double r64088 = pow(r64079, r64087);
double r64089 = sin;
double r64090 = pow(r64089, r64087);
double r64091 = r64088 * r64090;
double r64092 = pow(r64091, r64087);
double r64093 = r64092 * r64084;
double r64094 = fabs(r64093);
double r64095 = 2.0;
double r64096 = pow(r64094, r64095);
double r64097 = r64086 / r64096;
double r64098 = cbrt(r64086);
double r64099 = r64098 * r64098;
double r64100 = r64080 / r64095;
double r64101 = pow(r64079, r64100);
double r64102 = pow(r64089, r64100);
double r64103 = r64084 * r64102;
double r64104 = r64101 * r64103;
double r64105 = fabs(r64104);
double r64106 = r64099 / r64105;
double r64107 = 1.0;
double r64108 = sqrt(r64105);
double r64109 = r64107 / r64108;
double r64110 = r64098 / r64108;
double r64111 = r64109 * r64110;
double r64112 = r64106 * r64111;
double r64113 = r64083 ? r64097 : r64112;
return r64113;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if (pow cos 2.0) < 2.7803715794912024e-257Initial program 55.9
rmApplied sqr-pow55.9
Applied associate-*r*53.8
rmApplied add-sqr-sqrt53.8
Simplified53.8
Simplified7.9
Taylor expanded around inf 5.1
if 2.7803715794912024e-257 < (pow cos 2.0) Initial program 22.4
rmApplied sqr-pow22.4
Applied associate-*r*15.2
rmApplied add-sqr-sqrt15.3
Simplified15.3
Simplified2.0
rmApplied add-cube-cbrt2.1
Applied times-frac1.8
rmApplied add-sqr-sqrt1.9
Applied *-un-lft-identity1.9
Applied times-frac1.9
Final simplification2.4
herbie shell --seed 2020081
(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))))