double f(double re, double im) {
double r1206537 = 0.5;
double r1206538 = re;
double r1206539 = sin(r1206538);
double r1206540 = r1206537 * r1206539;
double r1206541 = 0.0;
double r1206542 = im;
double r1206543 = r1206541 - r1206542;
double r1206544 = exp(r1206543);
double r1206545 = exp(r1206542);
double r1206546 = r1206544 + r1206545;
double r1206547 = r1206540 * r1206546;
return r1206547;
}
double f(double re, double im) {
double r1206548 = 0.5;
double r1206549 = re;
double r1206550 = sin(r1206549);
double r1206551 = im;
double r1206552 = exp(r1206551);
double r1206553 = r1206550 / r1206552;
double r1206554 = fma(r1206550, r1206552, r1206553);
double r1206555 = r1206548 * r1206554;
return r1206555;
}
\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 2019102 +o rules:numerics
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))