\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 r46935 = 0.5;
double r46936 = re;
double r46937 = cos(r46936);
double r46938 = r46935 * r46937;
double r46939 = im;
double r46940 = -r46939;
double r46941 = exp(r46940);
double r46942 = exp(r46939);
double r46943 = r46941 + r46942;
double r46944 = r46938 * r46943;
return r46944;
}
double f(double re, double im) {
double r46945 = 0.5;
double r46946 = re;
double r46947 = cos(r46946);
double r46948 = r46945 * r46947;
double r46949 = im;
double r46950 = -r46949;
double r46951 = exp(r46950);
double r46952 = exp(r46949);
double r46953 = r46951 + r46952;
double r46954 = r46948 * r46953;
return r46954;
}



Bits error versus re



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