Average Error: 0.0 → 0.0
Time: 15.7s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\left(\left(e^{-1 \cdot x} + e^{x}\right) \cdot \cos y\right) \cdot 0.5\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\left(\left(e^{-1 \cdot x} + e^{x}\right) \cdot \cos y\right) \cdot 0.5
double f(double x, double y) {
        double r36965 = x;
        double r36966 = exp(r36965);
        double r36967 = -r36965;
        double r36968 = exp(r36967);
        double r36969 = r36966 + r36968;
        double r36970 = 2.0;
        double r36971 = r36969 / r36970;
        double r36972 = y;
        double r36973 = cos(r36972);
        double r36974 = r36971 * r36973;
        double r36975 = r36966 - r36968;
        double r36976 = r36975 / r36970;
        double r36977 = sin(r36972);
        double r36978 = r36976 * r36977;
        double r36979 = /* ERROR: no complex support in C */;
        double r36980 = /* ERROR: no complex support in C */;
        return r36980;
}

double f(double x, double y) {
        double r36981 = -1.0;
        double r36982 = x;
        double r36983 = r36981 * r36982;
        double r36984 = exp(r36983);
        double r36985 = exp(r36982);
        double r36986 = r36984 + r36985;
        double r36987 = y;
        double r36988 = cos(r36987);
        double r36989 = r36986 * r36988;
        double r36990 = 0.5;
        double r36991 = r36989 * r36990;
        return r36991;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{e^{x} + e^{-x}}{2} \cdot \cos y}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

    \[\leadsto \color{blue}{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right)} \cdot \cos y\]
  5. Applied associate-*l*0.0

    \[\leadsto \color{blue}{\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right)}\]
  6. Taylor expanded around inf 1.2

    \[\leadsto \color{blue}{\left(e^{x} + e^{-x}\right) \cdot \left(\cos y \cdot {\left(\sqrt{0.5}\right)}^{2}\right)}\]
  7. Simplified0.0

    \[\leadsto \color{blue}{\left(\left(e^{-1 \cdot x} + e^{x}\right) \cdot \cos y\right) \cdot 0.5}\]
  8. Final simplification0.0

    \[\leadsto \left(\left(e^{-1 \cdot x} + e^{x}\right) \cdot \cos y\right) \cdot 0.5\]

Reproduce

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