\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 r42183 = 0.5;
double r42184 = re;
double r42185 = cos(r42184);
double r42186 = r42183 * r42185;
double r42187 = im;
double r42188 = -r42187;
double r42189 = exp(r42188);
double r42190 = exp(r42187);
double r42191 = r42189 + r42190;
double r42192 = r42186 * r42191;
return r42192;
}
double f(double re, double im) {
double r42193 = 0.5;
double r42194 = re;
double r42195 = cos(r42194);
double r42196 = r42193 * r42195;
double r42197 = im;
double r42198 = -r42197;
double r42199 = exp(r42198);
double r42200 = exp(r42197);
double r42201 = r42199 + r42200;
double r42202 = r42196 * r42201;
return r42202;
}



Bits error versus re



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