\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 r12974 = 0.5;
double r12975 = re;
double r12976 = sin(r12975);
double r12977 = r12974 * r12976;
double r12978 = 0.0;
double r12979 = im;
double r12980 = r12978 - r12979;
double r12981 = exp(r12980);
double r12982 = exp(r12979);
double r12983 = r12981 + r12982;
double r12984 = r12977 * r12983;
return r12984;
}
double f(double re, double im) {
double r12985 = 0.5;
double r12986 = re;
double r12987 = sin(r12986);
double r12988 = r12985 * r12987;
double r12989 = 0.0;
double r12990 = im;
double r12991 = r12989 - r12990;
double r12992 = exp(r12991);
double r12993 = exp(r12990);
double r12994 = r12992 + r12993;
double r12995 = r12988 * r12994;
return r12995;
}



Bits error versus re



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