\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 r52769 = x;
double r52770 = exp(r52769);
double r52771 = -r52769;
double r52772 = exp(r52771);
double r52773 = r52770 + r52772;
double r52774 = 2.0;
double r52775 = r52773 / r52774;
double r52776 = y;
double r52777 = cos(r52776);
double r52778 = r52775 * r52777;
double r52779 = r52770 - r52772;
double r52780 = r52779 / r52774;
double r52781 = sin(r52776);
double r52782 = r52780 * r52781;
double r52783 = /* ERROR: no complex support in C */;
double r52784 = /* ERROR: no complex support in C */;
return r52784;
}
double f(double x, double y) {
double r52785 = x;
double r52786 = exp(r52785);
double r52787 = -r52785;
double r52788 = exp(r52787);
double r52789 = r52786 + r52788;
double r52790 = 2.0;
double r52791 = r52789 / r52790;
double r52792 = y;
double r52793 = cos(r52792);
double r52794 = r52791 * r52793;
double r52795 = 0.3333333333333333;
double r52796 = 3.0;
double r52797 = pow(r52785, r52796);
double r52798 = 0.016666666666666666;
double r52799 = 5.0;
double r52800 = pow(r52785, r52799);
double r52801 = 2.0;
double r52802 = r52801 * r52785;
double r52803 = fma(r52798, r52800, r52802);
double r52804 = fma(r52795, r52797, r52803);
double r52805 = r52804 / r52790;
double r52806 = sin(r52792);
double r52807 = r52805 * r52806;
double r52808 = /* ERROR: no complex support in C */;
double r52809 = /* ERROR: no complex support in C */;
return r52809;
}



Bits error versus x



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