double f(double x, double y) {
double r5863077 = x;
double r5863078 = exp(r5863077);
double r5863079 = -r5863077;
double r5863080 = exp(r5863079);
double r5863081 = r5863078 + r5863080;
double r5863082 = 2.0;
double r5863083 = r5863081 / r5863082;
double r5863084 = y;
double r5863085 = cos(r5863084);
double r5863086 = r5863083 * r5863085;
double r5863087 = r5863078 - r5863080;
double r5863088 = r5863087 / r5863082;
double r5863089 = sin(r5863084);
double r5863090 = r5863088 * r5863089;
double r5863091 = /* ERROR: no complex support in C */;
double r5863092 = /* ERROR: no complex support in C */;
return r5863092;
}
double f(double x, double y) {
double r5863093 = x;
double r5863094 = exp(r5863093);
double r5863095 = -r5863093;
double r5863096 = exp(r5863095);
double r5863097 = r5863094 + r5863096;
double r5863098 = 2.0;
double r5863099 = r5863097 / r5863098;
double r5863100 = y;
double r5863101 = cos(r5863100);
double r5863102 = r5863099 * r5863101;
double r5863103 = 5.0;
double r5863104 = pow(r5863093, r5863103);
double r5863105 = 0.016666666666666666;
double r5863106 = r5863104 * r5863105;
double r5863107 = 0.3333333333333333;
double r5863108 = r5863093 * r5863107;
double r5863109 = r5863108 * r5863093;
double r5863110 = r5863098 + r5863109;
double r5863111 = r5863110 * r5863093;
double r5863112 = r5863106 + r5863111;
double r5863113 = r5863112 / r5863098;
double r5863114 = sin(r5863100);
double r5863115 = r5863113 * r5863114;
double r5863116 = /* ERROR: no complex support in C */;
double r5863117 = /* ERROR: no complex support in C */;
return r5863117;
}
\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.6
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019102
(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)))))