Average Error: 0.0 → 0.0
Time: 21.8s
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 r38008 = x;
        double r38009 = exp(r38008);
        double r38010 = -r38008;
        double r38011 = exp(r38010);
        double r38012 = r38009 + r38011;
        double r38013 = 2.0;
        double r38014 = r38012 / r38013;
        double r38015 = y;
        double r38016 = cos(r38015);
        double r38017 = r38014 * r38016;
        double r38018 = r38009 - r38011;
        double r38019 = r38018 / r38013;
        double r38020 = sin(r38015);
        double r38021 = r38019 * r38020;
        double r38022 = /* ERROR: no complex support in C */;
        double r38023 = /* ERROR: no complex support in C */;
        return r38023;
}

double f(double x, double y) {
        double r38024 = x;
        double r38025 = exp(r38024);
        double r38026 = -r38024;
        double r38027 = exp(r38026);
        double r38028 = r38025 + r38027;
        double r38029 = 2.0;
        double r38030 = r38028 / r38029;
        double r38031 = y;
        double r38032 = cos(r38031);
        double r38033 = r38030 * r38032;
        double r38034 = r38025 - r38027;
        double r38035 = r38034 / r38029;
        double r38036 = sin(r38031);
        double r38037 = r38035 * r38036;
        double r38038 = /* ERROR: no complex support in C */;
        double r38039 = /* ERROR: no complex support in C */;
        return r38039;
}

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