\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 r4508734 = 0.5;
double r4508735 = re;
double r4508736 = sin(r4508735);
double r4508737 = r4508734 * r4508736;
double r4508738 = 0.0;
double r4508739 = im;
double r4508740 = r4508738 - r4508739;
double r4508741 = exp(r4508740);
double r4508742 = exp(r4508739);
double r4508743 = r4508741 + r4508742;
double r4508744 = r4508737 * r4508743;
return r4508744;
}
double f(double re, double im) {
double r4508745 = 0.5;
double r4508746 = re;
double r4508747 = sin(r4508746);
double r4508748 = r4508745 * r4508747;
double r4508749 = im;
double r4508750 = -r4508749;
double r4508751 = exp(r4508750);
double r4508752 = exp(r4508749);
double r4508753 = r4508751 + r4508752;
double r4508754 = r4508748 * r4508753;
return r4508754;
}



Bits error versus re



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