\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r31459 = 0.5;
double r31460 = re;
double r31461 = sin(r31460);
double r31462 = r31459 * r31461;
double r31463 = 0.0;
double r31464 = im;
double r31465 = r31463 - r31464;
double r31466 = exp(r31465);
double r31467 = exp(r31464);
double r31468 = r31466 + r31467;
double r31469 = r31462 * r31468;
return r31469;
}
double f(double re, double im) {
double r31470 = 0.5;
double r31471 = re;
double r31472 = sin(r31471);
double r31473 = r31470 * r31472;
double r31474 = 0.0;
double r31475 = im;
double r31476 = r31474 - r31475;
double r31477 = exp(r31476);
double r31478 = exp(r31475);
double r31479 = r31477 + r31478;
double r31480 = r31473 * r31479;
return r31480;
}



Bits error versus re



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