\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 6.232019318103981264981760981632279977703 \cdot 10^{-261} \lor \neg \left(cos \le 1.078284058365084368444078192287207459986 \cdot 10^{220}\right):\\
\;\;\;\;\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{\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|}}{\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 r50162 = 2.0;
double r50163 = x;
double r50164 = r50162 * r50163;
double r50165 = cos(r50164);
double r50166 = cos;
double r50167 = pow(r50166, r50162);
double r50168 = sin;
double r50169 = pow(r50168, r50162);
double r50170 = r50163 * r50169;
double r50171 = r50170 * r50163;
double r50172 = r50167 * r50171;
double r50173 = r50165 / r50172;
return r50173;
}
double f(double x, double cos, double sin) {
double r50174 = cos;
double r50175 = 6.232019318103981e-261;
bool r50176 = r50174 <= r50175;
double r50177 = 1.0782840583650844e+220;
bool r50178 = r50174 <= r50177;
double r50179 = !r50178;
bool r50180 = r50176 || r50179;
double r50181 = 2.0;
double r50182 = x;
double r50183 = r50181 * r50182;
double r50184 = cos(r50183);
double r50185 = 1.0;
double r50186 = pow(r50174, r50185);
double r50187 = sin;
double r50188 = pow(r50187, r50185);
double r50189 = r50186 * r50188;
double r50190 = pow(r50189, r50185);
double r50191 = r50190 * r50182;
double r50192 = fabs(r50191);
double r50193 = 2.0;
double r50194 = pow(r50192, r50193);
double r50195 = r50184 / r50194;
double r50196 = r50181 / r50193;
double r50197 = pow(r50174, r50196);
double r50198 = pow(r50187, r50196);
double r50199 = r50182 * r50198;
double r50200 = r50197 * r50199;
double r50201 = fabs(r50200);
double r50202 = r50184 / r50201;
double r50203 = r50202 / r50201;
double r50204 = r50180 ? r50195 : r50203;
return r50204;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if cos < 6.232019318103981e-261 or 1.0782840583650844e+220 < cos Initial program 29.4
rmApplied sqr-pow29.4
Applied associate-*l*24.7
rmApplied sqr-pow24.7
Applied associate-*r*18.0
rmApplied add-sqr-sqrt18.1
Simplified18.0
Simplified3.9
Taylor expanded around 0 2.9
Simplified2.9
if 6.232019318103981e-261 < cos < 1.0782840583650844e+220Initial program 26.8
rmApplied sqr-pow26.8
Applied associate-*l*22.5
rmApplied sqr-pow22.5
Applied associate-*r*15.1
rmApplied add-sqr-sqrt15.2
Simplified15.1
Simplified1.8
rmApplied associate-/r*1.4
Final simplification2.4
herbie shell --seed 2019362
(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))))