\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.2959203971383585 \cdot 10^{-210}:\\
\;\;\;\;\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{\frac{1}{\sqrt{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\frac{\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|}}}}\\
\end{array}double f(double x, double cos, double sin) {
double r57103 = 2.0;
double r57104 = x;
double r57105 = r57103 * r57104;
double r57106 = cos(r57105);
double r57107 = cos;
double r57108 = pow(r57107, r57103);
double r57109 = sin;
double r57110 = pow(r57109, r57103);
double r57111 = r57104 * r57110;
double r57112 = r57111 * r57104;
double r57113 = r57108 * r57112;
double r57114 = r57106 / r57113;
return r57114;
}
double f(double x, double cos, double sin) {
double r57115 = cos;
double r57116 = 2.2959203971383585e-210;
bool r57117 = r57115 <= r57116;
double r57118 = 2.0;
double r57119 = x;
double r57120 = r57118 * r57119;
double r57121 = cos(r57120);
double r57122 = 1.0;
double r57123 = pow(r57115, r57122);
double r57124 = sin;
double r57125 = pow(r57124, r57122);
double r57126 = r57123 * r57125;
double r57127 = pow(r57126, r57122);
double r57128 = r57127 * r57119;
double r57129 = fabs(r57128);
double r57130 = 2.0;
double r57131 = pow(r57129, r57130);
double r57132 = r57121 / r57131;
double r57133 = 1.0;
double r57134 = r57118 / r57130;
double r57135 = pow(r57115, r57134);
double r57136 = pow(r57124, r57134);
double r57137 = r57119 * r57136;
double r57138 = r57135 * r57137;
double r57139 = fabs(r57138);
double r57140 = sqrt(r57139);
double r57141 = r57133 / r57140;
double r57142 = r57121 / r57140;
double r57143 = r57139 / r57142;
double r57144 = r57141 / r57143;
double r57145 = r57117 ? r57132 : r57144;
return r57145;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if cos < 2.2959203971383585e-210Initial program 31.1
rmApplied sqr-pow31.1
Applied associate-*r*25.3
rmApplied add-sqr-sqrt25.3
Simplified25.3
Simplified3.7
Taylor expanded around 0 3.1
Simplified3.1
if 2.2959203971383585e-210 < cos Initial program 24.9
rmApplied sqr-pow24.9
Applied associate-*r*18.1
rmApplied add-sqr-sqrt18.1
Simplified18.1
Simplified2.0
rmApplied associate-/r*1.7
rmApplied add-sqr-sqrt1.8
Applied *-un-lft-identity1.8
Applied times-frac1.8
Applied associate-/l*1.8
Final simplification2.5
herbie shell --seed 2020047
(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))))