\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}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r69361 = x;
double r69362 = exp(r69361);
double r69363 = -r69361;
double r69364 = exp(r69363);
double r69365 = r69362 + r69364;
double r69366 = 2.0;
double r69367 = r69365 / r69366;
double r69368 = y;
double r69369 = cos(r69368);
double r69370 = r69367 * r69369;
double r69371 = r69362 - r69364;
double r69372 = r69371 / r69366;
double r69373 = sin(r69368);
double r69374 = r69372 * r69373;
double r69375 = /* ERROR: no complex support in C */;
double r69376 = /* ERROR: no complex support in C */;
return r69376;
}
double f(double x, double y) {
double r69377 = x;
double r69378 = exp(r69377);
double r69379 = -r69377;
double r69380 = exp(r69379);
double r69381 = r69378 + r69380;
double r69382 = 2.0;
double r69383 = r69381 / r69382;
double r69384 = y;
double r69385 = cos(r69384);
double r69386 = r69383 * r69385;
double r69387 = 0.3333333333333333;
double r69388 = 3.0;
double r69389 = pow(r69377, r69388);
double r69390 = r69387 * r69389;
double r69391 = 0.016666666666666666;
double r69392 = 5.0;
double r69393 = pow(r69377, r69392);
double r69394 = r69391 * r69393;
double r69395 = 2.0;
double r69396 = r69395 * r69377;
double r69397 = r69394 + r69396;
double r69398 = r69390 + r69397;
double r69399 = r69398 / r69382;
double r69400 = sin(r69384);
double r69401 = r69399 * r69400;
double r69402 = /* ERROR: no complex support in C */;
double r69403 = /* ERROR: no complex support in C */;
return r69403;
}



Bits error versus x



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