\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 r62711 = x;
double r62712 = exp(r62711);
double r62713 = -r62711;
double r62714 = exp(r62713);
double r62715 = r62712 + r62714;
double r62716 = 2.0;
double r62717 = r62715 / r62716;
double r62718 = y;
double r62719 = cos(r62718);
double r62720 = r62717 * r62719;
double r62721 = r62712 - r62714;
double r62722 = r62721 / r62716;
double r62723 = sin(r62718);
double r62724 = r62722 * r62723;
double r62725 = /* ERROR: no complex support in C */;
double r62726 = /* ERROR: no complex support in C */;
return r62726;
}
double f(double x, double y) {
double r62727 = x;
double r62728 = exp(r62727);
double r62729 = -r62727;
double r62730 = exp(r62729);
double r62731 = r62728 + r62730;
double r62732 = 2.0;
double r62733 = r62731 / r62732;
double r62734 = y;
double r62735 = cos(r62734);
double r62736 = r62733 * r62735;
double r62737 = 0.3333333333333333;
double r62738 = 3.0;
double r62739 = pow(r62727, r62738);
double r62740 = 0.016666666666666666;
double r62741 = 5.0;
double r62742 = pow(r62727, r62741);
double r62743 = 2.0;
double r62744 = r62743 * r62727;
double r62745 = fma(r62740, r62742, r62744);
double r62746 = fma(r62737, r62739, r62745);
double r62747 = r62746 / r62732;
double r62748 = sin(r62734);
double r62749 = r62747 * r62748;
double r62750 = /* ERROR: no complex support in C */;
double r62751 = /* ERROR: no complex support in C */;
return r62751;
}



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 2020060 +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)))))