Average Error: 0.0 → 0.6
Time: 3.6s
Precision: 64
\[\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y\right)\right)\]

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 log1p-expm1-u0.6

    \[\leadsto \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y\right)\right)}\]
  5. Final simplification0.6

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

Reproduce

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