\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 1.53733643456530978 \cdot 10^{-179}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\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|}}}}\\
\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 r59054 = 2.0;
double r59055 = x;
double r59056 = r59054 * r59055;
double r59057 = cos(r59056);
double r59058 = cos;
double r59059 = pow(r59058, r59054);
double r59060 = sin;
double r59061 = pow(r59060, r59054);
double r59062 = r59055 * r59061;
double r59063 = r59062 * r59055;
double r59064 = r59059 * r59063;
double r59065 = r59057 / r59064;
return r59065;
}
double f(double x, double cos, double sin) {
double r59066 = sin;
double r59067 = 1.5373364345653098e-179;
bool r59068 = r59066 <= r59067;
double r59069 = 1.0;
double r59070 = cos;
double r59071 = 2.0;
double r59072 = 2.0;
double r59073 = r59071 / r59072;
double r59074 = pow(r59070, r59073);
double r59075 = x;
double r59076 = pow(r59066, r59073);
double r59077 = r59075 * r59076;
double r59078 = r59074 * r59077;
double r59079 = fabs(r59078);
double r59080 = sqrt(r59079);
double r59081 = r59069 / r59080;
double r59082 = r59071 * r59075;
double r59083 = cos(r59082);
double r59084 = r59083 / r59080;
double r59085 = r59079 / r59084;
double r59086 = r59081 / r59085;
double r59087 = 1.0;
double r59088 = pow(r59070, r59087);
double r59089 = pow(r59066, r59087);
double r59090 = r59088 * r59089;
double r59091 = pow(r59090, r59087);
double r59092 = r59091 * r59075;
double r59093 = fabs(r59092);
double r59094 = pow(r59093, r59072);
double r59095 = r59083 / r59094;
double r59096 = r59068 ? r59086 : r59095;
return r59096;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if sin < 1.5373364345653098e-179Initial program 31.8
rmApplied sqr-pow31.8
Applied associate-*r*23.5
rmApplied add-sqr-sqrt23.5
Simplified23.5
Simplified3.0
rmApplied associate-/r*2.7
rmApplied add-sqr-sqrt2.8
Applied *-un-lft-identity2.8
Applied times-frac2.8
Applied associate-/l*2.8
if 1.5373364345653098e-179 < sin Initial program 22.9
rmApplied sqr-pow22.9
Applied associate-*r*19.5
rmApplied add-sqr-sqrt19.5
Simplified19.5
Simplified2.4
Taylor expanded around inf 2.2
Final simplification2.5
herbie shell --seed 2020034 +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))))