\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 r18331 = 0.5;
double r18332 = re;
double r18333 = sin(r18332);
double r18334 = r18331 * r18333;
double r18335 = 0.0;
double r18336 = im;
double r18337 = r18335 - r18336;
double r18338 = exp(r18337);
double r18339 = exp(r18336);
double r18340 = r18338 + r18339;
double r18341 = r18334 * r18340;
return r18341;
}
double f(double re, double im) {
double r18342 = 0.5;
double r18343 = re;
double r18344 = sin(r18343);
double r18345 = r18342 * r18344;
double r18346 = 0.0;
double r18347 = im;
double r18348 = r18346 - r18347;
double r18349 = exp(r18348);
double r18350 = r18345 * r18349;
double r18351 = exp(r18347);
double r18352 = r18345 * r18351;
double r18353 = r18350 + r18352;
return r18353;
}



Bits error versus re



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