\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}\begin{array}{l}
\mathbf{if}\;c \le -1.8687719630024611 \cdot 10^{-152} \lor \neg \left(c \le 3.5729429666998667 \cdot 10^{-270}\right):\\
\;\;\;\;\frac{\frac{1}{\sqrt{\left|{c}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {s}^{\left(\frac{2}{2}\right)}\right)\right|}}}{\sqrt{\left|{c}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {s}^{\left(\frac{2}{2}\right)}\right)\right|}} \cdot \frac{\cos \left(2 \cdot x\right)}{\left|{c}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {s}^{\left(\frac{2}{2}\right)}\right)\right|}\\
\mathbf{else}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{{\left(\left|{\left({s}^{1} \cdot {c}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}\\
\end{array}double code(double x, double c, double s) {
return ((double) (((double) cos(((double) (2.0 * x)))) / ((double) (((double) pow(c, 2.0)) * ((double) (((double) (x * ((double) pow(s, 2.0)))) * x))))));
}
double code(double x, double c, double s) {
double VAR;
if (((c <= -1.8687719630024611e-152) || !(c <= 3.5729429666998667e-270))) {
VAR = ((double) (((double) (((double) (1.0 / ((double) sqrt(((double) fabs(((double) (((double) pow(c, ((double) (2.0 / 2.0)))) * ((double) (x * ((double) pow(s, ((double) (2.0 / 2.0)))))))))))))) / ((double) sqrt(((double) fabs(((double) (((double) pow(c, ((double) (2.0 / 2.0)))) * ((double) (x * ((double) pow(s, ((double) (2.0 / 2.0)))))))))))))) * ((double) (((double) cos(((double) (2.0 * x)))) / ((double) fabs(((double) (((double) pow(c, ((double) (2.0 / 2.0)))) * ((double) (x * ((double) pow(s, ((double) (2.0 / 2.0))))))))))))));
} else {
VAR = ((double) (((double) cos(((double) (2.0 * x)))) / ((double) pow(((double) fabs(((double) (((double) pow(((double) (((double) pow(s, 1.0)) * ((double) pow(c, 1.0)))), 1.0)) * x)))), 2.0))));
}
return VAR;
}



Bits error versus x



Bits error versus c



Bits error versus s
Results
if c < -1.8687719630024611e-152 or 3.5729429666998667e-270 < c Initial program 24.6
rmApplied sqr-pow24.6
Applied associate-*r*17.7
rmApplied add-sqr-sqrt17.8
Simplified17.7
Simplified2.1
rmApplied *-un-lft-identity2.1
Applied times-frac1.8
rmApplied add-sqr-sqrt1.9
Applied associate-/r*1.9
if -1.8687719630024611e-152 < c < 3.5729429666998667e-270Initial program 61.9
rmApplied sqr-pow61.9
Applied associate-*r*61.9
rmApplied add-sqr-sqrt61.9
Simplified61.9
Simplified9.2
Taylor expanded around inf 6.5
Final simplification2.3
herbie shell --seed 2020149
(FPCore (x c s)
:name "mixedcos"
:precision binary64
(/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))