\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \mathsf{fma}\left(\sqrt[3]{e^{0.0 - im}} \cdot \sqrt[3]{e^{0.0 - im}}, \sqrt[3]{e^{0.0 - im}}, e^{im}\right)double f(double re, double im) {
double r35446 = 0.5;
double r35447 = re;
double r35448 = sin(r35447);
double r35449 = r35446 * r35448;
double r35450 = 0.0;
double r35451 = im;
double r35452 = r35450 - r35451;
double r35453 = exp(r35452);
double r35454 = exp(r35451);
double r35455 = r35453 + r35454;
double r35456 = r35449 * r35455;
return r35456;
}
double f(double re, double im) {
double r35457 = 0.5;
double r35458 = re;
double r35459 = sin(r35458);
double r35460 = r35457 * r35459;
double r35461 = 0.0;
double r35462 = im;
double r35463 = r35461 - r35462;
double r35464 = exp(r35463);
double r35465 = cbrt(r35464);
double r35466 = r35465 * r35465;
double r35467 = exp(r35462);
double r35468 = fma(r35466, r35465, r35467);
double r35469 = r35460 * r35468;
return r35469;
}



Bits error versus re



Bits error versus im
Initial program 0.0
rmApplied add-cube-cbrt0.1
Applied fma-def0.1
Final simplification0.1
herbie shell --seed 2020060 +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))))