\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r37405 = x;
double r37406 = exp(r37405);
double r37407 = -r37405;
double r37408 = exp(r37407);
double r37409 = r37406 + r37408;
double r37410 = 2.0;
double r37411 = r37409 / r37410;
double r37412 = y;
double r37413 = cos(r37412);
double r37414 = r37411 * r37413;
double r37415 = r37406 - r37408;
double r37416 = r37415 / r37410;
double r37417 = sin(r37412);
double r37418 = r37416 * r37417;
double r37419 = /* ERROR: no complex support in C */;
double r37420 = /* ERROR: no complex support in C */;
return r37420;
}
double f(double x, double y) {
double r37421 = x;
double r37422 = exp(r37421);
double r37423 = -r37421;
double r37424 = exp(r37423);
double r37425 = r37422 + r37424;
double r37426 = 2.0;
double r37427 = r37425 / r37426;
double r37428 = y;
double r37429 = cos(r37428);
double r37430 = r37427 * r37429;
double r37431 = r37422 - r37424;
double r37432 = r37431 / r37426;
double r37433 = sin(r37428);
double r37434 = r37432 * r37433;
double r37435 = /* ERROR: no complex support in C */;
double r37436 = /* ERROR: no complex support in C */;
return r37436;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019323
(FPCore (x y)
:name "Euler formula real part (p55)"
:precision binary64
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))