Average Error: 24.0 → 11.3
Time: 12.8s
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}\;\alpha \le 1.336842127561784635835223312819898508058 \cdot 10^{115}:\\ \;\;\;\;\frac{\left(\alpha + \beta\right) \cdot \frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}} + 1}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{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}\;\alpha \le 1.336842127561784635835223312819898508058 \cdot 10^{115}:\\
\;\;\;\;\frac{\left(\alpha + \beta\right) \cdot \frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}} + 1}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r166610 = alpha;
        double r166611 = beta;
        double r166612 = r166610 + r166611;
        double r166613 = r166611 - r166610;
        double r166614 = r166612 * r166613;
        double r166615 = 2.0;
        double r166616 = i;
        double r166617 = r166615 * r166616;
        double r166618 = r166612 + r166617;
        double r166619 = r166614 / r166618;
        double r166620 = r166618 + r166615;
        double r166621 = r166619 / r166620;
        double r166622 = 1.0;
        double r166623 = r166621 + r166622;
        double r166624 = r166623 / r166615;
        return r166624;
}

double f(double alpha, double beta, double i) {
        double r166625 = alpha;
        double r166626 = 1.3368421275617846e+115;
        bool r166627 = r166625 <= r166626;
        double r166628 = beta;
        double r166629 = r166625 + r166628;
        double r166630 = 1.0;
        double r166631 = 2.0;
        double r166632 = i;
        double r166633 = r166631 * r166632;
        double r166634 = r166629 + r166633;
        double r166635 = r166634 + r166631;
        double r166636 = r166628 - r166625;
        double r166637 = r166636 / r166634;
        double r166638 = r166635 / r166637;
        double r166639 = r166630 / r166638;
        double r166640 = r166629 * r166639;
        double r166641 = 1.0;
        double r166642 = r166640 + r166641;
        double r166643 = r166642 / r166631;
        double r166644 = r166630 / r166625;
        double r166645 = r166631 * r166644;
        double r166646 = 8.0;
        double r166647 = 3.0;
        double r166648 = pow(r166625, r166647);
        double r166649 = r166630 / r166648;
        double r166650 = r166646 * r166649;
        double r166651 = r166645 + r166650;
        double r166652 = 4.0;
        double r166653 = 2.0;
        double r166654 = pow(r166625, r166653);
        double r166655 = r166630 / r166654;
        double r166656 = r166652 * r166655;
        double r166657 = r166651 - r166656;
        double r166658 = r166657 / r166631;
        double r166659 = r166627 ? r166643 : r166658;
        return r166659;
}

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 < 1.3368421275617846e+115

    1. Initial program 14.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. Using strategy rm
    3. Applied *-un-lft-identity14.2

      \[\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-identity14.2

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

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

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

      \[\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 *-un-lft-identity3.7

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\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}\]
    10. Applied *-un-lft-identity3.7

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

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\color{blue}{\frac{1}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    12. Applied associate-/l*3.7

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

    if 1.3368421275617846e+115 < alpha

    1. Initial program 60.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. Taylor expanded around inf 39.4

      \[\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. Recombined 2 regimes into one program.
  4. Final simplification11.3

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

Reproduce

herbie shell --seed 2020001 
(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))