\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(\left(0.5 \cdot \sqrt{e^{0.0 - im} + e^{im}}\right) \cdot \sin re\right) \cdot \sqrt{e^{0.0 - im} + e^{im}}double f(double re, double im) {
double r25900 = 0.5;
double r25901 = re;
double r25902 = sin(r25901);
double r25903 = r25900 * r25902;
double r25904 = 0.0;
double r25905 = im;
double r25906 = r25904 - r25905;
double r25907 = exp(r25906);
double r25908 = exp(r25905);
double r25909 = r25907 + r25908;
double r25910 = r25903 * r25909;
return r25910;
}
double f(double re, double im) {
double r25911 = 0.5;
double r25912 = 0.0;
double r25913 = im;
double r25914 = r25912 - r25913;
double r25915 = exp(r25914);
double r25916 = exp(r25913);
double r25917 = r25915 + r25916;
double r25918 = sqrt(r25917);
double r25919 = r25911 * r25918;
double r25920 = re;
double r25921 = sin(r25920);
double r25922 = r25919 * r25921;
double r25923 = r25922 * r25918;
return r25923;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt1.3
Applied associate-*r*0.9
Simplified0.9
Final simplification0.9
herbie shell --seed 2019179
(FPCore (re im)
:name "math.sin on complex, real part"
(* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))