\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 r25060 = 0.5;
double r25061 = re;
double r25062 = cos(r25061);
double r25063 = r25060 * r25062;
double r25064 = im;
double r25065 = -r25064;
double r25066 = exp(r25065);
double r25067 = exp(r25064);
double r25068 = r25066 + r25067;
double r25069 = r25063 * r25068;
return r25069;
}
double f(double re, double im) {
double r25070 = 0.5;
double r25071 = re;
double r25072 = cos(r25071);
double r25073 = r25070 * r25072;
double r25074 = im;
double r25075 = -r25074;
double r25076 = exp(r25075);
double r25077 = exp(r25074);
double r25078 = r25076 + r25077;
double r25079 = r25073 * r25078;
return r25079;
}



Bits error versus re



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