\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 r58378 = x;
double r58379 = exp(r58378);
double r58380 = -r58378;
double r58381 = exp(r58380);
double r58382 = r58379 + r58381;
double r58383 = 2.0;
double r58384 = r58382 / r58383;
double r58385 = y;
double r58386 = cos(r58385);
double r58387 = r58384 * r58386;
double r58388 = r58379 - r58381;
double r58389 = r58388 / r58383;
double r58390 = sin(r58385);
double r58391 = r58389 * r58390;
double r58392 = /* ERROR: no complex support in C */;
double r58393 = /* ERROR: no complex support in C */;
return r58393;
}
double f(double x, double y) {
double r58394 = x;
double r58395 = exp(r58394);
double r58396 = -r58394;
double r58397 = exp(r58396);
double r58398 = r58395 + r58397;
double r58399 = 2.0;
double r58400 = r58398 / r58399;
double r58401 = y;
double r58402 = cos(r58401);
double r58403 = r58400 * r58402;
double r58404 = 0.3333333333333333;
double r58405 = 3.0;
double r58406 = pow(r58394, r58405);
double r58407 = 0.016666666666666666;
double r58408 = 5.0;
double r58409 = pow(r58394, r58408);
double r58410 = 2.0;
double r58411 = r58410 * r58394;
double r58412 = fma(r58407, r58409, r58411);
double r58413 = fma(r58404, r58406, r58412);
double r58414 = r58413 / r58399;
double r58415 = sin(r58401);
double r58416 = r58414 * r58415;
double r58417 = /* ERROR: no complex support in C */;
double r58418 = /* ERROR: no complex support in C */;
return r58418;
}



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 2020024 +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)))))