\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r874469 = 0.5;
double r874470 = re;
double r874471 = sin(r874470);
double r874472 = r874469 * r874471;
double r874473 = 0.0;
double r874474 = im;
double r874475 = r874473 - r874474;
double r874476 = exp(r874475);
double r874477 = exp(r874474);
double r874478 = r874476 + r874477;
double r874479 = r874472 * r874478;
return r874479;
}
double f(double re, double im) {
double r874480 = 0.5;
double r874481 = re;
double r874482 = sin(r874481);
double r874483 = r874480 * r874482;
double r874484 = im;
double r874485 = -r874484;
double r874486 = exp(r874485);
double r874487 = exp(r874484);
double r874488 = r874486 + r874487;
double r874489 = r874483 * r874488;
return r874489;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019128 +o rules:numerics
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))