\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 r55367 = x;
double r55368 = exp(r55367);
double r55369 = -r55367;
double r55370 = exp(r55369);
double r55371 = r55368 + r55370;
double r55372 = 2.0;
double r55373 = r55371 / r55372;
double r55374 = y;
double r55375 = cos(r55374);
double r55376 = r55373 * r55375;
double r55377 = r55368 - r55370;
double r55378 = r55377 / r55372;
double r55379 = sin(r55374);
double r55380 = r55378 * r55379;
double r55381 = /* ERROR: no complex support in C */;
double r55382 = /* ERROR: no complex support in C */;
return r55382;
}
double f(double x, double y) {
double r55383 = x;
double r55384 = exp(r55383);
double r55385 = -r55383;
double r55386 = exp(r55385);
double r55387 = r55384 + r55386;
double r55388 = 2.0;
double r55389 = r55387 / r55388;
double r55390 = y;
double r55391 = cos(r55390);
double r55392 = r55389 * r55391;
double r55393 = 0.3333333333333333;
double r55394 = 3.0;
double r55395 = pow(r55383, r55394);
double r55396 = 0.016666666666666666;
double r55397 = 5.0;
double r55398 = pow(r55383, r55397);
double r55399 = 2.0;
double r55400 = r55399 * r55383;
double r55401 = fma(r55396, r55398, r55400);
double r55402 = fma(r55393, r55395, r55401);
double r55403 = r55402 / r55388;
double r55404 = sin(r55390);
double r55405 = r55403 * r55404;
double r55406 = /* ERROR: no complex support in C */;
double r55407 = /* ERROR: no complex support in C */;
return r55407;
}



Bits error versus x



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