\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{\frac{1}{60} \cdot {x}^{5} + \left(2 + \frac{1}{3} \cdot \left(x \cdot x\right)\right) \cdot x}{2} \cdot \sin y i\right))double f(double x, double y) {
double r2182963 = x;
double r2182964 = exp(r2182963);
double r2182965 = -r2182963;
double r2182966 = exp(r2182965);
double r2182967 = r2182964 + r2182966;
double r2182968 = 2.0;
double r2182969 = r2182967 / r2182968;
double r2182970 = y;
double r2182971 = cos(r2182970);
double r2182972 = r2182969 * r2182971;
double r2182973 = r2182964 - r2182966;
double r2182974 = r2182973 / r2182968;
double r2182975 = sin(r2182970);
double r2182976 = r2182974 * r2182975;
double r2182977 = /* ERROR: no complex support in C */;
double r2182978 = /* ERROR: no complex support in C */;
return r2182978;
}
double f(double x, double y) {
double r2182979 = x;
double r2182980 = exp(r2182979);
double r2182981 = -r2182979;
double r2182982 = exp(r2182981);
double r2182983 = r2182980 + r2182982;
double r2182984 = 2.0;
double r2182985 = r2182983 / r2182984;
double r2182986 = y;
double r2182987 = cos(r2182986);
double r2182988 = r2182985 * r2182987;
double r2182989 = 0.016666666666666666;
double r2182990 = 5.0;
double r2182991 = pow(r2182979, r2182990);
double r2182992 = r2182989 * r2182991;
double r2182993 = 0.3333333333333333;
double r2182994 = r2182979 * r2182979;
double r2182995 = r2182993 * r2182994;
double r2182996 = r2182984 + r2182995;
double r2182997 = r2182996 * r2182979;
double r2182998 = r2182992 + r2182997;
double r2182999 = r2182998 / r2182984;
double r2183000 = sin(r2182986);
double r2183001 = r2182999 * r2183000;
double r2183002 = /* ERROR: no complex support in C */;
double r2183003 = /* ERROR: no complex support in C */;
return r2183003;
}



Bits error versus x



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