\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)0.5 \cdot \left(\left(e^{-1 \cdot im} + e^{im}\right) \cdot \sin re\right)double f(double re, double im) {
double r79967 = 0.5;
double r79968 = re;
double r79969 = sin(r79968);
double r79970 = r79967 * r79969;
double r79971 = 0.0;
double r79972 = im;
double r79973 = r79971 - r79972;
double r79974 = exp(r79973);
double r79975 = exp(r79972);
double r79976 = r79974 + r79975;
double r79977 = r79970 * r79976;
return r79977;
}
double f(double re, double im) {
double r79978 = 0.5;
double r79979 = -1.0;
double r79980 = im;
double r79981 = r79979 * r79980;
double r79982 = exp(r79981);
double r79983 = exp(r79980);
double r79984 = r79982 + r79983;
double r79985 = re;
double r79986 = sin(r79985);
double r79987 = r79984 * r79986;
double r79988 = r79978 * r79987;
return r79988;
}



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 2019318
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))