\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}\;x \le -2.1299061337171467 \cdot 10^{-130}:\\
\;\;\;\;\frac{\frac{\cos \left(2 \cdot x\right)}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}}{{\left(\sqrt{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}\right)}^{2}}\\
\mathbf{elif}\;x \le 6.2557132995046548 \cdot 10^{301}:\\
\;\;\;\;\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|}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(2 \cdot x\right)\right)\right)}{{\left(\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}\\
\end{array}double code(double x, double cos, double sin) {
return ((double) (((double) cos(((double) (2.0 * x)))) / ((double) (((double) pow(cos, 2.0)) * ((double) (((double) (x * ((double) pow(sin, 2.0)))) * x))))));
}
double code(double x, double cos, double sin) {
double VAR;
if ((x <= -2.1299061337171467e-130)) {
VAR = ((double) (((double) (((double) cos(((double) (2.0 * x)))) / ((double) fabs(((double) (((double) pow(((double) (((double) pow(cos, 1.0)) * ((double) pow(sin, 1.0)))), 1.0)) * x)))))) / ((double) pow(((double) sqrt(((double) fabs(((double) (((double) pow(((double) (((double) pow(cos, 1.0)) * ((double) pow(sin, 1.0)))), 1.0)) * x)))))), 2.0))));
} else {
double VAR_1;
if ((x <= 6.255713299504655e+301)) {
VAR_1 = ((double) (((double) (((double) cos(((double) (2.0 * x)))) / ((double) fabs(((double) (((double) pow(cos, ((double) (2.0 / 2.0)))) * ((double) (x * ((double) pow(sin, ((double) (2.0 / 2.0)))))))))))) / ((double) fabs(((double) (((double) pow(cos, ((double) (2.0 / 2.0)))) * ((double) (x * ((double) pow(sin, ((double) (2.0 / 2.0))))))))))));
} else {
VAR_1 = ((double) (((double) log1p(((double) expm1(((double) cos(((double) (2.0 * x)))))))) / ((double) pow(((double) fabs(((double) (((double) pow(((double) (((double) pow(cos, 1.0)) * ((double) pow(sin, 1.0)))), 1.0)) * x)))), 2.0))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if x < -2.1299061337171467e-130Initial program 25.0
rmApplied sqr-pow25.0
Applied associate-*r*20.3
rmApplied add-sqr-sqrt20.4
Simplified20.4
Simplified2.5
Taylor expanded around inf 1.9
rmApplied add-sqr-sqrt2.1
Applied unpow-prod-down2.1
Applied associate-/r*1.8
Simplified1.7
if -2.1299061337171467e-130 < x < 6.255713299504655e+301Initial program 30.2
rmApplied sqr-pow30.2
Applied associate-*r*24.0
rmApplied add-sqr-sqrt24.0
Simplified24.0
Simplified3.1
rmApplied associate-/r*2.8
if 6.255713299504655e+301 < x Initial program 24.7
rmApplied sqr-pow24.7
Applied associate-*r*13.8
rmApplied add-sqr-sqrt13.9
Simplified13.9
Simplified3.1
Taylor expanded around inf 9.6
rmApplied log1p-expm1-u9.6
Final simplification2.4
herbie shell --seed 2020123 +o rules:numerics
(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))))