\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 r1376656 = x;
double r1376657 = exp(r1376656);
double r1376658 = -r1376656;
double r1376659 = exp(r1376658);
double r1376660 = r1376657 + r1376659;
double r1376661 = 2.0;
double r1376662 = r1376660 / r1376661;
double r1376663 = y;
double r1376664 = cos(r1376663);
double r1376665 = r1376662 * r1376664;
double r1376666 = r1376657 - r1376659;
double r1376667 = r1376666 / r1376661;
double r1376668 = sin(r1376663);
double r1376669 = r1376667 * r1376668;
double r1376670 = /* ERROR: no complex support in C */;
double r1376671 = /* ERROR: no complex support in C */;
return r1376671;
}
double f(double x, double y) {
double r1376672 = x;
double r1376673 = exp(r1376672);
double r1376674 = -r1376672;
double r1376675 = exp(r1376674);
double r1376676 = r1376673 + r1376675;
double r1376677 = 2.0;
double r1376678 = r1376676 / r1376677;
double r1376679 = y;
double r1376680 = cos(r1376679);
double r1376681 = r1376678 * r1376680;
double r1376682 = 0.3333333333333333;
double r1376683 = r1376672 * r1376682;
double r1376684 = r1376683 * r1376672;
double r1376685 = r1376684 + r1376677;
double r1376686 = r1376672 * r1376685;
double r1376687 = 5.0;
double r1376688 = pow(r1376672, r1376687);
double r1376689 = 0.016666666666666666;
double r1376690 = r1376688 * r1376689;
double r1376691 = r1376686 + r1376690;
double r1376692 = r1376691 / r1376677;
double r1376693 = sin(r1376679);
double r1376694 = r1376692 * r1376693;
double r1376695 = /* ERROR: no complex support in C */;
double r1376696 = /* ERROR: no complex support in C */;
return r1376696;
}



Bits error versus x



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