\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 r49487 = 0.5;
double r49488 = re;
double r49489 = cos(r49488);
double r49490 = r49487 * r49489;
double r49491 = im;
double r49492 = -r49491;
double r49493 = exp(r49492);
double r49494 = exp(r49491);
double r49495 = r49493 + r49494;
double r49496 = r49490 * r49495;
return r49496;
}
double f(double re, double im) {
double r49497 = 0.5;
double r49498 = re;
double r49499 = cos(r49498);
double r49500 = r49497 * r49499;
double r49501 = im;
double r49502 = -r49501;
double r49503 = exp(r49502);
double r49504 = exp(r49501);
double r49505 = r49503 + r49504;
double r49506 = r49500 * r49505;
return r49506;
}



Bits error versus re



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