\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r45354 = 0.5;
double r45355 = re;
double r45356 = cos(r45355);
double r45357 = r45354 * r45356;
double r45358 = im;
double r45359 = -r45358;
double r45360 = exp(r45359);
double r45361 = exp(r45358);
double r45362 = r45360 + r45361;
double r45363 = r45357 * r45362;
return r45363;
}
double f(double re, double im) {
double r45364 = 0.5;
double r45365 = re;
double r45366 = cos(r45365);
double r45367 = r45364 * r45366;
double r45368 = im;
double r45369 = -r45368;
double r45370 = exp(r45369);
double r45371 = exp(r45368);
double r45372 = r45370 + r45371;
double r45373 = r45367 * r45372;
return r45373;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020100
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))