Average Error: 0.0 → 0.0
Time: 18.0s
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{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}\right)\right)\]
\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}\right)\right)
double f(double x, double y) {
        double r717421 = x;
        double r717422 = exp(r717421);
        double r717423 = -r717421;
        double r717424 = exp(r717423);
        double r717425 = r717422 + r717424;
        double r717426 = 2.0;
        double r717427 = r717425 / r717426;
        double r717428 = y;
        double r717429 = cos(r717428);
        double r717430 = r717427 * r717429;
        double r717431 = r717422 - r717424;
        double r717432 = r717431 / r717426;
        double r717433 = sin(r717428);
        double r717434 = r717432 * r717433;
        double r717435 = /* ERROR: no complex support in C */;
        double r717436 = /* ERROR: no complex support in C */;
        return r717436;
}

double f(double x, double y) {
        double r717437 = 0.5;
        double r717438 = y;
        double r717439 = cos(r717438);
        double r717440 = x;
        double r717441 = exp(r717440);
        double r717442 = sqrt(r717441);
        double r717443 = r717439 / r717442;
        double r717444 = r717443 / r717442;
        double r717445 = fma(r717439, r717441, r717444);
        double r717446 = r717437 * r717445;
        return r717446;
}

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{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\cos y}{e^{x}}\right)\right)}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.0

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

    \[\leadsto \frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \color{blue}{\left(\frac{\frac{\cos y}{1}}{e^{x}}\right)}\right)\]
  6. Simplified0.0

    \[\leadsto \frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\color{blue}{\cos y}}{e^{x}}\right)\right)\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\cos y}{\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}}}\right)\right)\]
  9. Applied associate-/r*0.0

    \[\leadsto \frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \color{blue}{\left(\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}\right)}\right)\]
  10. Final simplification0.0

    \[\leadsto \frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}\right)\right)\]

Reproduce

herbie shell --seed 2019132 +o rules:numerics
(FPCore (x y)
  :name "Euler formula real part (p55)"
  (re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))