\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\frac{\left(0.5 \cdot \sin re\right) \cdot e^{0.0}}{e^{im}} + \left(0.5 \cdot \sin re\right) \cdot e^{im}double f(double re, double im) {
double r24484 = 0.5;
double r24485 = re;
double r24486 = sin(r24485);
double r24487 = r24484 * r24486;
double r24488 = 0.0;
double r24489 = im;
double r24490 = r24488 - r24489;
double r24491 = exp(r24490);
double r24492 = exp(r24489);
double r24493 = r24491 + r24492;
double r24494 = r24487 * r24493;
return r24494;
}
double f(double re, double im) {
double r24495 = 0.5;
double r24496 = re;
double r24497 = sin(r24496);
double r24498 = r24495 * r24497;
double r24499 = 0.0;
double r24500 = exp(r24499);
double r24501 = r24498 * r24500;
double r24502 = im;
double r24503 = exp(r24502);
double r24504 = r24501 / r24503;
double r24505 = r24498 * r24503;
double r24506 = r24504 + r24505;
return r24506;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
rmApplied exp-diff0.0
Applied associate-*r/0.0
Final simplification0.0
herbie shell --seed 2020001 +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))))