double f(double x, double y) {
double r4774571 = x;
double r4774572 = exp(r4774571);
double r4774573 = -r4774571;
double r4774574 = exp(r4774573);
double r4774575 = r4774572 + r4774574;
double r4774576 = 2.0;
double r4774577 = r4774575 / r4774576;
double r4774578 = y;
double r4774579 = cos(r4774578);
double r4774580 = r4774577 * r4774579;
double r4774581 = r4774572 - r4774574;
double r4774582 = r4774581 / r4774576;
double r4774583 = sin(r4774578);
double r4774584 = r4774582 * r4774583;
double r4774585 = /* ERROR: no complex support in C */;
double r4774586 = /* ERROR: no complex support in C */;
return r4774586;
}
double f(double x, double y) {
double r4774587 = x;
double r4774588 = exp(r4774587);
double r4774589 = -r4774587;
double r4774590 = exp(r4774589);
double r4774591 = r4774588 + r4774590;
double r4774592 = 2.0;
double r4774593 = r4774591 / r4774592;
double r4774594 = y;
double r4774595 = cos(r4774594);
double r4774596 = r4774593 * r4774595;
double r4774597 = 5.0;
double r4774598 = pow(r4774587, r4774597);
double r4774599 = 0.016666666666666666;
double r4774600 = r4774598 * r4774599;
double r4774601 = 0.3333333333333333;
double r4774602 = r4774587 * r4774601;
double r4774603 = r4774602 * r4774587;
double r4774604 = r4774592 + r4774603;
double r4774605 = r4774604 * r4774587;
double r4774606 = r4774600 + r4774605;
double r4774607 = r4774606 / r4774592;
double r4774608 = sin(r4774594);
double r4774609 = r4774607 * r4774608;
double r4774610 = /* ERROR: no complex support in C */;
double r4774611 = /* ERROR: no complex support in C */;
return r4774611;
}
\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))


Bits error versus x



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