\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\mathsf{fma}\left(\cos re, e^{im}, \frac{\cos re}{e^{im}}\right) \cdot 0.5double f(double re, double im) {
double r30466 = 0.5;
double r30467 = re;
double r30468 = cos(r30467);
double r30469 = r30466 * r30468;
double r30470 = im;
double r30471 = -r30470;
double r30472 = exp(r30471);
double r30473 = exp(r30470);
double r30474 = r30472 + r30473;
double r30475 = r30469 * r30474;
return r30475;
}
double f(double re, double im) {
double r30476 = re;
double r30477 = cos(r30476);
double r30478 = im;
double r30479 = exp(r30478);
double r30480 = r30477 / r30479;
double r30481 = fma(r30477, r30479, r30480);
double r30482 = 0.5;
double r30483 = r30481 * r30482;
return r30483;
}



Bits error versus re



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