\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 r34532 = 0.5;
double r34533 = re;
double r34534 = cos(r34533);
double r34535 = r34532 * r34534;
double r34536 = im;
double r34537 = -r34536;
double r34538 = exp(r34537);
double r34539 = exp(r34536);
double r34540 = r34538 + r34539;
double r34541 = r34535 * r34540;
return r34541;
}
double f(double re, double im) {
double r34542 = 0.5;
double r34543 = re;
double r34544 = cos(r34543);
double r34545 = r34542 * r34544;
double r34546 = im;
double r34547 = -r34546;
double r34548 = exp(r34547);
double r34549 = exp(r34546);
double r34550 = r34548 + r34549;
double r34551 = r34545 * r34550;
return r34551;
}



Bits error versus re



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