\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 r16353 = 0.5;
double r16354 = re;
double r16355 = sin(r16354);
double r16356 = r16353 * r16355;
double r16357 = 0.0;
double r16358 = im;
double r16359 = r16357 - r16358;
double r16360 = exp(r16359);
double r16361 = exp(r16358);
double r16362 = r16360 + r16361;
double r16363 = r16356 * r16362;
return r16363;
}
double f(double re, double im) {
double r16364 = 0.0;
double r16365 = im;
double r16366 = r16364 - r16365;
double r16367 = exp(r16366);
double r16368 = 0.5;
double r16369 = re;
double r16370 = sin(r16369);
double r16371 = r16368 * r16370;
double r16372 = r16367 * r16371;
double r16373 = exp(r16365);
double r16374 = r16373 * r16371;
double r16375 = r16372 + r16374;
return r16375;
}



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 2019208
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))