\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\cos re \cdot \frac{0.5}{e^{im}} + \left(\cos re \cdot 0.5\right) \cdot e^{im}double f(double re, double im) {
double r40997 = 0.5;
double r40998 = re;
double r40999 = cos(r40998);
double r41000 = r40997 * r40999;
double r41001 = im;
double r41002 = -r41001;
double r41003 = exp(r41002);
double r41004 = exp(r41001);
double r41005 = r41003 + r41004;
double r41006 = r41000 * r41005;
return r41006;
}
double f(double re, double im) {
double r41007 = re;
double r41008 = cos(r41007);
double r41009 = 0.5;
double r41010 = im;
double r41011 = exp(r41010);
double r41012 = r41009 / r41011;
double r41013 = r41008 * r41012;
double r41014 = r41008 * r41009;
double r41015 = r41014 * r41011;
double r41016 = r41013 + r41015;
return r41016;
}



Bits error versus re



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