\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 r35565 = 0.5;
double r35566 = re;
double r35567 = cos(r35566);
double r35568 = r35565 * r35567;
double r35569 = im;
double r35570 = -r35569;
double r35571 = exp(r35570);
double r35572 = exp(r35569);
double r35573 = r35571 + r35572;
double r35574 = r35568 * r35573;
return r35574;
}
double f(double re, double im) {
double r35575 = 0.5;
double r35576 = re;
double r35577 = cos(r35576);
double r35578 = r35575 * r35577;
double r35579 = im;
double r35580 = -r35579;
double r35581 = exp(r35580);
double r35582 = exp(r35579);
double r35583 = r35581 + r35582;
double r35584 = r35578 * r35583;
return r35584;
}



Bits error versus re



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