\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\mathsf{fma}\left(e^{im}, 0.5, \sqrt{0.5} \cdot \frac{\sqrt{0.5}}{e^{im}}\right) \cdot \sin redouble f(double re, double im) {
double r313692 = 0.5;
double r313693 = re;
double r313694 = sin(r313693);
double r313695 = r313692 * r313694;
double r313696 = 0.0;
double r313697 = im;
double r313698 = r313696 - r313697;
double r313699 = exp(r313698);
double r313700 = exp(r313697);
double r313701 = r313699 + r313700;
double r313702 = r313695 * r313701;
return r313702;
}
double f(double re, double im) {
double r313703 = im;
double r313704 = exp(r313703);
double r313705 = 0.5;
double r313706 = sqrt(r313705);
double r313707 = r313706 / r313704;
double r313708 = r313706 * r313707;
double r313709 = fma(r313704, r313705, r313708);
double r313710 = re;
double r313711 = sin(r313710);
double r313712 = r313709 * r313711;
return r313712;
}



Bits error versus re



Bits error versus im
Initial program 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied add-sqr-sqrt0.1
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019154 +o rules:numerics
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im))))