\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 r33861 = 0.5;
double r33862 = re;
double r33863 = sin(r33862);
double r33864 = r33861 * r33863;
double r33865 = 0.0;
double r33866 = im;
double r33867 = r33865 - r33866;
double r33868 = exp(r33867);
double r33869 = exp(r33866);
double r33870 = r33868 + r33869;
double r33871 = r33864 * r33870;
return r33871;
}
double f(double re, double im) {
double r33872 = 0.5;
double r33873 = re;
double r33874 = sin(r33873);
double r33875 = r33872 * r33874;
double r33876 = 0.0;
double r33877 = im;
double r33878 = r33876 - r33877;
double r33879 = exp(r33878);
double r33880 = exp(r33877);
double r33881 = r33879 + r33880;
double r33882 = r33875 * r33881;
return r33882;
}



Bits error versus re



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