\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot e^{\log \left(e^{0.0 - im} + e^{im}\right)}double f(double re, double im) {
double r69238 = 0.5;
double r69239 = re;
double r69240 = sin(r69239);
double r69241 = r69238 * r69240;
double r69242 = 0.0;
double r69243 = im;
double r69244 = r69242 - r69243;
double r69245 = exp(r69244);
double r69246 = exp(r69243);
double r69247 = r69245 + r69246;
double r69248 = r69241 * r69247;
return r69248;
}
double f(double re, double im) {
double r69249 = 0.5;
double r69250 = re;
double r69251 = sin(r69250);
double r69252 = r69249 * r69251;
double r69253 = 0.0;
double r69254 = im;
double r69255 = r69253 - r69254;
double r69256 = exp(r69255);
double r69257 = exp(r69254);
double r69258 = r69256 + r69257;
double r69259 = log(r69258);
double r69260 = exp(r69259);
double r69261 = r69252 * r69260;
return r69261;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied add-exp-log0.0
Final simplification0.0
herbie shell --seed 2020036
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))