\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 r27925 = 0.5;
double r27926 = re;
double r27927 = cos(r27926);
double r27928 = r27925 * r27927;
double r27929 = im;
double r27930 = -r27929;
double r27931 = exp(r27930);
double r27932 = exp(r27929);
double r27933 = r27931 + r27932;
double r27934 = r27928 * r27933;
return r27934;
}
double f(double re, double im) {
double r27935 = 0.5;
double r27936 = re;
double r27937 = cos(r27936);
double r27938 = r27935 * r27937;
double r27939 = im;
double r27940 = -r27939;
double r27941 = exp(r27940);
double r27942 = exp(r27939);
double r27943 = r27941 + r27942;
double r27944 = r27938 * r27943;
return r27944;
}



Bits error versus re



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