\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 r6147280 = x;
double r6147281 = exp(r6147280);
double r6147282 = -r6147280;
double r6147283 = exp(r6147282);
double r6147284 = r6147281 + r6147283;
double r6147285 = 2.0;
double r6147286 = r6147284 / r6147285;
double r6147287 = y;
double r6147288 = cos(r6147287);
double r6147289 = r6147286 * r6147288;
double r6147290 = r6147281 - r6147283;
double r6147291 = r6147290 / r6147285;
double r6147292 = sin(r6147287);
double r6147293 = r6147291 * r6147292;
double r6147294 = /* ERROR: no complex support in C */;
double r6147295 = /* ERROR: no complex support in C */;
return r6147295;
}
double f(double x, double y) {
double r6147296 = x;
double r6147297 = exp(r6147296);
double r6147298 = -r6147296;
double r6147299 = exp(r6147298);
double r6147300 = r6147297 + r6147299;
double r6147301 = 2.0;
double r6147302 = r6147300 / r6147301;
double r6147303 = y;
double r6147304 = cos(r6147303);
double r6147305 = r6147302 * r6147304;
double r6147306 = 5.0;
double r6147307 = pow(r6147296, r6147306);
double r6147308 = 0.016666666666666666;
double r6147309 = r6147307 * r6147308;
double r6147310 = 0.3333333333333333;
double r6147311 = r6147296 * r6147310;
double r6147312 = r6147311 * r6147296;
double r6147313 = r6147301 + r6147312;
double r6147314 = r6147313 * r6147296;
double r6147315 = r6147309 + r6147314;
double r6147316 = r6147315 / r6147301;
double r6147317 = sin(r6147303);
double r6147318 = r6147316 * r6147317;
double r6147319 = /* ERROR: no complex support in C */;
double r6147320 = /* ERROR: no complex support in C */;
return r6147320;
}



Bits error versus x



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