\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 r26798 = x;
double r26799 = exp(r26798);
double r26800 = -r26798;
double r26801 = exp(r26800);
double r26802 = r26799 + r26801;
double r26803 = 2.0;
double r26804 = r26802 / r26803;
double r26805 = y;
double r26806 = cos(r26805);
double r26807 = r26804 * r26806;
double r26808 = r26799 - r26801;
double r26809 = r26808 / r26803;
double r26810 = sin(r26805);
double r26811 = r26809 * r26810;
double r26812 = /* ERROR: no complex support in C */;
double r26813 = /* ERROR: no complex support in C */;
return r26813;
}
double f(double x, double y) {
double r26814 = x;
double r26815 = exp(r26814);
double r26816 = -r26814;
double r26817 = exp(r26816);
double r26818 = r26815 + r26817;
double r26819 = 2.0;
double r26820 = r26818 / r26819;
double r26821 = y;
double r26822 = cos(r26821);
double r26823 = r26820 * r26822;
double r26824 = r26815 - r26817;
double r26825 = r26824 / r26819;
double r26826 = sin(r26821);
double r26827 = r26825 * r26826;
double r26828 = /* ERROR: no complex support in C */;
double r26829 = /* ERROR: no complex support in C */;
return r26829;
}



Bits error versus x



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