\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)e^{0.0 - im} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)double f(double re, double im) {
double r12403 = 0.5;
double r12404 = re;
double r12405 = sin(r12404);
double r12406 = r12403 * r12405;
double r12407 = 0.0;
double r12408 = im;
double r12409 = r12407 - r12408;
double r12410 = exp(r12409);
double r12411 = exp(r12408);
double r12412 = r12410 + r12411;
double r12413 = r12406 * r12412;
return r12413;
}
double f(double re, double im) {
double r12414 = 0.0;
double r12415 = im;
double r12416 = r12414 - r12415;
double r12417 = exp(r12416);
double r12418 = 0.5;
double r12419 = re;
double r12420 = sin(r12419);
double r12421 = r12418 * r12420;
double r12422 = r12417 * r12421;
double r12423 = exp(r12415);
double r12424 = r12423 * r12421;
double r12425 = r12422 + r12424;
return r12425;
}



Bits error versus re



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