Average Error: 43.8 → 0.7
Time: 38.8s
Precision: 64
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\frac{1}{60} \cdot {x}^{5} + x \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{3} + 2\right)}{2} \cdot \sin y i\right))\]
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))
\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\frac{1}{60} \cdot {x}^{5} + x \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{3} + 2\right)}{2} \cdot \sin y i\right))
double f(double x, double y) {
        double r2317157 = x;
        double r2317158 = exp(r2317157);
        double r2317159 = -r2317157;
        double r2317160 = exp(r2317159);
        double r2317161 = r2317158 + r2317160;
        double r2317162 = 2.0;
        double r2317163 = r2317161 / r2317162;
        double r2317164 = y;
        double r2317165 = cos(r2317164);
        double r2317166 = r2317163 * r2317165;
        double r2317167 = r2317158 - r2317160;
        double r2317168 = r2317167 / r2317162;
        double r2317169 = sin(r2317164);
        double r2317170 = r2317168 * r2317169;
        double r2317171 = /* ERROR: no complex support in C */;
        double r2317172 = /* ERROR: no complex support in C */;
        return r2317172;
}

double f(double x, double y) {
        double r2317173 = x;
        double r2317174 = exp(r2317173);
        double r2317175 = -r2317173;
        double r2317176 = exp(r2317175);
        double r2317177 = r2317174 + r2317176;
        double r2317178 = 2.0;
        double r2317179 = r2317177 / r2317178;
        double r2317180 = y;
        double r2317181 = cos(r2317180);
        double r2317182 = r2317179 * r2317181;
        double r2317183 = 0.016666666666666666;
        double r2317184 = 5.0;
        double r2317185 = pow(r2317173, r2317184);
        double r2317186 = r2317183 * r2317185;
        double r2317187 = r2317173 * r2317173;
        double r2317188 = 0.3333333333333333;
        double r2317189 = r2317187 * r2317188;
        double r2317190 = 2.0;
        double r2317191 = r2317189 + r2317190;
        double r2317192 = r2317173 * r2317191;
        double r2317193 = r2317186 + r2317192;
        double r2317194 = r2317193 / r2317178;
        double r2317195 = sin(r2317180);
        double r2317196 = r2317194 * r2317195;
        double r2317197 = /* ERROR: no complex support in C */;
        double r2317198 = /* ERROR: no complex support in C */;
        return r2317198;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.8

    \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Taylor expanded around 0 0.7

    \[\leadsto \Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\color{blue}{2 \cdot x + \left(\frac{1}{3} \cdot {x}^{3} + \frac{1}{60} \cdot {x}^{5}\right)}}{2} \cdot \sin y i\right))\]
  3. Simplified0.7

    \[\leadsto \Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\color{blue}{x \cdot \left(2 + \left(x \cdot x\right) \cdot \frac{1}{3}\right) + \frac{1}{60} \cdot {x}^{5}}}{2} \cdot \sin y i\right))\]
  4. Final simplification0.7

    \[\leadsto \Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\frac{1}{60} \cdot {x}^{5} + x \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{3} + 2\right)}{2} \cdot \sin y i\right))\]

Reproduce

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