\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}\;sin \le 4.31466303447184707 \cdot 10^{-141} \lor \neg \left(sin \le 9.0399391425500038 \cdot 10^{268}\right):\\
\;\;\;\;\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \left(\frac{1}{\sqrt{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}} \cdot \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|}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{{\left(\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}\\
\end{array}double f(double x, double cos, double sin) {
double r47475 = 2.0;
double r47476 = x;
double r47477 = r47475 * r47476;
double r47478 = cos(r47477);
double r47479 = cos;
double r47480 = pow(r47479, r47475);
double r47481 = sin;
double r47482 = pow(r47481, r47475);
double r47483 = r47476 * r47482;
double r47484 = r47483 * r47476;
double r47485 = r47480 * r47484;
double r47486 = r47478 / r47485;
return r47486;
}
double f(double x, double cos, double sin) {
double r47487 = sin;
double r47488 = 4.314663034471847e-141;
bool r47489 = r47487 <= r47488;
double r47490 = 9.039939142550004e+268;
bool r47491 = r47487 <= r47490;
double r47492 = !r47491;
bool r47493 = r47489 || r47492;
double r47494 = 1.0;
double r47495 = cos;
double r47496 = 2.0;
double r47497 = 2.0;
double r47498 = r47496 / r47497;
double r47499 = pow(r47495, r47498);
double r47500 = x;
double r47501 = pow(r47487, r47498);
double r47502 = r47500 * r47501;
double r47503 = r47499 * r47502;
double r47504 = fabs(r47503);
double r47505 = r47494 / r47504;
double r47506 = sqrt(r47504);
double r47507 = r47494 / r47506;
double r47508 = r47496 * r47500;
double r47509 = cos(r47508);
double r47510 = r47509 / r47506;
double r47511 = r47507 * r47510;
double r47512 = r47505 * r47511;
double r47513 = 1.0;
double r47514 = pow(r47495, r47513);
double r47515 = pow(r47487, r47513);
double r47516 = r47514 * r47515;
double r47517 = pow(r47516, r47513);
double r47518 = r47517 * r47500;
double r47519 = fabs(r47518);
double r47520 = pow(r47519, r47497);
double r47521 = r47509 / r47520;
double r47522 = r47493 ? r47512 : r47521;
return r47522;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if sin < 4.314663034471847e-141 or 9.039939142550004e+268 < sin Initial program 31.0
rmApplied sqr-pow31.0
Applied associate-*r*22.5
rmApplied add-sqr-sqrt22.6
Simplified22.5
Simplified3.0
rmApplied *-un-lft-identity3.0
Applied times-frac2.8
rmApplied add-sqr-sqrt2.9
Applied *-un-lft-identity2.9
Applied times-frac2.9
if 4.314663034471847e-141 < sin < 9.039939142550004e+268Initial program 22.7
rmApplied sqr-pow22.7
Applied associate-*r*20.0
rmApplied add-sqr-sqrt20.0
Simplified20.0
Simplified1.9
Taylor expanded around 0 2.6
Simplified2.6
Final simplification2.8
herbie shell --seed 2020057 +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))))