\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(\left(0.5 \cdot \sin re\right) \cdot \left({\left(e^{0.0 - im}\right)}^{3} + {\left(e^{im}\right)}^{3}\right)\right) \cdot \frac{1}{\mathsf{fma}\left(e^{im}, e^{im} - e^{0.0 - im}, {\left(e^{0.0 - im}\right)}^{2}\right)}double f(double re, double im) {
double r96037 = 0.5;
double r96038 = re;
double r96039 = sin(r96038);
double r96040 = r96037 * r96039;
double r96041 = 0.0;
double r96042 = im;
double r96043 = r96041 - r96042;
double r96044 = exp(r96043);
double r96045 = exp(r96042);
double r96046 = r96044 + r96045;
double r96047 = r96040 * r96046;
return r96047;
}
double f(double re, double im) {
double r96048 = 0.5;
double r96049 = re;
double r96050 = sin(r96049);
double r96051 = r96048 * r96050;
double r96052 = 0.0;
double r96053 = im;
double r96054 = r96052 - r96053;
double r96055 = exp(r96054);
double r96056 = 3.0;
double r96057 = pow(r96055, r96056);
double r96058 = exp(r96053);
double r96059 = pow(r96058, r96056);
double r96060 = r96057 + r96059;
double r96061 = r96051 * r96060;
double r96062 = 1.0;
double r96063 = r96058 - r96055;
double r96064 = 2.0;
double r96065 = pow(r96055, r96064);
double r96066 = fma(r96058, r96063, r96065);
double r96067 = r96062 / r96066;
double r96068 = r96061 * r96067;
return r96068;
}



Bits error versus re



Bits error versus im
Initial program 0.0
rmApplied flip3-+0.1
Applied associate-*r/0.1
rmApplied div-inv0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020045 +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))))