\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r306639 = 0.5;
double r306640 = re;
double r306641 = sin(r306640);
double r306642 = r306639 * r306641;
double r306643 = 0.0;
double r306644 = im;
double r306645 = r306643 - r306644;
double r306646 = exp(r306645);
double r306647 = exp(r306644);
double r306648 = r306646 + r306647;
double r306649 = r306642 * r306648;
return r306649;
}
double f(double re, double im) {
double r306650 = 0.5;
double r306651 = re;
double r306652 = sin(r306651);
double r306653 = r306650 * r306652;
double r306654 = im;
double r306655 = -r306654;
double r306656 = exp(r306655);
double r306657 = exp(r306654);
double r306658 = r306656 + r306657;
double r306659 = r306653 * r306658;
return r306659;
}



Bits error versus re



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