\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}^{5} \cdot \frac{1}{60} + \left(2 + \left(x \cdot \frac{1}{3}\right) \cdot x\right) \cdot x}{2} \cdot \sin y i\right))double f(double x, double y) {
double r33254616 = x;
double r33254617 = exp(r33254616);
double r33254618 = -r33254616;
double r33254619 = exp(r33254618);
double r33254620 = r33254617 + r33254619;
double r33254621 = 2.0;
double r33254622 = r33254620 / r33254621;
double r33254623 = y;
double r33254624 = cos(r33254623);
double r33254625 = r33254622 * r33254624;
double r33254626 = r33254617 - r33254619;
double r33254627 = r33254626 / r33254621;
double r33254628 = sin(r33254623);
double r33254629 = r33254627 * r33254628;
double r33254630 = /* ERROR: no complex support in C */;
double r33254631 = /* ERROR: no complex support in C */;
return r33254631;
}
double f(double x, double y) {
double r33254632 = x;
double r33254633 = exp(r33254632);
double r33254634 = -r33254632;
double r33254635 = exp(r33254634);
double r33254636 = r33254633 + r33254635;
double r33254637 = 2.0;
double r33254638 = r33254636 / r33254637;
double r33254639 = y;
double r33254640 = cos(r33254639);
double r33254641 = r33254638 * r33254640;
double r33254642 = 5.0;
double r33254643 = pow(r33254632, r33254642);
double r33254644 = 0.016666666666666666;
double r33254645 = r33254643 * r33254644;
double r33254646 = 0.3333333333333333;
double r33254647 = r33254632 * r33254646;
double r33254648 = r33254647 * r33254632;
double r33254649 = r33254637 + r33254648;
double r33254650 = r33254649 * r33254632;
double r33254651 = r33254645 + r33254650;
double r33254652 = r33254651 / r33254637;
double r33254653 = sin(r33254639);
double r33254654 = r33254652 * r33254653;
double r33254655 = /* ERROR: no complex support in C */;
double r33254656 = /* ERROR: no complex support in C */;
return r33254656;
}



Bits error versus x



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