\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 3.4016721265247604 \cdot 10^{-241}:\\
\;\;\;\;\frac{1}{\left(x \cdot sin\right) \cdot cos} \cdot \frac{\cos \left(2 \cdot x\right)}{\left(x \cdot sin\right) \cdot cos}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\cos \left(2 \cdot x\right)}{sin \cdot \left(x \cdot cos\right)}}{sin \cdot \left(x \cdot cos\right)}\\
\end{array}double f(double x, double cos, double sin) {
double r2089839 = 2.0;
double r2089840 = x;
double r2089841 = r2089839 * r2089840;
double r2089842 = cos(r2089841);
double r2089843 = cos;
double r2089844 = pow(r2089843, r2089839);
double r2089845 = sin;
double r2089846 = pow(r2089845, r2089839);
double r2089847 = r2089840 * r2089846;
double r2089848 = r2089847 * r2089840;
double r2089849 = r2089844 * r2089848;
double r2089850 = r2089842 / r2089849;
return r2089850;
}
double f(double x, double cos, double sin) {
double r2089851 = sin;
double r2089852 = 3.4016721265247604e-241;
bool r2089853 = r2089851 <= r2089852;
double r2089854 = 1.0;
double r2089855 = x;
double r2089856 = r2089855 * r2089851;
double r2089857 = cos;
double r2089858 = r2089856 * r2089857;
double r2089859 = r2089854 / r2089858;
double r2089860 = 2.0;
double r2089861 = r2089860 * r2089855;
double r2089862 = cos(r2089861);
double r2089863 = r2089862 / r2089858;
double r2089864 = r2089859 * r2089863;
double r2089865 = r2089855 * r2089857;
double r2089866 = r2089851 * r2089865;
double r2089867 = r2089862 / r2089866;
double r2089868 = r2089867 / r2089866;
double r2089869 = r2089853 ? r2089864 : r2089868;
return r2089869;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if sin < 3.4016721265247604e-241Initial program 29.8
Simplified3.1
rmApplied associate-/r*2.8
rmApplied div-inv2.9
if 3.4016721265247604e-241 < sin Initial program 25.9
Simplified2.9
rmApplied associate-/r*2.7
Taylor expanded around inf 29.5
Simplified1.8
Final simplification2.3
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))