\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r3879064 = 0.5;
double r3879065 = re;
double r3879066 = sin(r3879065);
double r3879067 = r3879064 * r3879066;
double r3879068 = 0.0;
double r3879069 = im;
double r3879070 = r3879068 - r3879069;
double r3879071 = exp(r3879070);
double r3879072 = exp(r3879069);
double r3879073 = r3879071 + r3879072;
double r3879074 = r3879067 * r3879073;
return r3879074;
}
double f(double re, double im) {
double r3879075 = 0.5;
double r3879076 = re;
double r3879077 = sin(r3879076);
double r3879078 = r3879075 * r3879077;
double r3879079 = 0.0;
double r3879080 = im;
double r3879081 = r3879079 - r3879080;
double r3879082 = exp(r3879081);
double r3879083 = exp(r3879080);
double r3879084 = r3879082 + r3879083;
double r3879085 = r3879078 * r3879084;
return r3879085;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019173
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))