\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 r57747 = x;
double r57748 = exp(r57747);
double r57749 = -r57747;
double r57750 = exp(r57749);
double r57751 = r57748 + r57750;
double r57752 = 2.0;
double r57753 = r57751 / r57752;
double r57754 = y;
double r57755 = cos(r57754);
double r57756 = r57753 * r57755;
double r57757 = r57748 - r57750;
double r57758 = r57757 / r57752;
double r57759 = sin(r57754);
double r57760 = r57758 * r57759;
double r57761 = /* ERROR: no complex support in C */;
double r57762 = /* ERROR: no complex support in C */;
return r57762;
}
double f(double x, double y) {
double r57763 = x;
double r57764 = exp(r57763);
double r57765 = -r57763;
double r57766 = exp(r57765);
double r57767 = r57764 + r57766;
double r57768 = 2.0;
double r57769 = r57767 / r57768;
double r57770 = y;
double r57771 = cos(r57770);
double r57772 = r57769 * r57771;
double r57773 = 0.3333333333333333;
double r57774 = 3.0;
double r57775 = pow(r57763, r57774);
double r57776 = 0.016666666666666666;
double r57777 = 5.0;
double r57778 = pow(r57763, r57777);
double r57779 = 2.0;
double r57780 = r57779 * r57763;
double r57781 = fma(r57776, r57778, r57780);
double r57782 = fma(r57773, r57775, r57781);
double r57783 = r57782 / r57768;
double r57784 = sin(r57770);
double r57785 = r57783 * r57784;
double r57786 = /* ERROR: no complex support in C */;
double r57787 = /* ERROR: no complex support in C */;
return r57787;
}



Bits error versus x



Bits error versus y
Initial program 43.6
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2020064 +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)))))