\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 r35222 = x;
double r35223 = exp(r35222);
double r35224 = -r35222;
double r35225 = exp(r35224);
double r35226 = r35223 + r35225;
double r35227 = 2.0;
double r35228 = r35226 / r35227;
double r35229 = y;
double r35230 = cos(r35229);
double r35231 = r35228 * r35230;
double r35232 = r35223 - r35225;
double r35233 = r35232 / r35227;
double r35234 = sin(r35229);
double r35235 = r35233 * r35234;
double r35236 = /* ERROR: no complex support in C */;
double r35237 = /* ERROR: no complex support in C */;
return r35237;
}
double f(double x, double y) {
double r35238 = x;
double r35239 = exp(r35238);
double r35240 = -r35238;
double r35241 = exp(r35240);
double r35242 = r35239 + r35241;
double r35243 = 2.0;
double r35244 = r35242 / r35243;
double r35245 = y;
double r35246 = cos(r35245);
double r35247 = r35244 * r35246;
double r35248 = r35239 - r35241;
double r35249 = r35248 / r35243;
double r35250 = sin(r35245);
double r35251 = r35249 * r35250;
double r35252 = /* ERROR: no complex support in C */;
double r35253 = /* ERROR: no complex support in C */;
return r35253;
}



Bits error versus x



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