\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 r40658 = x;
double r40659 = exp(r40658);
double r40660 = -r40658;
double r40661 = exp(r40660);
double r40662 = r40659 + r40661;
double r40663 = 2.0;
double r40664 = r40662 / r40663;
double r40665 = y;
double r40666 = cos(r40665);
double r40667 = r40664 * r40666;
double r40668 = r40659 - r40661;
double r40669 = r40668 / r40663;
double r40670 = sin(r40665);
double r40671 = r40669 * r40670;
double r40672 = /* ERROR: no complex support in C */;
double r40673 = /* ERROR: no complex support in C */;
return r40673;
}
double f(double x, double y) {
double r40674 = x;
double r40675 = exp(r40674);
double r40676 = -r40674;
double r40677 = exp(r40676);
double r40678 = r40675 + r40677;
double r40679 = 2.0;
double r40680 = r40678 / r40679;
double r40681 = y;
double r40682 = cos(r40681);
double r40683 = r40680 * r40682;
double r40684 = r40675 - r40677;
double r40685 = r40684 / r40679;
double r40686 = sin(r40681);
double r40687 = r40685 * r40686;
double r40688 = /* ERROR: no complex support in C */;
double r40689 = /* ERROR: no complex support in C */;
return r40689;
}



Bits error versus x



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