\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 r12990 = 0.5;
double r12991 = re;
double r12992 = sin(r12991);
double r12993 = r12990 * r12992;
double r12994 = 0.0;
double r12995 = im;
double r12996 = r12994 - r12995;
double r12997 = exp(r12996);
double r12998 = exp(r12995);
double r12999 = r12997 + r12998;
double r13000 = r12993 * r12999;
return r13000;
}
double f(double re, double im) {
double r13001 = 0.5;
double r13002 = re;
double r13003 = sin(r13002);
double r13004 = r13001 * r13003;
double r13005 = 0.0;
double r13006 = im;
double r13007 = r13005 - r13006;
double r13008 = exp(r13007);
double r13009 = exp(r13006);
double r13010 = r13008 + r13009;
double r13011 = r13004 * r13010;
return r13011;
}



Bits error versus re



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