Average Error: 43.2 → 0.5
Time: 33.0s
Precision: 64
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.01288229977934218090096507580710749607533:\\ \;\;\;\;\left(\sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y} \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\right) \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2} \cdot \sin y\\ \end{array}\]
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\begin{array}{l}
\mathbf{if}\;x \le -0.01288229977934218090096507580710749607533:\\
\;\;\;\;\left(\sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y} \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\right) \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2} \cdot \sin y\\

\end{array}
double f(double x, double y) {
        double r48197 = x;
        double r48198 = exp(r48197);
        double r48199 = -r48197;
        double r48200 = exp(r48199);
        double r48201 = r48198 + r48200;
        double r48202 = 2.0;
        double r48203 = r48201 / r48202;
        double r48204 = y;
        double r48205 = cos(r48204);
        double r48206 = r48203 * r48205;
        double r48207 = r48198 - r48200;
        double r48208 = r48207 / r48202;
        double r48209 = sin(r48204);
        double r48210 = r48208 * r48209;
        double r48211 = /* ERROR: no complex support in C */;
        double r48212 = /* ERROR: no complex support in C */;
        return r48212;
}

double f(double x, double y) {
        double r48213 = x;
        double r48214 = -0.012882299779342181;
        bool r48215 = r48213 <= r48214;
        double r48216 = exp(r48213);
        double r48217 = -r48213;
        double r48218 = exp(r48217);
        double r48219 = r48216 - r48218;
        double r48220 = 2.0;
        double r48221 = r48219 / r48220;
        double r48222 = y;
        double r48223 = sin(r48222);
        double r48224 = r48221 * r48223;
        double r48225 = cbrt(r48224);
        double r48226 = r48225 * r48225;
        double r48227 = r48226 * r48225;
        double r48228 = 0.3333333333333333;
        double r48229 = 3.0;
        double r48230 = pow(r48213, r48229);
        double r48231 = r48228 * r48230;
        double r48232 = 0.016666666666666666;
        double r48233 = 5.0;
        double r48234 = pow(r48213, r48233);
        double r48235 = r48232 * r48234;
        double r48236 = 2.0;
        double r48237 = r48236 * r48213;
        double r48238 = r48235 + r48237;
        double r48239 = r48231 + r48238;
        double r48240 = r48239 / r48220;
        double r48241 = r48240 * r48223;
        double r48242 = r48215 ? r48227 : r48241;
        return r48242;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Split input into 2 regimes
  2. if x < -0.012882299779342181

    1. Initial program 2.8

      \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
    2. Simplified2.8

      \[\leadsto \color{blue}{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt3.5

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

    if -0.012882299779342181 < x

    1. Initial program 43.5

      \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
    2. Simplified43.5

      \[\leadsto \color{blue}{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\]
    3. Taylor expanded around 0 0.4

      \[\leadsto \frac{\color{blue}{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}}{2} \cdot \sin y\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.01288229977934218090096507580710749607533:\\ \;\;\;\;\left(\sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y} \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\right) \cdot \sqrt[3]{\frac{e^{x} - e^{-x}}{2} \cdot \sin y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2} \cdot \sin y\\ \end{array}\]

Reproduce

herbie shell --seed 2019323 
(FPCore (x y)
  :name "Euler formula imaginary part (p55)"
  :precision binary64
  (im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))