\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 r16593 = 0.5;
double r16594 = re;
double r16595 = sin(r16594);
double r16596 = r16593 * r16595;
double r16597 = 0.0;
double r16598 = im;
double r16599 = r16597 - r16598;
double r16600 = exp(r16599);
double r16601 = exp(r16598);
double r16602 = r16600 + r16601;
double r16603 = r16596 * r16602;
return r16603;
}
double f(double re, double im) {
double r16604 = 0.5;
double r16605 = re;
double r16606 = sin(r16605);
double r16607 = r16604 * r16606;
double r16608 = 0.0;
double r16609 = im;
double r16610 = r16608 - r16609;
double r16611 = exp(r16610);
double r16612 = exp(r16609);
double r16613 = r16611 + r16612;
double r16614 = r16607 * r16613;
return r16614;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019306 +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))))