Average Error: 24.1 → 7.7
Time: 45.4s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 0.0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\ \;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}{2}\\ \end{array}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\
\;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r105390 = alpha;
        double r105391 = beta;
        double r105392 = r105390 + r105391;
        double r105393 = r105391 - r105390;
        double r105394 = r105392 * r105393;
        double r105395 = 2.0;
        double r105396 = i;
        double r105397 = r105395 * r105396;
        double r105398 = r105392 + r105397;
        double r105399 = r105394 / r105398;
        double r105400 = r105398 + r105395;
        double r105401 = r105399 / r105400;
        double r105402 = 1.0;
        double r105403 = r105401 + r105402;
        double r105404 = r105403 / r105395;
        return r105404;
}

double f(double alpha, double beta, double i) {
        double r105405 = alpha;
        double r105406 = beta;
        double r105407 = r105405 + r105406;
        double r105408 = r105406 - r105405;
        double r105409 = r105407 * r105408;
        double r105410 = 2.0;
        double r105411 = i;
        double r105412 = r105410 * r105411;
        double r105413 = r105407 + r105412;
        double r105414 = r105409 / r105413;
        double r105415 = r105413 + r105410;
        double r105416 = r105414 / r105415;
        double r105417 = -0.9999999999999999;
        bool r105418 = r105416 <= r105417;
        double r105419 = 8.0;
        double r105420 = 3.0;
        double r105421 = pow(r105405, r105420);
        double r105422 = r105419 / r105421;
        double r105423 = r105410 / r105405;
        double r105424 = 4.0;
        double r105425 = r105405 * r105405;
        double r105426 = r105424 / r105425;
        double r105427 = r105423 - r105426;
        double r105428 = r105422 + r105427;
        double r105429 = r105428 / r105410;
        double r105430 = r105408 / r105413;
        double r105431 = r105407 * r105430;
        double r105432 = r105431 / r105415;
        double r105433 = 1.0;
        double r105434 = r105432 + r105433;
        double r105435 = exp(r105434);
        double r105436 = log(r105435);
        double r105437 = r105436 / r105410;
        double r105438 = r105418 ? r105429 : r105437;
        return r105438;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) < -0.9999999999999999

    1. Initial program 63.2

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Taylor expanded around inf 33.2

      \[\leadsto \frac{\color{blue}{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}}{2}\]
    3. Simplified33.2

      \[\leadsto \frac{\color{blue}{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}}{2}\]

    if -0.9999999999999999 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))

    1. Initial program 12.7

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity12.7

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    4. Applied times-frac0.3

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    5. Simplified0.3

      \[\leadsto \frac{\frac{\color{blue}{\left(\alpha + \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    6. Using strategy rm
    7. Applied add-log-exp0.3

      \[\leadsto \frac{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + \color{blue}{\log \left(e^{1}\right)}}{2}\]
    8. Applied add-log-exp0.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right)} + \log \left(e^{1}\right)}{2}\]
    9. Applied sum-log0.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot e^{1}\right)}}{2}\]
    10. Simplified0.3

      \[\leadsto \frac{\log \color{blue}{\left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification7.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\ \;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2019199 
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))