Average Error: 0.0 → 0.0
Time: 12.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(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \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(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \left(\sqrt{\frac{e^{x} + e^{-x}}{2}} \cdot \cos y\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r29004 = x;
        double r29005 = exp(r29004);
        double r29006 = -r29004;
        double r29007 = exp(r29006);
        double r29008 = r29005 + r29007;
        double r29009 = 2.0;
        double r29010 = r29008 / r29009;
        double r29011 = y;
        double r29012 = cos(r29011);
        double r29013 = r29010 * r29012;
        double r29014 = r29005 - r29007;
        double r29015 = r29014 / r29009;
        double r29016 = sin(r29011);
        double r29017 = r29015 * r29016;
        double r29018 = /* ERROR: no complex support in C */;
        double r29019 = /* ERROR: no complex support in C */;
        return r29019;
}

double f(double x, double y) {
        double r29020 = x;
        double r29021 = exp(r29020);
        double r29022 = -r29020;
        double r29023 = exp(r29022);
        double r29024 = r29021 + r29023;
        double r29025 = 2.0;
        double r29026 = r29024 / r29025;
        double r29027 = sqrt(r29026);
        double r29028 = y;
        double r29029 = cos(r29028);
        double r29030 = r29027 * r29029;
        double r29031 = r29027 * r29030;
        double r29032 = r29021 - r29023;
        double r29033 = r29032 / r29025;
        double r29034 = sin(r29028);
        double r29035 = r29033 * r29034;
        double r29036 = /* ERROR: no complex support in C */;
        double r29037 = /* ERROR: no complex support in C */;
        return r29037;
}

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. Using strategy rm
  3. Applied add-sqr-sqrt0.0

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

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

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

Reproduce

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