Average Error: 0.0 → 0.0
Time: 5.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))\]
\[\frac{\cos y}{\frac{2}{e^{-1 \cdot x} + e^{x}}}\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{\cos y}{\frac{2}{e^{-1 \cdot x} + e^{x}}}
double f(double x, double y) {
        double r35011 = x;
        double r35012 = exp(r35011);
        double r35013 = -r35011;
        double r35014 = exp(r35013);
        double r35015 = r35012 + r35014;
        double r35016 = 2.0;
        double r35017 = r35015 / r35016;
        double r35018 = y;
        double r35019 = cos(r35018);
        double r35020 = r35017 * r35019;
        double r35021 = r35012 - r35014;
        double r35022 = r35021 / r35016;
        double r35023 = sin(r35018);
        double r35024 = r35022 * r35023;
        double r35025 = /* ERROR: no complex support in C */;
        double r35026 = /* ERROR: no complex support in C */;
        return r35026;
}

double f(double x, double y) {
        double r35027 = y;
        double r35028 = cos(r35027);
        double r35029 = 2.0;
        double r35030 = -1.0;
        double r35031 = x;
        double r35032 = r35030 * r35031;
        double r35033 = exp(r35032);
        double r35034 = exp(r35031);
        double r35035 = r35033 + r35034;
        double r35036 = r35029 / r35035;
        double r35037 = r35028 / r35036;
        return r35037;
}

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-sqrt1.5

    \[\leadsto \frac{e^{x} + e^{-x}}{\color{blue}{\sqrt{2} \cdot \sqrt{2}}} \cdot \cos y\]
  5. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{\color{blue}{\sqrt{e^{x} + e^{-x}} \cdot \sqrt{e^{x} + e^{-x}}}}{\sqrt{2} \cdot \sqrt{2}} \cdot \cos y\]
  6. Applied times-frac0.0

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

    \[\leadsto \color{blue}{\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \cos y\right)}\]
  8. Using strategy rm
  9. Applied pow10.0

    \[\leadsto \frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \color{blue}{{\left(\cos y\right)}^{1}}\right)\]
  10. Applied pow10.0

    \[\leadsto \frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \left(\color{blue}{{\left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}}\right)}^{1}} \cdot {\left(\cos y\right)}^{1}\right)\]
  11. Applied pow-prod-down0.0

    \[\leadsto \frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \color{blue}{{\left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \cos y\right)}^{1}}\]
  12. Applied pow10.0

    \[\leadsto \color{blue}{{\left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}}\right)}^{1}} \cdot {\left(\frac{\sqrt{e^{x} + e^{-x}}}{\sqrt{2}} \cdot \cos y\right)}^{1}\]
  13. Applied pow-prod-down0.0

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

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

    \[\leadsto \frac{\cos y}{\frac{2}{e^{-1 \cdot x} + e^{x}}}\]

Reproduce

herbie shell --seed 2020056 +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)))))