\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{\mathsf{fma}\left(\frac{1}{60}, {x}^{5}, x \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{3}\right) + 2 \cdot x\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1478067 = x;
double r1478068 = exp(r1478067);
double r1478069 = -r1478067;
double r1478070 = exp(r1478069);
double r1478071 = r1478068 + r1478070;
double r1478072 = 2.0;
double r1478073 = r1478071 / r1478072;
double r1478074 = y;
double r1478075 = cos(r1478074);
double r1478076 = r1478073 * r1478075;
double r1478077 = r1478068 - r1478070;
double r1478078 = r1478077 / r1478072;
double r1478079 = sin(r1478074);
double r1478080 = r1478078 * r1478079;
double r1478081 = /* ERROR: no complex support in C */;
double r1478082 = /* ERROR: no complex support in C */;
return r1478082;
}
double f(double x, double y) {
double r1478083 = x;
double r1478084 = exp(r1478083);
double r1478085 = -r1478083;
double r1478086 = exp(r1478085);
double r1478087 = r1478084 + r1478086;
double r1478088 = 2.0;
double r1478089 = r1478087 / r1478088;
double r1478090 = y;
double r1478091 = cos(r1478090);
double r1478092 = r1478089 * r1478091;
double r1478093 = 0.016666666666666666;
double r1478094 = 5.0;
double r1478095 = pow(r1478083, r1478094);
double r1478096 = r1478083 * r1478083;
double r1478097 = 0.3333333333333333;
double r1478098 = r1478096 * r1478097;
double r1478099 = r1478083 * r1478098;
double r1478100 = r1478088 * r1478083;
double r1478101 = r1478099 + r1478100;
double r1478102 = fma(r1478093, r1478095, r1478101);
double r1478103 = r1478102 / r1478088;
double r1478104 = sin(r1478090);
double r1478105 = r1478103 * r1478104;
double r1478106 = /* ERROR: no complex support in C */;
double r1478107 = /* ERROR: no complex support in C */;
return r1478107;
}



Bits error versus x



Bits error versus y
Initial program 43.8
Taylor expanded around 0 0.8
Simplified0.8
rmApplied distribute-rgt-in0.8
Final simplification0.8
herbie shell --seed 2019149 +o rules:numerics
(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)))))