\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 r3006585 = 0.5;
double r3006586 = re;
double r3006587 = cos(r3006586);
double r3006588 = r3006585 * r3006587;
double r3006589 = im;
double r3006590 = -r3006589;
double r3006591 = exp(r3006590);
double r3006592 = exp(r3006589);
double r3006593 = r3006591 + r3006592;
double r3006594 = r3006588 * r3006593;
return r3006594;
}
double f(double re, double im) {
double r3006595 = 0.5;
double r3006596 = re;
double r3006597 = cos(r3006596);
double r3006598 = r3006595 * r3006597;
double r3006599 = im;
double r3006600 = -r3006599;
double r3006601 = exp(r3006600);
double r3006602 = exp(r3006599);
double r3006603 = r3006601 + r3006602;
double r3006604 = r3006598 * r3006603;
return r3006604;
}



Bits error versus re



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