\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\left(\left({x}^{5} \cdot \frac{1}{60} + \frac{1}{3} \cdot {x}^{3}\right) + \left(x + x\right)\right) \cdot \frac{\sin y}{2}double f(double x, double y) {
double r51377 = x;
double r51378 = exp(r51377);
double r51379 = -r51377;
double r51380 = exp(r51379);
double r51381 = r51378 + r51380;
double r51382 = 2.0;
double r51383 = r51381 / r51382;
double r51384 = y;
double r51385 = cos(r51384);
double r51386 = r51383 * r51385;
double r51387 = r51378 - r51380;
double r51388 = r51387 / r51382;
double r51389 = sin(r51384);
double r51390 = r51388 * r51389;
double r51391 = /* ERROR: no complex support in C */;
double r51392 = /* ERROR: no complex support in C */;
return r51392;
}
double f(double x, double y) {
double r51393 = x;
double r51394 = 5.0;
double r51395 = pow(r51393, r51394);
double r51396 = 0.016666666666666666;
double r51397 = r51395 * r51396;
double r51398 = 0.3333333333333333;
double r51399 = 3.0;
double r51400 = pow(r51393, r51399);
double r51401 = r51398 * r51400;
double r51402 = r51397 + r51401;
double r51403 = r51393 + r51393;
double r51404 = r51402 + r51403;
double r51405 = y;
double r51406 = sin(r51405);
double r51407 = 2.0;
double r51408 = r51406 / r51407;
double r51409 = r51404 * r51408;
return r51409;
}



Bits error versus x



Bits error versus y
Initial program 43.6
Simplified43.6
Taylor expanded around 0 0.8
Simplified0.8
rmApplied associate-+r+0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019179
(FPCore (x y)
:name "Euler formula imaginary part (p55)"
(im (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))