\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 r23176 = x;
double r23177 = exp(r23176);
double r23178 = -r23176;
double r23179 = exp(r23178);
double r23180 = r23177 + r23179;
double r23181 = 2.0;
double r23182 = r23180 / r23181;
double r23183 = y;
double r23184 = cos(r23183);
double r23185 = r23182 * r23184;
double r23186 = r23177 - r23179;
double r23187 = r23186 / r23181;
double r23188 = sin(r23183);
double r23189 = r23187 * r23188;
double r23190 = /* ERROR: no complex support in C */;
double r23191 = /* ERROR: no complex support in C */;
return r23191;
}
double f(double x, double y) {
double r23192 = x;
double r23193 = exp(r23192);
double r23194 = -r23192;
double r23195 = exp(r23194);
double r23196 = r23193 + r23195;
double r23197 = 2.0;
double r23198 = r23196 / r23197;
double r23199 = y;
double r23200 = cos(r23199);
double r23201 = r23198 * r23200;
double r23202 = r23193 - r23195;
double r23203 = r23202 / r23197;
double r23204 = sin(r23199);
double r23205 = r23203 * r23204;
double r23206 = /* ERROR: no complex support in C */;
double r23207 = /* ERROR: no complex support in C */;
return r23207;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020039 +o rules:numerics
(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)))))