\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 r85036 = 0.5;
double r85037 = re;
double r85038 = sin(r85037);
double r85039 = r85036 * r85038;
double r85040 = 0.0;
double r85041 = im;
double r85042 = r85040 - r85041;
double r85043 = exp(r85042);
double r85044 = exp(r85041);
double r85045 = r85043 + r85044;
double r85046 = r85039 * r85045;
return r85046;
}
double f(double re, double im) {
double r85047 = 0.5;
double r85048 = re;
double r85049 = sin(r85048);
double r85050 = r85047 * r85049;
double r85051 = 0.0;
double r85052 = im;
double r85053 = r85051 - r85052;
double r85054 = exp(r85053);
double r85055 = exp(r85052);
double r85056 = r85054 + r85055;
double r85057 = r85050 * r85056;
return r85057;
}



Bits error versus re



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