\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 r51409 = x;
double r51410 = exp(r51409);
double r51411 = -r51409;
double r51412 = exp(r51411);
double r51413 = r51410 + r51412;
double r51414 = 2.0;
double r51415 = r51413 / r51414;
double r51416 = y;
double r51417 = cos(r51416);
double r51418 = r51415 * r51417;
double r51419 = r51410 - r51412;
double r51420 = r51419 / r51414;
double r51421 = sin(r51416);
double r51422 = r51420 * r51421;
double r51423 = /* ERROR: no complex support in C */;
double r51424 = /* ERROR: no complex support in C */;
return r51424;
}
double f(double x, double y) {
double r51425 = x;
double r51426 = exp(r51425);
double r51427 = -r51425;
double r51428 = exp(r51427);
double r51429 = r51426 + r51428;
double r51430 = 2.0;
double r51431 = r51429 / r51430;
double r51432 = y;
double r51433 = cos(r51432);
double r51434 = r51431 * r51433;
double r51435 = 0.3333333333333333;
double r51436 = 3.0;
double r51437 = pow(r51425, r51436);
double r51438 = 0.016666666666666666;
double r51439 = 5.0;
double r51440 = pow(r51425, r51439);
double r51441 = 2.0;
double r51442 = r51441 * r51425;
double r51443 = fma(r51438, r51440, r51442);
double r51444 = fma(r51435, r51437, r51443);
double r51445 = r51444 / r51430;
double r51446 = sin(r51432);
double r51447 = r51445 * r51446;
double r51448 = /* ERROR: no complex support in C */;
double r51449 = /* ERROR: no complex support in C */;
return r51449;
}



Bits error versus x



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