Average Error: 42.9 → 0.4
Time: 12.2s
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.0177843948522572078:\\ \;\;\;\;\frac{\sqrt{e^{x}} + \sqrt{e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x}} - \sqrt{e^{-x}}}{\sqrt{2}} \cdot \sin y\right)\\ \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.0177843948522572078:\\
\;\;\;\;\frac{\sqrt{e^{x}} + \sqrt{e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x}} - \sqrt{e^{-x}}}{\sqrt{2}} \cdot \sin y\right)\\

\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 r45225 = x;
        double r45226 = exp(r45225);
        double r45227 = -r45225;
        double r45228 = exp(r45227);
        double r45229 = r45226 + r45228;
        double r45230 = 2.0;
        double r45231 = r45229 / r45230;
        double r45232 = y;
        double r45233 = cos(r45232);
        double r45234 = r45231 * r45233;
        double r45235 = r45226 - r45228;
        double r45236 = r45235 / r45230;
        double r45237 = sin(r45232);
        double r45238 = r45236 * r45237;
        double r45239 = /* ERROR: no complex support in C */;
        double r45240 = /* ERROR: no complex support in C */;
        return r45240;
}

double f(double x, double y) {
        double r45241 = x;
        double r45242 = -0.017784394852257208;
        bool r45243 = r45241 <= r45242;
        double r45244 = exp(r45241);
        double r45245 = sqrt(r45244);
        double r45246 = -r45241;
        double r45247 = exp(r45246);
        double r45248 = sqrt(r45247);
        double r45249 = r45245 + r45248;
        double r45250 = 2.0;
        double r45251 = sqrt(r45250);
        double r45252 = r45249 / r45251;
        double r45253 = r45245 - r45248;
        double r45254 = r45253 / r45251;
        double r45255 = y;
        double r45256 = sin(r45255);
        double r45257 = r45254 * r45256;
        double r45258 = r45252 * r45257;
        double r45259 = 0.3333333333333333;
        double r45260 = 3.0;
        double r45261 = pow(r45241, r45260);
        double r45262 = r45259 * r45261;
        double r45263 = 0.016666666666666666;
        double r45264 = 5.0;
        double r45265 = pow(r45241, r45264);
        double r45266 = r45263 * r45265;
        double r45267 = 2.0;
        double r45268 = r45267 * r45241;
        double r45269 = r45266 + r45268;
        double r45270 = r45262 + r45269;
        double r45271 = r45270 / r45250;
        double r45272 = r45271 * r45256;
        double r45273 = r45243 ? r45258 : r45272;
        return r45273;
}

Error

Bits error versus x

Bits error versus y

Derivation

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

    1. Initial program 1.5

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

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

      \[\leadsto \frac{e^{x} - e^{-x}}{\color{blue}{\sqrt{2} \cdot \sqrt{2}}} \cdot \sin y\]
    5. Applied add-sqr-sqrt2.4

      \[\leadsto \frac{e^{x} - \color{blue}{\sqrt{e^{-x}} \cdot \sqrt{e^{-x}}}}{\sqrt{2} \cdot \sqrt{2}} \cdot \sin y\]
    6. Applied add-sqr-sqrt2.5

      \[\leadsto \frac{\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}} - \sqrt{e^{-x}} \cdot \sqrt{e^{-x}}}{\sqrt{2} \cdot \sqrt{2}} \cdot \sin y\]
    7. Applied difference-of-squares2.5

      \[\leadsto \frac{\color{blue}{\left(\sqrt{e^{x}} + \sqrt{e^{-x}}\right) \cdot \left(\sqrt{e^{x}} - \sqrt{e^{-x}}\right)}}{\sqrt{2} \cdot \sqrt{2}} \cdot \sin y\]
    8. Applied times-frac2.3

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

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

    if -0.017784394852257208 < x

    1. Initial program 43.2

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

      \[\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.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.0177843948522572078:\\ \;\;\;\;\frac{\sqrt{e^{x}} + \sqrt{e^{-x}}}{\sqrt{2}} \cdot \left(\frac{\sqrt{e^{x}} - \sqrt{e^{-x}}}{\sqrt{2}} \cdot \sin y\right)\\ \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 2020047 
(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)))))