\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{x \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1910559 = x;
double r1910560 = exp(r1910559);
double r1910561 = -r1910559;
double r1910562 = exp(r1910561);
double r1910563 = r1910560 + r1910562;
double r1910564 = 2.0;
double r1910565 = r1910563 / r1910564;
double r1910566 = y;
double r1910567 = cos(r1910566);
double r1910568 = r1910565 * r1910567;
double r1910569 = r1910560 - r1910562;
double r1910570 = r1910569 / r1910564;
double r1910571 = sin(r1910566);
double r1910572 = r1910570 * r1910571;
double r1910573 = /* ERROR: no complex support in C */;
double r1910574 = /* ERROR: no complex support in C */;
return r1910574;
}
double f(double x, double y) {
double r1910575 = x;
double r1910576 = exp(r1910575);
double r1910577 = -r1910575;
double r1910578 = exp(r1910577);
double r1910579 = r1910576 + r1910578;
double r1910580 = 2.0;
double r1910581 = r1910579 / r1910580;
double r1910582 = y;
double r1910583 = cos(r1910582);
double r1910584 = r1910581 * r1910583;
double r1910585 = 0.3333333333333333;
double r1910586 = r1910575 * r1910585;
double r1910587 = r1910586 * r1910575;
double r1910588 = r1910587 + r1910580;
double r1910589 = r1910575 * r1910588;
double r1910590 = 5.0;
double r1910591 = pow(r1910575, r1910590);
double r1910592 = 0.016666666666666666;
double r1910593 = r1910591 * r1910592;
double r1910594 = r1910589 + r1910593;
double r1910595 = r1910594 / r1910580;
double r1910596 = sin(r1910582);
double r1910597 = r1910595 * r1910596;
double r1910598 = /* ERROR: no complex support in C */;
double r1910599 = /* ERROR: no complex support in C */;
return r1910599;
}



Bits error versus x



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