\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{\left(x \cdot \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) + \left(x + x\right)\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r2868285 = x;
double r2868286 = exp(r2868285);
double r2868287 = -r2868285;
double r2868288 = exp(r2868287);
double r2868289 = r2868286 + r2868288;
double r2868290 = 2.0;
double r2868291 = r2868289 / r2868290;
double r2868292 = y;
double r2868293 = cos(r2868292);
double r2868294 = r2868291 * r2868293;
double r2868295 = r2868286 - r2868288;
double r2868296 = r2868295 / r2868290;
double r2868297 = sin(r2868292);
double r2868298 = r2868296 * r2868297;
double r2868299 = /* ERROR: no complex support in C */;
double r2868300 = /* ERROR: no complex support in C */;
return r2868300;
}
double f(double x, double y) {
double r2868301 = x;
double r2868302 = exp(r2868301);
double r2868303 = -r2868301;
double r2868304 = exp(r2868303);
double r2868305 = r2868302 + r2868304;
double r2868306 = 2.0;
double r2868307 = r2868305 / r2868306;
double r2868308 = y;
double r2868309 = cos(r2868308);
double r2868310 = r2868307 * r2868309;
double r2868311 = 0.3333333333333333;
double r2868312 = r2868301 * r2868301;
double r2868313 = r2868311 * r2868312;
double r2868314 = r2868301 * r2868313;
double r2868315 = r2868301 + r2868301;
double r2868316 = r2868314 + r2868315;
double r2868317 = 5.0;
double r2868318 = pow(r2868301, r2868317);
double r2868319 = 0.016666666666666666;
double r2868320 = r2868318 * r2868319;
double r2868321 = r2868316 + r2868320;
double r2868322 = r2868321 / r2868306;
double r2868323 = sin(r2868308);
double r2868324 = r2868322 * r2868323;
double r2868325 = /* ERROR: no complex support in C */;
double r2868326 = /* ERROR: no complex support in C */;
return r2868326;
}



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 2019163
(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)))))