\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 r50654 = x;
double r50655 = exp(r50654);
double r50656 = -r50654;
double r50657 = exp(r50656);
double r50658 = r50655 + r50657;
double r50659 = 2.0;
double r50660 = r50658 / r50659;
double r50661 = y;
double r50662 = cos(r50661);
double r50663 = r50660 * r50662;
double r50664 = r50655 - r50657;
double r50665 = r50664 / r50659;
double r50666 = sin(r50661);
double r50667 = r50665 * r50666;
double r50668 = /* ERROR: no complex support in C */;
double r50669 = /* ERROR: no complex support in C */;
return r50669;
}
double f(double x, double y) {
double r50670 = x;
double r50671 = exp(r50670);
double r50672 = -r50670;
double r50673 = exp(r50672);
double r50674 = r50671 + r50673;
double r50675 = 2.0;
double r50676 = r50674 / r50675;
double r50677 = y;
double r50678 = cos(r50677);
double r50679 = r50676 * r50678;
double r50680 = r50671 - r50673;
double r50681 = r50680 / r50675;
double r50682 = sin(r50677);
double r50683 = r50681 * r50682;
double r50684 = /* ERROR: no complex support in C */;
double r50685 = /* ERROR: no complex support in C */;
return r50685;
}



Bits error versus x



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