\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 r51198 = 2.0;
double r51199 = x;
double r51200 = r51198 * r51199;
double r51201 = cos(r51200);
double r51202 = cos;
double r51203 = pow(r51202, r51198);
double r51204 = sin;
double r51205 = pow(r51204, r51198);
double r51206 = r51199 * r51205;
double r51207 = r51206 * r51199;
double r51208 = r51203 * r51207;
double r51209 = r51201 / r51208;
return r51209;
}
double f(double x, double cos, double sin) {
double r51210 = x;
double r51211 = -1.3306691565013242e-229;
bool r51212 = r51210 <= r51211;
double r51213 = 7.422107336879031e-250;
bool r51214 = r51210 <= r51213;
double r51215 = !r51214;
bool r51216 = r51212 || r51215;
double r51217 = 2.0;
double r51218 = r51217 * r51210;
double r51219 = cos(r51218);
double r51220 = cos;
double r51221 = 1.0;
double r51222 = pow(r51220, r51221);
double r51223 = sin;
double r51224 = pow(r51223, r51221);
double r51225 = r51222 * r51224;
double r51226 = pow(r51225, r51221);
double r51227 = r51226 * r51210;
double r51228 = fabs(r51227);
double r51229 = 2.0;
double r51230 = pow(r51228, r51229);
double r51231 = r51219 / r51230;
double r51232 = r51217 / r51229;
double r51233 = pow(r51220, r51232);
double r51234 = r51233 * r51210;
double r51235 = pow(r51223, r51232);
double r51236 = r51234 * r51235;
double r51237 = fabs(r51236);
double r51238 = r51210 * r51235;
double r51239 = r51233 * r51238;
double r51240 = fabs(r51239);
double r51241 = r51237 * r51240;
double r51242 = r51219 / r51241;
double r51243 = r51216 ? r51231 : r51242;
return r51243;
}



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))))