\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 r40419 = x;
double r40420 = exp(r40419);
double r40421 = -r40419;
double r40422 = exp(r40421);
double r40423 = r40420 + r40422;
double r40424 = 2.0;
double r40425 = r40423 / r40424;
double r40426 = y;
double r40427 = cos(r40426);
double r40428 = r40425 * r40427;
double r40429 = r40420 - r40422;
double r40430 = r40429 / r40424;
double r40431 = sin(r40426);
double r40432 = r40430 * r40431;
double r40433 = /* ERROR: no complex support in C */;
double r40434 = /* ERROR: no complex support in C */;
return r40434;
}
double f(double x, double y) {
double r40435 = x;
double r40436 = exp(r40435);
double r40437 = -r40435;
double r40438 = exp(r40437);
double r40439 = r40436 + r40438;
double r40440 = 2.0;
double r40441 = r40439 / r40440;
double r40442 = y;
double r40443 = cos(r40442);
double r40444 = r40441 * r40443;
double r40445 = r40436 - r40438;
double r40446 = r40445 / r40440;
double r40447 = sin(r40442);
double r40448 = r40446 * r40447;
double r40449 = /* ERROR: no complex support in C */;
double r40450 = /* ERROR: no complex support in C */;
return r40450;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020062
(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)))))