Average Error: 0.0 → 0.0
Time: 16.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 r40555 = x;
        double r40556 = exp(r40555);
        double r40557 = -r40555;
        double r40558 = exp(r40557);
        double r40559 = r40556 + r40558;
        double r40560 = 2.0;
        double r40561 = r40559 / r40560;
        double r40562 = y;
        double r40563 = cos(r40562);
        double r40564 = r40561 * r40563;
        double r40565 = r40556 - r40558;
        double r40566 = r40565 / r40560;
        double r40567 = sin(r40562);
        double r40568 = r40566 * r40567;
        double r40569 = /* ERROR: no complex support in C */;
        double r40570 = /* ERROR: no complex support in C */;
        return r40570;
}

double f(double x, double y) {
        double r40571 = x;
        double r40572 = exp(r40571);
        double r40573 = -r40571;
        double r40574 = exp(r40573);
        double r40575 = r40572 + r40574;
        double r40576 = 2.0;
        double r40577 = r40575 / r40576;
        double r40578 = sqrt(r40577);
        double r40579 = y;
        double r40580 = cos(r40579);
        double r40581 = r40580 * r40578;
        double r40582 = r40578 * r40581;
        double r40583 = r40572 - r40574;
        double r40584 = r40583 / r40576;
        double r40585 = sin(r40579);
        double r40586 = r40584 * r40585;
        double r40587 = /* ERROR: no complex support in C */;
        double r40588 = /* ERROR: no complex support in C */;
        return r40588;
}

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