double f(double re, double im) {
double r2283846 = 0.5;
double r2283847 = re;
double r2283848 = cos(r2283847);
double r2283849 = r2283846 * r2283848;
double r2283850 = im;
double r2283851 = -r2283850;
double r2283852 = exp(r2283851);
double r2283853 = exp(r2283850);
double r2283854 = r2283852 + r2283853;
double r2283855 = r2283849 * r2283854;
return r2283855;
}
double f(double re, double im) {
double r2283856 = im;
double r2283857 = exp(r2283856);
double r2283858 = re;
double r2283859 = cos(r2283858);
double r2283860 = 0.5;
double r2283861 = r2283859 * r2283860;
double r2283862 = 1.0;
double r2283863 = r2283862 / r2283857;
double r2283864 = r2283863 * r2283861;
double r2283865 = fma(r2283857, r2283861, r2283864);
return r2283865;
}
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)(\left(e^{im}\right) \cdot \left(\cos re \cdot 0.5\right) + \left(\frac{1}{e^{im}} \cdot \left(\cos re \cdot 0.5\right)\right))_*


Bits error versus re



Bits error versus im
Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Final simplification0.0
herbie shell --seed 2019101 +o rules:numerics
(FPCore (re im)
:name "math.cos on complex, real part"
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))