double f(double re, double im) {
double r289568 = 0.5;
double r289569 = re;
double r289570 = sin(r289569);
double r289571 = r289568 * r289570;
double r289572 = 0.0;
double r289573 = im;
double r289574 = r289572 - r289573;
double r289575 = exp(r289574);
double r289576 = exp(r289573);
double r289577 = r289575 + r289576;
double r289578 = r289571 * r289577;
return r289578;
}
double f(double re, double im) {
double r289579 = 0.5;
double r289580 = re;
double r289581 = sin(r289580);
double r289582 = im;
double r289583 = exp(r289582);
double r289584 = r289581 / r289583;
double r289585 = fma(r289581, r289583, r289584);
double r289586 = r289579 * r289585;
return r289586;
}
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)0.5 \cdot (\left(\sin re\right) \cdot \left(e^{im}\right) + \left(\frac{\sin re}{e^{im}}\right))_*


Bits error versus re



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