\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 r28491 = 0.5;
double r28492 = re;
double r28493 = cos(r28492);
double r28494 = r28491 * r28493;
double r28495 = im;
double r28496 = -r28495;
double r28497 = exp(r28496);
double r28498 = exp(r28495);
double r28499 = r28497 + r28498;
double r28500 = r28494 * r28499;
return r28500;
}
double f(double re, double im) {
double r28501 = 0.5;
double r28502 = re;
double r28503 = cos(r28502);
double r28504 = r28501 * r28503;
double r28505 = im;
double r28506 = -r28505;
double r28507 = exp(r28506);
double r28508 = exp(r28505);
double r28509 = r28507 + r28508;
double r28510 = r28504 * r28509;
return r28510;
}



Bits error versus re



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