\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}{60}, {x}^{5}, x \cdot \left(x \cdot \left(\frac{1}{3} \cdot x\right) + 2\right)\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1973045 = x;
double r1973046 = exp(r1973045);
double r1973047 = -r1973045;
double r1973048 = exp(r1973047);
double r1973049 = r1973046 + r1973048;
double r1973050 = 2.0;
double r1973051 = r1973049 / r1973050;
double r1973052 = y;
double r1973053 = cos(r1973052);
double r1973054 = r1973051 * r1973053;
double r1973055 = r1973046 - r1973048;
double r1973056 = r1973055 / r1973050;
double r1973057 = sin(r1973052);
double r1973058 = r1973056 * r1973057;
double r1973059 = /* ERROR: no complex support in C */;
double r1973060 = /* ERROR: no complex support in C */;
return r1973060;
}
double f(double x, double y) {
double r1973061 = x;
double r1973062 = exp(r1973061);
double r1973063 = -r1973061;
double r1973064 = exp(r1973063);
double r1973065 = r1973062 + r1973064;
double r1973066 = 2.0;
double r1973067 = r1973065 / r1973066;
double r1973068 = y;
double r1973069 = cos(r1973068);
double r1973070 = r1973067 * r1973069;
double r1973071 = 0.016666666666666666;
double r1973072 = 5.0;
double r1973073 = pow(r1973061, r1973072);
double r1973074 = 0.3333333333333333;
double r1973075 = r1973074 * r1973061;
double r1973076 = r1973061 * r1973075;
double r1973077 = r1973076 + r1973066;
double r1973078 = r1973061 * r1973077;
double r1973079 = fma(r1973071, r1973073, r1973078);
double r1973080 = r1973079 / r1973066;
double r1973081 = sin(r1973068);
double r1973082 = r1973080 * r1973081;
double r1973083 = /* ERROR: no complex support in C */;
double r1973084 = /* ERROR: no complex support in C */;
return r1973084;
}



Bits error versus x



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