\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{\left(0.5 \cdot \cos re\right) \cdot \left({\left(e^{-im}\right)}^{3} + {\left(e^{im}\right)}^{3}\right)}{e^{-im} \cdot e^{-im} + \left(e^{im} \cdot e^{im} - e^{-im} \cdot e^{im}\right)}double f(double re, double im) {
double r97474 = 0.5;
double r97475 = re;
double r97476 = cos(r97475);
double r97477 = r97474 * r97476;
double r97478 = im;
double r97479 = -r97478;
double r97480 = exp(r97479);
double r97481 = exp(r97478);
double r97482 = r97480 + r97481;
double r97483 = r97477 * r97482;
return r97483;
}
double f(double re, double im) {
double r97484 = 0.5;
double r97485 = re;
double r97486 = cos(r97485);
double r97487 = r97484 * r97486;
double r97488 = im;
double r97489 = -r97488;
double r97490 = exp(r97489);
double r97491 = 3.0;
double r97492 = pow(r97490, r97491);
double r97493 = exp(r97488);
double r97494 = pow(r97493, r97491);
double r97495 = r97492 + r97494;
double r97496 = r97487 * r97495;
double r97497 = r97490 * r97490;
double r97498 = r97493 * r97493;
double r97499 = r97490 * r97493;
double r97500 = r97498 - r97499;
double r97501 = r97497 + r97500;
double r97502 = r97496 / r97501;
return r97502;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied flip3-+0.1
Applied associate-*r/0.1
Final simplification0.1
herbie shell --seed 2020035
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))