\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 r38008 = x;
double r38009 = exp(r38008);
double r38010 = -r38008;
double r38011 = exp(r38010);
double r38012 = r38009 + r38011;
double r38013 = 2.0;
double r38014 = r38012 / r38013;
double r38015 = y;
double r38016 = cos(r38015);
double r38017 = r38014 * r38016;
double r38018 = r38009 - r38011;
double r38019 = r38018 / r38013;
double r38020 = sin(r38015);
double r38021 = r38019 * r38020;
double r38022 = /* ERROR: no complex support in C */;
double r38023 = /* ERROR: no complex support in C */;
return r38023;
}
double f(double x, double y) {
double r38024 = x;
double r38025 = exp(r38024);
double r38026 = -r38024;
double r38027 = exp(r38026);
double r38028 = r38025 + r38027;
double r38029 = 2.0;
double r38030 = r38028 / r38029;
double r38031 = y;
double r38032 = cos(r38031);
double r38033 = r38030 * r38032;
double r38034 = r38025 - r38027;
double r38035 = r38034 / r38029;
double r38036 = sin(r38031);
double r38037 = r38035 * r38036;
double r38038 = /* ERROR: no complex support in C */;
double r38039 = /* ERROR: no complex support in C */;
return r38039;
}



Bits error versus x



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