\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 r45483 = 0.5;
double r45484 = re;
double r45485 = cos(r45484);
double r45486 = r45483 * r45485;
double r45487 = im;
double r45488 = -r45487;
double r45489 = exp(r45488);
double r45490 = exp(r45487);
double r45491 = r45489 + r45490;
double r45492 = r45486 * r45491;
return r45492;
}
double f(double re, double im) {
double r45493 = 0.5;
double r45494 = re;
double r45495 = cos(r45494);
double r45496 = r45493 * r45495;
double r45497 = im;
double r45498 = -r45497;
double r45499 = exp(r45498);
double r45500 = exp(r45497);
double r45501 = r45499 + r45500;
double r45502 = r45496 * r45501;
return r45502;
}



Bits error versus re



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