\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^{-1 \cdot im} + e^{im}\right)double f(double re, double im) {
double r28969 = 0.5;
double r28970 = re;
double r28971 = sin(r28970);
double r28972 = r28969 * r28971;
double r28973 = 0.0;
double r28974 = im;
double r28975 = r28973 - r28974;
double r28976 = exp(r28975);
double r28977 = exp(r28974);
double r28978 = r28976 + r28977;
double r28979 = r28972 * r28978;
return r28979;
}
double f(double re, double im) {
double r28980 = 0.5;
double r28981 = re;
double r28982 = sin(r28981);
double r28983 = r28980 * r28982;
double r28984 = -1.0;
double r28985 = im;
double r28986 = r28984 * r28985;
double r28987 = exp(r28986);
double r28988 = exp(r28985);
double r28989 = r28987 + r28988;
double r28990 = r28983 * r28989;
return r28990;
}



Bits error versus re



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