\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{\frac{1}{60} \cdot {x}^{5} + \left(2 \cdot x + \frac{1}{3} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1882411 = x;
double r1882412 = exp(r1882411);
double r1882413 = -r1882411;
double r1882414 = exp(r1882413);
double r1882415 = r1882412 + r1882414;
double r1882416 = 2.0;
double r1882417 = r1882415 / r1882416;
double r1882418 = y;
double r1882419 = cos(r1882418);
double r1882420 = r1882417 * r1882419;
double r1882421 = r1882412 - r1882414;
double r1882422 = r1882421 / r1882416;
double r1882423 = sin(r1882418);
double r1882424 = r1882422 * r1882423;
double r1882425 = /* ERROR: no complex support in C */;
double r1882426 = /* ERROR: no complex support in C */;
return r1882426;
}
double f(double x, double y) {
double r1882427 = x;
double r1882428 = exp(r1882427);
double r1882429 = -r1882427;
double r1882430 = exp(r1882429);
double r1882431 = r1882428 + r1882430;
double r1882432 = 2.0;
double r1882433 = r1882431 / r1882432;
double r1882434 = y;
double r1882435 = cos(r1882434);
double r1882436 = r1882433 * r1882435;
double r1882437 = 0.016666666666666666;
double r1882438 = 5.0;
double r1882439 = pow(r1882427, r1882438);
double r1882440 = r1882437 * r1882439;
double r1882441 = r1882432 * r1882427;
double r1882442 = 0.3333333333333333;
double r1882443 = r1882427 * r1882427;
double r1882444 = r1882443 * r1882427;
double r1882445 = r1882442 * r1882444;
double r1882446 = r1882441 + r1882445;
double r1882447 = r1882440 + r1882446;
double r1882448 = r1882447 / r1882432;
double r1882449 = sin(r1882434);
double r1882450 = r1882448 * r1882449;
double r1882451 = /* ERROR: no complex support in C */;
double r1882452 = /* ERROR: no complex support in C */;
return r1882452;
}



Bits error versus x



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