\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\frac{\left(0.5 \cdot \sin re\right) \cdot e^{0.0}}{e^{im}} + \left(0.5 \cdot \sin re\right) \cdot e^{im}double f(double re, double im) {
double r29009 = 0.5;
double r29010 = re;
double r29011 = sin(r29010);
double r29012 = r29009 * r29011;
double r29013 = 0.0;
double r29014 = im;
double r29015 = r29013 - r29014;
double r29016 = exp(r29015);
double r29017 = exp(r29014);
double r29018 = r29016 + r29017;
double r29019 = r29012 * r29018;
return r29019;
}
double f(double re, double im) {
double r29020 = 0.5;
double r29021 = re;
double r29022 = sin(r29021);
double r29023 = r29020 * r29022;
double r29024 = 0.0;
double r29025 = exp(r29024);
double r29026 = r29023 * r29025;
double r29027 = im;
double r29028 = exp(r29027);
double r29029 = r29026 / r29028;
double r29030 = r29023 * r29028;
double r29031 = r29029 + r29030;
return r29031;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
rmApplied distribute-lft-in0.0
rmApplied exp-diff0.0
Applied associate-*r/0.0
Final simplification0.0
herbie shell --seed 2020001
(FPCore (re im)
:name "math.sin on complex, real part"
:precision binary64
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))