\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{-im} + e^{im}\right)double f(double re, double im) {
double r916214 = 0.5;
double r916215 = re;
double r916216 = sin(r916215);
double r916217 = r916214 * r916216;
double r916218 = 0.0;
double r916219 = im;
double r916220 = r916218 - r916219;
double r916221 = exp(r916220);
double r916222 = exp(r916219);
double r916223 = r916221 + r916222;
double r916224 = r916217 * r916223;
return r916224;
}
double f(double re, double im) {
double r916225 = 0.5;
double r916226 = re;
double r916227 = sin(r916226);
double r916228 = r916225 * r916227;
double r916229 = im;
double r916230 = -r916229;
double r916231 = exp(r916230);
double r916232 = exp(r916229);
double r916233 = r916231 + r916232;
double r916234 = r916228 * r916233;
return r916234;
}



Bits error versus re



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