\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\mathsf{fma}\left(\cos re, e^{im}, \frac{\cos re}{e^{im}}\right) \cdot 0.5double f(double re, double im) {
double r29874 = 0.5;
double r29875 = re;
double r29876 = cos(r29875);
double r29877 = r29874 * r29876;
double r29878 = im;
double r29879 = -r29878;
double r29880 = exp(r29879);
double r29881 = exp(r29878);
double r29882 = r29880 + r29881;
double r29883 = r29877 * r29882;
return r29883;
}
double f(double re, double im) {
double r29884 = re;
double r29885 = cos(r29884);
double r29886 = im;
double r29887 = exp(r29886);
double r29888 = r29885 / r29887;
double r29889 = fma(r29885, r29887, r29888);
double r29890 = 0.5;
double r29891 = r29889 * r29890;
return r29891;
}



Bits error versus re



Bits error versus im
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019303 +o rules:numerics
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))