\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 r2405990 = 0.5;
double r2405991 = re;
double r2405992 = cos(r2405991);
double r2405993 = r2405990 * r2405992;
double r2405994 = im;
double r2405995 = -r2405994;
double r2405996 = exp(r2405995);
double r2405997 = exp(r2405994);
double r2405998 = r2405996 + r2405997;
double r2405999 = r2405993 * r2405998;
return r2405999;
}
double f(double re, double im) {
double r2406000 = im;
double r2406001 = exp(r2406000);
double r2406002 = -r2406000;
double r2406003 = exp(r2406002);
double r2406004 = r2406001 + r2406003;
double r2406005 = 0.5;
double r2406006 = re;
double r2406007 = cos(r2406006);
double r2406008 = r2406005 * r2406007;
double r2406009 = r2406004 * r2406008;
return r2406009;
}



Bits error versus re



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