\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 r38037 = x;
double r38038 = exp(r38037);
double r38039 = -r38037;
double r38040 = exp(r38039);
double r38041 = r38038 + r38040;
double r38042 = 2.0;
double r38043 = r38041 / r38042;
double r38044 = y;
double r38045 = cos(r38044);
double r38046 = r38043 * r38045;
double r38047 = r38038 - r38040;
double r38048 = r38047 / r38042;
double r38049 = sin(r38044);
double r38050 = r38048 * r38049;
double r38051 = /* ERROR: no complex support in C */;
double r38052 = /* ERROR: no complex support in C */;
return r38052;
}
double f(double x, double y) {
double r38053 = x;
double r38054 = exp(r38053);
double r38055 = -r38053;
double r38056 = exp(r38055);
double r38057 = r38054 + r38056;
double r38058 = 2.0;
double r38059 = r38057 / r38058;
double r38060 = y;
double r38061 = cos(r38060);
double r38062 = r38059 * r38061;
double r38063 = r38054 - r38056;
double r38064 = r38063 / r38058;
double r38065 = sin(r38060);
double r38066 = r38064 * r38065;
double r38067 = /* ERROR: no complex support in C */;
double r38068 = /* ERROR: no complex support in C */;
return r38068;
}



Bits error versus x



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