Average Error: 23.9 → 7.5
Time: 54.2s
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 -1:\\ \;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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 -1:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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 r112458 = alpha;
        double r112459 = beta;
        double r112460 = r112458 + r112459;
        double r112461 = r112459 - r112458;
        double r112462 = r112460 * r112461;
        double r112463 = 2.0;
        double r112464 = i;
        double r112465 = r112463 * r112464;
        double r112466 = r112460 + r112465;
        double r112467 = r112462 / r112466;
        double r112468 = r112466 + r112463;
        double r112469 = r112467 / r112468;
        double r112470 = 1.0;
        double r112471 = r112469 + r112470;
        double r112472 = r112471 / r112463;
        return r112472;
}

double f(double alpha, double beta, double i) {
        double r112473 = alpha;
        double r112474 = beta;
        double r112475 = r112473 + r112474;
        double r112476 = r112474 - r112473;
        double r112477 = r112475 * r112476;
        double r112478 = 2.0;
        double r112479 = i;
        double r112480 = r112478 * r112479;
        double r112481 = r112475 + r112480;
        double r112482 = r112477 / r112481;
        double r112483 = r112481 + r112478;
        double r112484 = r112482 / r112483;
        double r112485 = -1.0;
        bool r112486 = r112484 <= r112485;
        double r112487 = 1.0;
        double r112488 = r112487 / r112473;
        double r112489 = r112478 * r112488;
        double r112490 = 8.0;
        double r112491 = 3.0;
        double r112492 = pow(r112473, r112491);
        double r112493 = r112487 / r112492;
        double r112494 = r112490 * r112493;
        double r112495 = r112489 + r112494;
        double r112496 = 4.0;
        double r112497 = 2.0;
        double r112498 = pow(r112473, r112497);
        double r112499 = r112487 / r112498;
        double r112500 = r112496 * r112499;
        double r112501 = r112495 - r112500;
        double r112502 = r112501 / r112478;
        double r112503 = r112476 / r112481;
        double r112504 = r112503 / r112483;
        double r112505 = r112475 * r112504;
        double r112506 = 1.0;
        double r112507 = r112505 + r112506;
        double r112508 = exp(r112507);
        double r112509 = log(r112508);
        double r112510 = r112509 / r112478;
        double r112511 = r112486 ? r112502 : r112510;
        return r112511;
}

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)) < -1.0

    1. Initial program 63.3

      \[\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-identity63.3

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

      \[\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)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)} + 1}{2}\]
    5. Applied times-frac54.2

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

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

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

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    10. Applied add-log-exp54.1

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    11. Applied sum-log54.1

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    12. Simplified54.1

      \[\leadsto \frac{\log \color{blue}{\left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}}{2}\]
    13. Taylor expanded around inf 33.0

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

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

    1. Initial program 13.1

      \[\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-identity13.1

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)}} + 1}{2}\]
    4. Applied *-un-lft-identity13.1

      \[\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)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)} + 1}{2}\]
    5. Applied times-frac0.5

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

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

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

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    10. Applied add-log-exp0.6

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    11. Applied sum-log0.6

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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}\]
    12. Simplified0.6

      \[\leadsto \frac{\log \color{blue}{\left(e^{\left(\alpha + \beta\right) \cdot \frac{\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.5

    \[\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 -1:\\ \;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\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 2019323 
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))