\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 -1.3306691565013242 \cdot 10^{-229} \lor \neg \left(x \le 7.4221073368790308 \cdot 10^{-250}\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{\cos \left(2 \cdot x\right)}{\left|\left({cos}^{\left(\frac{2}{2}\right)} \cdot x\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right| \cdot \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 r181 = 2.0;
double r182 = x;
double r183 = r181 * r182;
double r184 = cos(r183);
double r185 = cos;
double r186 = pow(r185, r181);
double r187 = sin;
double r188 = pow(r187, r181);
double r189 = r182 * r188;
double r190 = r189 * r182;
double r191 = r186 * r190;
double r192 = r184 / r191;
return r192;
}
double f(double x, double cos, double sin) {
double r193 = x;
double r194 = -1.3306691565013242e-229;
bool r195 = r193 <= r194;
double r196 = 7.422107336879031e-250;
bool r197 = r193 <= r196;
double r198 = !r197;
bool r199 = r195 || r198;
double r200 = 2.0;
double r201 = r200 * r193;
double r202 = cos(r201);
double r203 = cos;
double r204 = 1.0;
double r205 = pow(r203, r204);
double r206 = sin;
double r207 = pow(r206, r204);
double r208 = r205 * r207;
double r209 = pow(r208, r204);
double r210 = r209 * r193;
double r211 = fabs(r210);
double r212 = 2.0;
double r213 = pow(r211, r212);
double r214 = r202 / r213;
double r215 = r200 / r212;
double r216 = pow(r203, r215);
double r217 = r216 * r193;
double r218 = pow(r206, r215);
double r219 = r217 * r218;
double r220 = fabs(r219);
double r221 = r193 * r218;
double r222 = r216 * r221;
double r223 = fabs(r222);
double r224 = r220 * r223;
double r225 = r202 / r224;
double r226 = r199 ? r214 : r225;
return r226;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if x < -1.3306691565013242e-229 or 7.422107336879031e-250 < x Initial program 26.9
rmApplied sqr-pow26.9
Applied associate-*l*22.1
rmApplied sqr-pow22.1
Applied associate-*r*15.8
rmApplied add-sqr-sqrt15.8
Simplified15.8
Simplified2.8
Taylor expanded around 0 2.2
Simplified2.2
if -1.3306691565013242e-229 < x < 7.422107336879031e-250Initial program 50.0
rmApplied sqr-pow50.0
Applied associate-*l*48.1
rmApplied sqr-pow48.1
Applied associate-*r*25.7
rmApplied add-sqr-sqrt25.7
Simplified25.7
Simplified5.8
rmApplied associate-*r*12.4
Final simplification2.7
herbie shell --seed 2020025 +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))))