\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 r60683 = 0.5;
double r60684 = re;
double r60685 = cos(r60684);
double r60686 = r60683 * r60685;
double r60687 = im;
double r60688 = -r60687;
double r60689 = exp(r60688);
double r60690 = exp(r60687);
double r60691 = r60689 + r60690;
double r60692 = r60686 * r60691;
return r60692;
}
double f(double re, double im) {
double r60693 = 0.5;
double r60694 = re;
double r60695 = cos(r60694);
double r60696 = r60693 * r60695;
double r60697 = im;
double r60698 = -r60697;
double r60699 = exp(r60698);
double r60700 = exp(r60697);
double r60701 = r60699 + r60700;
double r60702 = r60696 * r60701;
return r60702;
}



Bits error versus re



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