\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 r2149350 = 0.5;
double r2149351 = re;
double r2149352 = cos(r2149351);
double r2149353 = r2149350 * r2149352;
double r2149354 = im;
double r2149355 = -r2149354;
double r2149356 = exp(r2149355);
double r2149357 = exp(r2149354);
double r2149358 = r2149356 + r2149357;
double r2149359 = r2149353 * r2149358;
return r2149359;
}
double f(double re, double im) {
double r2149360 = re;
double r2149361 = cos(r2149360);
double r2149362 = im;
double r2149363 = exp(r2149362);
double r2149364 = r2149361 / r2149363;
double r2149365 = fma(r2149361, r2149363, r2149364);
double r2149366 = 0.5;
double r2149367 = r2149365 * r2149366;
return r2149367;
}



Bits error versus re



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