\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 r21297 = 0.5;
double r21298 = re;
double r21299 = sin(r21298);
double r21300 = r21297 * r21299;
double r21301 = 0.0;
double r21302 = im;
double r21303 = r21301 - r21302;
double r21304 = exp(r21303);
double r21305 = exp(r21302);
double r21306 = r21304 + r21305;
double r21307 = r21300 * r21306;
return r21307;
}
double f(double re, double im) {
double r21308 = 0.5;
double r21309 = re;
double r21310 = sin(r21309);
double r21311 = r21308 * r21310;
double r21312 = 0.0;
double r21313 = im;
double r21314 = r21312 - r21313;
double r21315 = exp(r21314);
double r21316 = exp(r21313);
double r21317 = r21315 + r21316;
double r21318 = r21311 * r21317;
return r21318;
}



Bits error versus re



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