\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot e^{0.0 - im} + \left(0.5 \cdot \sin re\right) \cdot e^{im}double f(double re, double im) {
double r20360 = 0.5;
double r20361 = re;
double r20362 = sin(r20361);
double r20363 = r20360 * r20362;
double r20364 = 0.0;
double r20365 = im;
double r20366 = r20364 - r20365;
double r20367 = exp(r20366);
double r20368 = exp(r20365);
double r20369 = r20367 + r20368;
double r20370 = r20363 * r20369;
return r20370;
}
double f(double re, double im) {
double r20371 = 0.5;
double r20372 = re;
double r20373 = sin(r20372);
double r20374 = r20371 * r20373;
double r20375 = 0.0;
double r20376 = im;
double r20377 = r20375 - r20376;
double r20378 = exp(r20377);
double r20379 = r20374 * r20378;
double r20380 = exp(r20376);
double r20381 = r20374 * r20380;
double r20382 = r20379 + r20381;
return r20382;
}



Bits error versus re



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