\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{\left(x + x\right) + \left({x}^{5} \cdot \frac{1}{60} + \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) \cdot x\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1008421 = x;
double r1008422 = exp(r1008421);
double r1008423 = -r1008421;
double r1008424 = exp(r1008423);
double r1008425 = r1008422 + r1008424;
double r1008426 = 2.0;
double r1008427 = r1008425 / r1008426;
double r1008428 = y;
double r1008429 = cos(r1008428);
double r1008430 = r1008427 * r1008429;
double r1008431 = r1008422 - r1008424;
double r1008432 = r1008431 / r1008426;
double r1008433 = sin(r1008428);
double r1008434 = r1008432 * r1008433;
double r1008435 = /* ERROR: no complex support in C */;
double r1008436 = /* ERROR: no complex support in C */;
return r1008436;
}
double f(double x, double y) {
double r1008437 = x;
double r1008438 = exp(r1008437);
double r1008439 = -r1008437;
double r1008440 = exp(r1008439);
double r1008441 = r1008438 + r1008440;
double r1008442 = 2.0;
double r1008443 = r1008441 / r1008442;
double r1008444 = y;
double r1008445 = cos(r1008444);
double r1008446 = r1008443 * r1008445;
double r1008447 = r1008437 + r1008437;
double r1008448 = 5.0;
double r1008449 = pow(r1008437, r1008448);
double r1008450 = 0.016666666666666666;
double r1008451 = r1008449 * r1008450;
double r1008452 = 0.3333333333333333;
double r1008453 = r1008437 * r1008437;
double r1008454 = r1008452 * r1008453;
double r1008455 = r1008454 * r1008437;
double r1008456 = r1008451 + r1008455;
double r1008457 = r1008447 + r1008456;
double r1008458 = r1008457 / r1008442;
double r1008459 = sin(r1008444);
double r1008460 = r1008458 * r1008459;
double r1008461 = /* ERROR: no complex support in C */;
double r1008462 = /* ERROR: no complex support in C */;
return r1008462;
}



Bits error versus x



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