\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 r47895 = x;
double r47896 = exp(r47895);
double r47897 = -r47895;
double r47898 = exp(r47897);
double r47899 = r47896 + r47898;
double r47900 = 2.0;
double r47901 = r47899 / r47900;
double r47902 = y;
double r47903 = cos(r47902);
double r47904 = r47901 * r47903;
double r47905 = r47896 - r47898;
double r47906 = r47905 / r47900;
double r47907 = sin(r47902);
double r47908 = r47906 * r47907;
double r47909 = /* ERROR: no complex support in C */;
double r47910 = /* ERROR: no complex support in C */;
return r47910;
}
double f(double x, double y) {
double r47911 = x;
double r47912 = exp(r47911);
double r47913 = -r47911;
double r47914 = exp(r47913);
double r47915 = r47912 + r47914;
double r47916 = 2.0;
double r47917 = r47915 / r47916;
double r47918 = y;
double r47919 = cos(r47918);
double r47920 = r47917 * r47919;
double r47921 = 0.3333333333333333;
double r47922 = 3.0;
double r47923 = pow(r47911, r47922);
double r47924 = 0.016666666666666666;
double r47925 = 5.0;
double r47926 = pow(r47911, r47925);
double r47927 = 2.0;
double r47928 = r47927 * r47911;
double r47929 = fma(r47924, r47926, r47928);
double r47930 = fma(r47921, r47923, r47929);
double r47931 = r47930 / r47916;
double r47932 = sin(r47918);
double r47933 = r47931 * r47932;
double r47934 = /* ERROR: no complex support in C */;
double r47935 = /* ERROR: no complex support in C */;
return r47935;
}



Bits error versus x



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