\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 r25998 = 0.5;
double r25999 = re;
double r26000 = sin(r25999);
double r26001 = r25998 * r26000;
double r26002 = 0.0;
double r26003 = im;
double r26004 = r26002 - r26003;
double r26005 = exp(r26004);
double r26006 = exp(r26003);
double r26007 = r26005 + r26006;
double r26008 = r26001 * r26007;
return r26008;
}
double f(double re, double im) {
double r26009 = 0.5;
double r26010 = re;
double r26011 = sin(r26010);
double r26012 = r26009 * r26011;
double r26013 = 0.0;
double r26014 = im;
double r26015 = r26013 - r26014;
double r26016 = exp(r26015);
double r26017 = exp(r26014);
double r26018 = r26016 + r26017;
double r26019 = r26012 * r26018;
return r26019;
}



Bits error versus re



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