\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\mathsf{fma}\left(\frac{1}{3}, {x}^{3}, \mathsf{fma}\left(\frac{1}{60}, {x}^{5}, 2 \cdot x\right)\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r54759 = x;
double r54760 = exp(r54759);
double r54761 = -r54759;
double r54762 = exp(r54761);
double r54763 = r54760 + r54762;
double r54764 = 2.0;
double r54765 = r54763 / r54764;
double r54766 = y;
double r54767 = cos(r54766);
double r54768 = r54765 * r54767;
double r54769 = r54760 - r54762;
double r54770 = r54769 / r54764;
double r54771 = sin(r54766);
double r54772 = r54770 * r54771;
double r54773 = /* ERROR: no complex support in C */;
double r54774 = /* ERROR: no complex support in C */;
return r54774;
}
double f(double x, double y) {
double r54775 = x;
double r54776 = exp(r54775);
double r54777 = -r54775;
double r54778 = exp(r54777);
double r54779 = r54776 + r54778;
double r54780 = 2.0;
double r54781 = r54779 / r54780;
double r54782 = y;
double r54783 = cos(r54782);
double r54784 = r54781 * r54783;
double r54785 = 0.3333333333333333;
double r54786 = 3.0;
double r54787 = pow(r54775, r54786);
double r54788 = 0.016666666666666666;
double r54789 = 5.0;
double r54790 = pow(r54775, r54789);
double r54791 = 2.0;
double r54792 = r54791 * r54775;
double r54793 = fma(r54788, r54790, r54792);
double r54794 = fma(r54785, r54787, r54793);
double r54795 = r54794 / r54780;
double r54796 = sin(r54782);
double r54797 = r54795 * r54796;
double r54798 = /* ERROR: no complex support in C */;
double r54799 = /* ERROR: no complex support in C */;
return r54799;
}



Bits error versus x



Bits error versus y
Initial program 43.9
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2020001 +o rules:numerics
(FPCore (x y)
:name "Euler formula imaginary part (p55)"
:precision binary64
(im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))