\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)double f(double re, double im) {
double r1865023 = 0.5;
double r1865024 = re;
double r1865025 = cos(r1865024);
double r1865026 = r1865023 * r1865025;
double r1865027 = im;
double r1865028 = -r1865027;
double r1865029 = exp(r1865028);
double r1865030 = exp(r1865027);
double r1865031 = r1865029 + r1865030;
double r1865032 = r1865026 * r1865031;
return r1865032;
}
double f(double re, double im) {
double r1865033 = im;
double r1865034 = exp(r1865033);
double r1865035 = -r1865033;
double r1865036 = exp(r1865035);
double r1865037 = r1865034 + r1865036;
double r1865038 = 0.5;
double r1865039 = re;
double r1865040 = cos(r1865039);
double r1865041 = r1865038 * r1865040;
double r1865042 = r1865037 * r1865041;
return r1865042;
}



Bits error versus re



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