\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.4141501599718892 \cdot 10^{-225}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{\left(\left(x \cdot sin\right) \cdot cos\right) \cdot \left(\left(x \cdot sin\right) \cdot cos\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{x \cdot cos}}{sin}}{sin \cdot \left(x \cdot cos\right)}\\
\end{array}double f(double x, double cos, double sin) {
double r1389802 = 2.0;
double r1389803 = x;
double r1389804 = r1389802 * r1389803;
double r1389805 = cos(r1389804);
double r1389806 = cos;
double r1389807 = pow(r1389806, r1389802);
double r1389808 = sin;
double r1389809 = pow(r1389808, r1389802);
double r1389810 = r1389803 * r1389809;
double r1389811 = r1389810 * r1389803;
double r1389812 = r1389807 * r1389811;
double r1389813 = r1389805 / r1389812;
return r1389813;
}
double f(double x, double cos, double sin) {
double r1389814 = sin;
double r1389815 = 1.4141501599718892e-225;
bool r1389816 = r1389814 <= r1389815;
double r1389817 = 2.0;
double r1389818 = x;
double r1389819 = r1389817 * r1389818;
double r1389820 = cos(r1389819);
double r1389821 = r1389818 * r1389814;
double r1389822 = cos;
double r1389823 = r1389821 * r1389822;
double r1389824 = r1389823 * r1389823;
double r1389825 = r1389820 / r1389824;
double r1389826 = r1389818 * r1389822;
double r1389827 = r1389820 / r1389826;
double r1389828 = r1389827 / r1389814;
double r1389829 = r1389814 * r1389826;
double r1389830 = r1389828 / r1389829;
double r1389831 = r1389816 ? r1389825 : r1389830;
return r1389831;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if sin < 1.4141501599718892e-225Initial program 29.6
Simplified4.0
Taylor expanded around inf 33.0
Simplified3.8
rmApplied associate-/r*3.9
Taylor expanded around inf 32.9
Simplified2.9
if 1.4141501599718892e-225 < sin Initial program 25.9
Simplified2.1
Taylor expanded around inf 29.3
Simplified1.8
rmApplied associate-/r*1.9
Final simplification2.4
herbie shell --seed 2019129
(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))))