Average Error: 0.0 → 0.0
Time: 40.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))\]
\[\left(\cos y \cdot \sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}}\right) \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\left(\cos y \cdot \sqrt[3]{{\left(\sqrt{\frac{e^{x} + e^{-x}}{2}}\right)}^{3}}\right) \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}
double f(double x, double y) {
        double r32574 = x;
        double r32575 = exp(r32574);
        double r32576 = -r32574;
        double r32577 = exp(r32576);
        double r32578 = r32575 + r32577;
        double r32579 = 2.0;
        double r32580 = r32578 / r32579;
        double r32581 = y;
        double r32582 = cos(r32581);
        double r32583 = r32580 * r32582;
        double r32584 = r32575 - r32577;
        double r32585 = r32584 / r32579;
        double r32586 = sin(r32581);
        double r32587 = r32585 * r32586;
        double r32588 = /* ERROR: no complex support in C */;
        double r32589 = /* ERROR: no complex support in C */;
        return r32589;
}

double f(double x, double y) {
        double r32590 = y;
        double r32591 = cos(r32590);
        double r32592 = x;
        double r32593 = exp(r32592);
        double r32594 = -r32592;
        double r32595 = exp(r32594);
        double r32596 = r32593 + r32595;
        double r32597 = 2.0;
        double r32598 = r32596 / r32597;
        double r32599 = sqrt(r32598);
        double r32600 = 3.0;
        double r32601 = pow(r32599, r32600);
        double r32602 = cbrt(r32601);
        double r32603 = r32591 * r32602;
        double r32604 = r32603 * r32599;
        return r32604;
}

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}{\cos y \cdot \frac{e^{x} + e^{-x}}{2}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

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

    \[\leadsto \color{blue}{\left(\cos y \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}\right) \cdot \sqrt{\frac{e^{x} + e^{-x}}{2}}}\]
  6. Using strategy rm
  7. Applied add-cbrt-cube0.0

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

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

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

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(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)))))