\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 \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1648070 = x;
double r1648071 = exp(r1648070);
double r1648072 = -r1648070;
double r1648073 = exp(r1648072);
double r1648074 = r1648071 + r1648073;
double r1648075 = 2.0;
double r1648076 = r1648074 / r1648075;
double r1648077 = y;
double r1648078 = cos(r1648077);
double r1648079 = r1648076 * r1648078;
double r1648080 = r1648071 - r1648073;
double r1648081 = r1648080 / r1648075;
double r1648082 = sin(r1648077);
double r1648083 = r1648081 * r1648082;
double r1648084 = /* ERROR: no complex support in C */;
double r1648085 = /* ERROR: no complex support in C */;
return r1648085;
}
double f(double x, double y) {
double r1648086 = x;
double r1648087 = exp(r1648086);
double r1648088 = -r1648086;
double r1648089 = exp(r1648088);
double r1648090 = r1648087 + r1648089;
double r1648091 = 2.0;
double r1648092 = r1648090 / r1648091;
double r1648093 = y;
double r1648094 = cos(r1648093);
double r1648095 = r1648092 * r1648094;
double r1648096 = 0.3333333333333333;
double r1648097 = r1648086 * r1648096;
double r1648098 = r1648097 * r1648086;
double r1648099 = r1648098 + r1648091;
double r1648100 = r1648086 * r1648099;
double r1648101 = 5.0;
double r1648102 = pow(r1648086, r1648101);
double r1648103 = 0.016666666666666666;
double r1648104 = r1648102 * r1648103;
double r1648105 = r1648100 + r1648104;
double r1648106 = r1648105 / r1648091;
double r1648107 = sin(r1648093);
double r1648108 = r1648106 * r1648107;
double r1648109 = /* ERROR: no complex support in C */;
double r1648110 = /* ERROR: no complex support in C */;
return r1648110;
}



Bits error versus x



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