\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r20063 = 0.5;
double r20064 = re;
double r20065 = sin(r20064);
double r20066 = r20063 * r20065;
double r20067 = 0.0;
double r20068 = im;
double r20069 = r20067 - r20068;
double r20070 = exp(r20069);
double r20071 = exp(r20068);
double r20072 = r20070 + r20071;
double r20073 = r20066 * r20072;
return r20073;
}
double f(double re, double im) {
double r20074 = 0.5;
double r20075 = re;
double r20076 = sin(r20075);
double r20077 = r20074 * r20076;
double r20078 = 0.0;
double r20079 = im;
double r20080 = r20078 - r20079;
double r20081 = exp(r20080);
double r20082 = exp(r20079);
double r20083 = r20081 + r20082;
double r20084 = r20077 * r20083;
return r20084;
}



Bits error versus re



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