\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 r32100 = 0.5;
double r32101 = re;
double r32102 = cos(r32101);
double r32103 = r32100 * r32102;
double r32104 = im;
double r32105 = -r32104;
double r32106 = exp(r32105);
double r32107 = exp(r32104);
double r32108 = r32106 + r32107;
double r32109 = r32103 * r32108;
return r32109;
}
double f(double re, double im) {
double r32110 = re;
double r32111 = cos(r32110);
double r32112 = im;
double r32113 = exp(r32112);
double r32114 = r32111 / r32113;
double r32115 = fma(r32111, r32113, r32114);
double r32116 = 0.5;
double r32117 = r32115 * r32116;
return r32117;
}



Bits error versus re



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