\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 r14949 = 0.5;
double r14950 = re;
double r14951 = sin(r14950);
double r14952 = r14949 * r14951;
double r14953 = 0.0;
double r14954 = im;
double r14955 = r14953 - r14954;
double r14956 = exp(r14955);
double r14957 = exp(r14954);
double r14958 = r14956 + r14957;
double r14959 = r14952 * r14958;
return r14959;
}
double f(double re, double im) {
double r14960 = 0.5;
double r14961 = re;
double r14962 = sin(r14961);
double r14963 = r14960 * r14962;
double r14964 = 0.0;
double r14965 = im;
double r14966 = r14964 - r14965;
double r14967 = exp(r14966);
double r14968 = exp(r14965);
double r14969 = r14967 + r14968;
double r14970 = r14963 * r14969;
return r14970;
}



Bits error versus re



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