\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 -9.091033200776134 \cdot 10^{-145}:\\
\;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\
\mathbf{elif}\;x \le 5.235591676438192 \cdot 10^{-253}:\\
\;\;\;\;\frac{1}{\frac{\left(sin \cdot x\right) \cdot cos}{\cos \left(2 \cdot x\right)} \cdot \left(\left(sin \cdot x\right) \cdot cos\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\
\end{array}double f(double x, double cos, double sin) {
double r18407833 = 2.0;
double r18407834 = x;
double r18407835 = r18407833 * r18407834;
double r18407836 = cos(r18407835);
double r18407837 = cos;
double r18407838 = pow(r18407837, r18407833);
double r18407839 = sin;
double r18407840 = pow(r18407839, r18407833);
double r18407841 = r18407834 * r18407840;
double r18407842 = r18407841 * r18407834;
double r18407843 = r18407838 * r18407842;
double r18407844 = r18407836 / r18407843;
return r18407844;
}
double f(double x, double cos, double sin) {
double r18407845 = x;
double r18407846 = -9.091033200776134e-145;
bool r18407847 = r18407845 <= r18407846;
double r18407848 = cos(r18407845);
double r18407849 = r18407848 * r18407848;
double r18407850 = sin;
double r18407851 = r18407849 / r18407850;
double r18407852 = cos;
double r18407853 = r18407852 * r18407845;
double r18407854 = r18407851 / r18407853;
double r18407855 = r18407853 * r18407850;
double r18407856 = r18407854 / r18407855;
double r18407857 = sin(r18407845);
double r18407858 = r18407857 * r18407857;
double r18407859 = r18407858 / r18407850;
double r18407860 = r18407859 / r18407853;
double r18407861 = r18407860 / r18407855;
double r18407862 = r18407856 - r18407861;
double r18407863 = 5.235591676438192e-253;
bool r18407864 = r18407845 <= r18407863;
double r18407865 = 1.0;
double r18407866 = r18407850 * r18407845;
double r18407867 = r18407866 * r18407852;
double r18407868 = 2.0;
double r18407869 = r18407868 * r18407845;
double r18407870 = cos(r18407869);
double r18407871 = r18407867 / r18407870;
double r18407872 = r18407871 * r18407867;
double r18407873 = r18407865 / r18407872;
double r18407874 = r18407864 ? r18407873 : r18407862;
double r18407875 = r18407847 ? r18407862 : r18407874;
return r18407875;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
if x < -9.091033200776134e-145 or 5.235591676438192e-253 < x Initial program 25.0
Simplified2.4
rmApplied associate-/r*2.2
rmApplied associate-/r*2.2
rmApplied cos-22.2
Applied div-sub2.2
Applied div-sub2.2
Applied div-sub2.2
if -9.091033200776134e-145 < x < 5.235591676438192e-253Initial program 43.8
Simplified5.3
rmApplied associate-/r*5.0
rmApplied associate-/r*5.0
rmApplied clear-num5.3
Simplified5.1
Final simplification2.5
herbie shell --seed 2019125
(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))))