\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\frac{\sin re \cdot 0.5}{e^{im}} + \left(\sin re \cdot 0.5\right) \cdot e^{im}double f(double re, double im) {
double r648405 = 0.5;
double r648406 = re;
double r648407 = sin(r648406);
double r648408 = r648405 * r648407;
double r648409 = 0.0;
double r648410 = im;
double r648411 = r648409 - r648410;
double r648412 = exp(r648411);
double r648413 = exp(r648410);
double r648414 = r648412 + r648413;
double r648415 = r648408 * r648414;
return r648415;
}
double f(double re, double im) {
double r648416 = re;
double r648417 = sin(r648416);
double r648418 = 0.5;
double r648419 = r648417 * r648418;
double r648420 = im;
double r648421 = exp(r648420);
double r648422 = r648419 / r648421;
double r648423 = r648419 * r648421;
double r648424 = r648422 + r648423;
return r648424;
}



Bits error versus re



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