\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{\left(x \cdot x\right) \cdot \left(x \cdot \frac{1}{3}\right) + \left(2 \cdot x + \frac{1}{60} \cdot {x}^{5}\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r823198 = x;
double r823199 = exp(r823198);
double r823200 = -r823198;
double r823201 = exp(r823200);
double r823202 = r823199 + r823201;
double r823203 = 2.0;
double r823204 = r823202 / r823203;
double r823205 = y;
double r823206 = cos(r823205);
double r823207 = r823204 * r823206;
double r823208 = r823199 - r823201;
double r823209 = r823208 / r823203;
double r823210 = sin(r823205);
double r823211 = r823209 * r823210;
double r823212 = /* ERROR: no complex support in C */;
double r823213 = /* ERROR: no complex support in C */;
return r823213;
}
double f(double x, double y) {
double r823214 = x;
double r823215 = exp(r823214);
double r823216 = -r823214;
double r823217 = exp(r823216);
double r823218 = r823215 + r823217;
double r823219 = 2.0;
double r823220 = r823218 / r823219;
double r823221 = y;
double r823222 = cos(r823221);
double r823223 = r823220 * r823222;
double r823224 = r823214 * r823214;
double r823225 = 0.3333333333333333;
double r823226 = r823214 * r823225;
double r823227 = r823224 * r823226;
double r823228 = r823219 * r823214;
double r823229 = 0.016666666666666666;
double r823230 = 5.0;
double r823231 = pow(r823214, r823230);
double r823232 = r823229 * r823231;
double r823233 = r823228 + r823232;
double r823234 = r823227 + r823233;
double r823235 = r823234 / r823219;
double r823236 = sin(r823221);
double r823237 = r823235 * r823236;
double r823238 = /* ERROR: no complex support in C */;
double r823239 = /* ERROR: no complex support in C */;
return r823239;
}



Bits error versus x



Bits error versus y
Initial program 43.3
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019128
(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)))))