Average Error: 0.0 → 0.0
Time: 9.2s
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 r22990 = x;
        double r22991 = exp(r22990);
        double r22992 = -r22990;
        double r22993 = exp(r22992);
        double r22994 = r22991 + r22993;
        double r22995 = 2.0;
        double r22996 = r22994 / r22995;
        double r22997 = y;
        double r22998 = cos(r22997);
        double r22999 = r22996 * r22998;
        double r23000 = r22991 - r22993;
        double r23001 = r23000 / r22995;
        double r23002 = sin(r22997);
        double r23003 = r23001 * r23002;
        double r23004 = /* ERROR: no complex support in C */;
        double r23005 = /* ERROR: no complex support in C */;
        return r23005;
}

double f(double x, double y) {
        double r23006 = x;
        double r23007 = exp(r23006);
        double r23008 = -r23006;
        double r23009 = exp(r23008);
        double r23010 = r23007 + r23009;
        double r23011 = 2.0;
        double r23012 = r23010 / r23011;
        double r23013 = y;
        double r23014 = cos(r23013);
        double r23015 = r23012 * r23014;
        double r23016 = r23007 - r23009;
        double r23017 = r23016 / r23011;
        double r23018 = sin(r23013);
        double r23019 = r23017 * r23018;
        double r23020 = /* ERROR: no complex support in C */;
        double r23021 = /* ERROR: no complex support in C */;
        return r23021;
}

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 2020046 
(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)))))