\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)0.5 \cdot \mathsf{fma}\left(e^{im}, \cos re, \frac{\cos re}{e^{im}}\right)double f(double re, double im) {
double r39255 = 0.5;
double r39256 = re;
double r39257 = cos(r39256);
double r39258 = r39255 * r39257;
double r39259 = im;
double r39260 = -r39259;
double r39261 = exp(r39260);
double r39262 = exp(r39259);
double r39263 = r39261 + r39262;
double r39264 = r39258 * r39263;
return r39264;
}
double f(double re, double im) {
double r39265 = 0.5;
double r39266 = im;
double r39267 = exp(r39266);
double r39268 = re;
double r39269 = cos(r39268);
double r39270 = r39269 / r39267;
double r39271 = fma(r39267, r39269, r39270);
double r39272 = r39265 * r39271;
return r39272;
}



Bits error versus re



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