\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 \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) + 2 \cdot x\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1306691 = x;
double r1306692 = exp(r1306691);
double r1306693 = -r1306691;
double r1306694 = exp(r1306693);
double r1306695 = r1306692 + r1306694;
double r1306696 = 2.0;
double r1306697 = r1306695 / r1306696;
double r1306698 = y;
double r1306699 = cos(r1306698);
double r1306700 = r1306697 * r1306699;
double r1306701 = r1306692 - r1306694;
double r1306702 = r1306701 / r1306696;
double r1306703 = sin(r1306698);
double r1306704 = r1306702 * r1306703;
double r1306705 = /* ERROR: no complex support in C */;
double r1306706 = /* ERROR: no complex support in C */;
return r1306706;
}
double f(double x, double y) {
double r1306707 = x;
double r1306708 = exp(r1306707);
double r1306709 = -r1306707;
double r1306710 = exp(r1306709);
double r1306711 = r1306708 + r1306710;
double r1306712 = 2.0;
double r1306713 = r1306711 / r1306712;
double r1306714 = y;
double r1306715 = cos(r1306714);
double r1306716 = r1306713 * r1306715;
double r1306717 = 0.3333333333333333;
double r1306718 = r1306707 * r1306707;
double r1306719 = r1306717 * r1306718;
double r1306720 = r1306707 * r1306719;
double r1306721 = r1306712 * r1306707;
double r1306722 = r1306720 + r1306721;
double r1306723 = 5.0;
double r1306724 = pow(r1306707, r1306723);
double r1306725 = 0.016666666666666666;
double r1306726 = r1306724 * r1306725;
double r1306727 = r1306722 + r1306726;
double r1306728 = r1306727 / r1306712;
double r1306729 = sin(r1306714);
double r1306730 = r1306728 * r1306729;
double r1306731 = /* ERROR: no complex support in C */;
double r1306732 = /* ERROR: no complex support in C */;
return r1306732;
}



Bits error versus x



Bits error versus y
Initial program 43.5
Taylor expanded around 0 0.7
Simplified0.7
rmApplied +-commutative0.7
Applied distribute-rgt-in0.7
Final simplification0.7
herbie shell --seed 2019158
(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)))))