\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)0.5 \cdot \left(\sin re \cdot \frac{\frac{\frac{1}{e^{im} \cdot e^{im}}}{e^{im}} + e^{im} \cdot \left(e^{im} \cdot e^{im}\right)}{e^{im} \cdot e^{im} + \left(\frac{1}{e^{im} \cdot e^{im}} - 1\right)}\right)double f(double re, double im) {
double r430456 = 0.5;
double r430457 = re;
double r430458 = sin(r430457);
double r430459 = r430456 * r430458;
double r430460 = 0.0;
double r430461 = im;
double r430462 = r430460 - r430461;
double r430463 = exp(r430462);
double r430464 = exp(r430461);
double r430465 = r430463 + r430464;
double r430466 = r430459 * r430465;
return r430466;
}
double f(double re, double im) {
double r430467 = 0.5;
double r430468 = re;
double r430469 = sin(r430468);
double r430470 = 1.0;
double r430471 = im;
double r430472 = exp(r430471);
double r430473 = r430472 * r430472;
double r430474 = r430470 / r430473;
double r430475 = r430474 / r430472;
double r430476 = r430472 * r430473;
double r430477 = r430475 + r430476;
double r430478 = r430474 - r430470;
double r430479 = r430473 + r430478;
double r430480 = r430477 / r430479;
double r430481 = r430469 * r430480;
double r430482 = r430467 * r430481;
return r430482;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied distribute-lft-out0.0
rmApplied flip3-+0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019137
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))