\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 r300839 = 0.5;
double r300840 = re;
double r300841 = sin(r300840);
double r300842 = r300839 * r300841;
double r300843 = 0.0;
double r300844 = im;
double r300845 = r300843 - r300844;
double r300846 = exp(r300845);
double r300847 = exp(r300844);
double r300848 = r300846 + r300847;
double r300849 = r300842 * r300848;
return r300849;
}
double f(double re, double im) {
double r300850 = 0.5;
double r300851 = re;
double r300852 = sin(r300851);
double r300853 = r300850 * r300852;
double r300854 = im;
double r300855 = -r300854;
double r300856 = exp(r300855);
double r300857 = exp(r300854);
double r300858 = r300856 + r300857;
double r300859 = r300853 * r300858;
return r300859;
}



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))))