\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 r17966 = 0.5;
double r17967 = re;
double r17968 = sin(r17967);
double r17969 = r17966 * r17968;
double r17970 = 0.0;
double r17971 = im;
double r17972 = r17970 - r17971;
double r17973 = exp(r17972);
double r17974 = exp(r17971);
double r17975 = r17973 + r17974;
double r17976 = r17969 * r17975;
return r17976;
}
double f(double re, double im) {
double r17977 = 0.5;
double r17978 = re;
double r17979 = sin(r17978);
double r17980 = r17977 * r17979;
double r17981 = 0.0;
double r17982 = im;
double r17983 = r17981 - r17982;
double r17984 = exp(r17983);
double r17985 = exp(r17982);
double r17986 = r17984 + r17985;
double r17987 = r17980 * r17986;
return r17987;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020002 +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))))