\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 r51789 = x;
double r51790 = exp(r51789);
double r51791 = -r51789;
double r51792 = exp(r51791);
double r51793 = r51790 + r51792;
double r51794 = 2.0;
double r51795 = r51793 / r51794;
double r51796 = y;
double r51797 = cos(r51796);
double r51798 = r51795 * r51797;
double r51799 = r51790 - r51792;
double r51800 = r51799 / r51794;
double r51801 = sin(r51796);
double r51802 = r51800 * r51801;
double r51803 = /* ERROR: no complex support in C */;
double r51804 = /* ERROR: no complex support in C */;
return r51804;
}
double f(double x, double y) {
double r51805 = x;
double r51806 = exp(r51805);
double r51807 = -r51805;
double r51808 = exp(r51807);
double r51809 = r51806 + r51808;
double r51810 = 2.0;
double r51811 = r51809 / r51810;
double r51812 = y;
double r51813 = cos(r51812);
double r51814 = r51811 * r51813;
double r51815 = 0.3333333333333333;
double r51816 = 3.0;
double r51817 = pow(r51805, r51816);
double r51818 = 0.016666666666666666;
double r51819 = 5.0;
double r51820 = pow(r51805, r51819);
double r51821 = 2.0;
double r51822 = r51821 * r51805;
double r51823 = fma(r51818, r51820, r51822);
double r51824 = fma(r51815, r51817, r51823);
double r51825 = r51824 / r51810;
double r51826 = sin(r51812);
double r51827 = r51825 * r51826;
double r51828 = /* ERROR: no complex support in C */;
double r51829 = /* ERROR: no complex support in C */;
return r51829;
}



Bits error versus x



Bits error versus y
Initial program 43.5
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2020042 +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)))))