\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot e^{0.0 - im} + \left(0.5 \cdot \sin re\right) \cdot e^{im}double f(double re, double im) {
double r37597 = 0.5;
double r37598 = re;
double r37599 = sin(r37598);
double r37600 = r37597 * r37599;
double r37601 = 0.0;
double r37602 = im;
double r37603 = r37601 - r37602;
double r37604 = exp(r37603);
double r37605 = exp(r37602);
double r37606 = r37604 + r37605;
double r37607 = r37600 * r37606;
return r37607;
}
double f(double re, double im) {
double r37608 = 0.5;
double r37609 = re;
double r37610 = sin(r37609);
double r37611 = r37608 * r37610;
double r37612 = 0.0;
double r37613 = im;
double r37614 = r37612 - r37613;
double r37615 = exp(r37614);
double r37616 = r37611 * r37615;
double r37617 = exp(r37613);
double r37618 = r37611 * r37617;
double r37619 = r37616 + r37618;
return r37619;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.1
rmApplied distribute-lft-in0.1
Final simplification0.1
herbie shell --seed 2019322
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))