Average Error: 0.0 → 0.0
Time: 5.3s
Precision: 64
\[\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))\]
\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 r32569 = x;
        double r32570 = exp(r32569);
        double r32571 = -r32569;
        double r32572 = exp(r32571);
        double r32573 = r32570 + r32572;
        double r32574 = 2.0;
        double r32575 = r32573 / r32574;
        double r32576 = y;
        double r32577 = cos(r32576);
        double r32578 = r32575 * r32577;
        double r32579 = r32570 - r32572;
        double r32580 = r32579 / r32574;
        double r32581 = sin(r32576);
        double r32582 = r32580 * r32581;
        double r32583 = /* ERROR: no complex support in C */;
        double r32584 = /* ERROR: no complex support in C */;
        return r32584;
}

double f(double x, double y) {
        double r32585 = x;
        double r32586 = exp(r32585);
        double r32587 = -r32585;
        double r32588 = exp(r32587);
        double r32589 = r32586 + r32588;
        double r32590 = 2.0;
        double r32591 = r32589 / r32590;
        double r32592 = y;
        double r32593 = cos(r32592);
        double r32594 = r32591 * r32593;
        double r32595 = r32586 - r32588;
        double r32596 = r32595 / r32590;
        double r32597 = sin(r32592);
        double r32598 = r32596 * r32597;
        double r32599 = /* ERROR: no complex support in C */;
        double r32600 = /* ERROR: no complex support in C */;
        return r32600;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.0

    \[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Final simplification0.0

    \[\leadsto \Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]

Reproduce

herbie shell --seed 2020020 
(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)))))