\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)e^{0.0 - im} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)double f(double re, double im) {
double r12964 = 0.5;
double r12965 = re;
double r12966 = sin(r12965);
double r12967 = r12964 * r12966;
double r12968 = 0.0;
double r12969 = im;
double r12970 = r12968 - r12969;
double r12971 = exp(r12970);
double r12972 = exp(r12969);
double r12973 = r12971 + r12972;
double r12974 = r12967 * r12973;
return r12974;
}
double f(double re, double im) {
double r12975 = 0.0;
double r12976 = im;
double r12977 = r12975 - r12976;
double r12978 = exp(r12977);
double r12979 = 0.5;
double r12980 = re;
double r12981 = sin(r12980);
double r12982 = r12979 * r12981;
double r12983 = r12978 * r12982;
double r12984 = exp(r12976);
double r12985 = r12984 * r12982;
double r12986 = r12983 + r12985;
return r12986;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019212 +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))))