Average Error: 0.0 → 0.0
Time: 12.1s
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(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\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(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right) + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r34191 = x;
        double r34192 = exp(r34191);
        double r34193 = -r34191;
        double r34194 = exp(r34193);
        double r34195 = r34192 + r34194;
        double r34196 = 2.0;
        double r34197 = r34195 / r34196;
        double r34198 = y;
        double r34199 = cos(r34198);
        double r34200 = r34197 * r34199;
        double r34201 = r34192 - r34194;
        double r34202 = r34201 / r34196;
        double r34203 = sin(r34198);
        double r34204 = r34202 * r34203;
        double r34205 = /* ERROR: no complex support in C */;
        double r34206 = /* ERROR: no complex support in C */;
        return r34206;
}

double f(double x, double y) {
        double r34207 = x;
        double r34208 = exp(r34207);
        double r34209 = -r34207;
        double r34210 = exp(r34209);
        double r34211 = r34208 + r34210;
        double r34212 = 2.0;
        double r34213 = r34211 / r34212;
        double r34214 = sqrt(r34213);
        double r34215 = y;
        double r34216 = cos(r34215);
        double r34217 = r34216 * r34214;
        double r34218 = r34214 * r34217;
        double r34219 = r34208 - r34210;
        double r34220 = r34219 / r34212;
        double r34221 = sin(r34215);
        double r34222 = r34220 * r34221;
        double r34223 = /* ERROR: no complex support in C */;
        double r34224 = /* ERROR: no complex support in C */;
        return r34224;
}

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

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

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

Reproduce

herbie shell --seed 2019194 
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))