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



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