\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\mathsf{fma}\left(e^{im}, \sin re \cdot 0.5, \frac{\sin re \cdot 0.5}{e^{im}}\right)double f(double re, double im) {
double r492007 = 0.5;
double r492008 = re;
double r492009 = sin(r492008);
double r492010 = r492007 * r492009;
double r492011 = 0.0;
double r492012 = im;
double r492013 = r492011 - r492012;
double r492014 = exp(r492013);
double r492015 = exp(r492012);
double r492016 = r492014 + r492015;
double r492017 = r492010 * r492016;
return r492017;
}
double f(double re, double im) {
double r492018 = im;
double r492019 = exp(r492018);
double r492020 = re;
double r492021 = sin(r492020);
double r492022 = 0.5;
double r492023 = r492021 * r492022;
double r492024 = r492023 / r492019;
double r492025 = fma(r492019, r492023, r492024);
return r492025;
}



Bits error versus re



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