\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 r51888 = x;
double r51889 = exp(r51888);
double r51890 = -r51888;
double r51891 = exp(r51890);
double r51892 = r51889 + r51891;
double r51893 = 2.0;
double r51894 = r51892 / r51893;
double r51895 = y;
double r51896 = cos(r51895);
double r51897 = r51894 * r51896;
double r51898 = r51889 - r51891;
double r51899 = r51898 / r51893;
double r51900 = sin(r51895);
double r51901 = r51899 * r51900;
double r51902 = /* ERROR: no complex support in C */;
double r51903 = /* ERROR: no complex support in C */;
return r51903;
}
double f(double x, double y) {
double r51904 = x;
double r51905 = exp(r51904);
double r51906 = -r51904;
double r51907 = exp(r51906);
double r51908 = r51905 + r51907;
double r51909 = 2.0;
double r51910 = r51908 / r51909;
double r51911 = y;
double r51912 = cos(r51911);
double r51913 = r51910 * r51912;
double r51914 = 0.3333333333333333;
double r51915 = 3.0;
double r51916 = pow(r51904, r51915);
double r51917 = 0.016666666666666666;
double r51918 = 5.0;
double r51919 = pow(r51904, r51918);
double r51920 = 2.0;
double r51921 = r51920 * r51904;
double r51922 = fma(r51917, r51919, r51921);
double r51923 = fma(r51914, r51916, r51922);
double r51924 = r51923 / r51909;
double r51925 = sin(r51911);
double r51926 = r51924 * r51925;
double r51927 = /* ERROR: no complex support in C */;
double r51928 = /* ERROR: no complex support in C */;
return r51928;
}



Bits error versus x



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