Average Error: 0.0 → 0.0
Time: 19.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 r33951 = x;
        double r33952 = exp(r33951);
        double r33953 = -r33951;
        double r33954 = exp(r33953);
        double r33955 = r33952 + r33954;
        double r33956 = 2.0;
        double r33957 = r33955 / r33956;
        double r33958 = y;
        double r33959 = cos(r33958);
        double r33960 = r33957 * r33959;
        double r33961 = r33952 - r33954;
        double r33962 = r33961 / r33956;
        double r33963 = sin(r33958);
        double r33964 = r33962 * r33963;
        double r33965 = /* ERROR: no complex support in C */;
        double r33966 = /* ERROR: no complex support in C */;
        return r33966;
}

double f(double x, double y) {
        double r33967 = x;
        double r33968 = exp(r33967);
        double r33969 = -r33967;
        double r33970 = exp(r33969);
        double r33971 = r33968 + r33970;
        double r33972 = 2.0;
        double r33973 = r33971 / r33972;
        double r33974 = y;
        double r33975 = cos(r33974);
        double r33976 = r33973 * r33975;
        double r33977 = r33968 - r33970;
        double r33978 = r33977 / r33972;
        double r33979 = sin(r33974);
        double r33980 = r33978 * r33979;
        double r33981 = /* ERROR: no complex support in C */;
        double r33982 = /* ERROR: no complex support in C */;
        return r33982;
}

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