Average Error: 23.3 → 11.4
Time: 36.0s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 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.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 3.5798925943844464 \cdot 10^{+172}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\frac{\alpha + \beta}{2.0 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\frac{1}{\beta - \alpha}}, 1.0\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2.0, \frac{1}{\alpha}, \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{4.0}{\alpha \cdot \alpha}}{2.0}\\ \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.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 3.5798925943844464 \cdot 10^{+172}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\frac{\alpha + \beta}{2.0 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\frac{1}{\beta - \alpha}}, 1.0\right)}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2.0, \frac{1}{\alpha}, \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{4.0}{\alpha \cdot \alpha}}{2.0}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r3530513 = alpha;
        double r3530514 = beta;
        double r3530515 = r3530513 + r3530514;
        double r3530516 = r3530514 - r3530513;
        double r3530517 = r3530515 * r3530516;
        double r3530518 = 2.0;
        double r3530519 = i;
        double r3530520 = r3530518 * r3530519;
        double r3530521 = r3530515 + r3530520;
        double r3530522 = r3530517 / r3530521;
        double r3530523 = 2.0;
        double r3530524 = r3530521 + r3530523;
        double r3530525 = r3530522 / r3530524;
        double r3530526 = 1.0;
        double r3530527 = r3530525 + r3530526;
        double r3530528 = r3530527 / r3530523;
        return r3530528;
}

double f(double alpha, double beta, double i) {
        double r3530529 = alpha;
        double r3530530 = 3.5798925943844464e+172;
        bool r3530531 = r3530529 <= r3530530;
        double r3530532 = 1.0;
        double r3530533 = 2.0;
        double r3530534 = i;
        double r3530535 = beta;
        double r3530536 = r3530529 + r3530535;
        double r3530537 = fma(r3530533, r3530534, r3530536);
        double r3530538 = r3530532 / r3530537;
        double r3530539 = 2.0;
        double r3530540 = r3530539 + r3530537;
        double r3530541 = r3530536 / r3530540;
        double r3530542 = r3530535 - r3530529;
        double r3530543 = r3530532 / r3530542;
        double r3530544 = r3530541 / r3530543;
        double r3530545 = 1.0;
        double r3530546 = fma(r3530538, r3530544, r3530545);
        double r3530547 = r3530546 / r3530539;
        double r3530548 = r3530532 / r3530529;
        double r3530549 = 8.0;
        double r3530550 = r3530529 * r3530529;
        double r3530551 = r3530529 * r3530550;
        double r3530552 = r3530549 / r3530551;
        double r3530553 = fma(r3530539, r3530548, r3530552);
        double r3530554 = 4.0;
        double r3530555 = r3530554 / r3530550;
        double r3530556 = r3530553 - r3530555;
        double r3530557 = r3530556 / r3530539;
        double r3530558 = r3530531 ? r3530547 : r3530557;
        return r3530558;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.5798925943844464e+172

    1. Initial program 16.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.0} + 1.0}{2.0}\]
    2. Simplified6.1

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\beta + \alpha}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1.0\right)}{2.0}}\]
    3. Using strategy rm
    4. Applied div-inv6.1

      \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1.0\right)}{2.0}\]
    5. Using strategy rm
    6. Applied fma-udef6.1

      \[\leadsto \frac{\color{blue}{\left(\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}\right) \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} + 1.0}}{2.0}\]
    7. Simplified6.1

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\beta - \alpha}}} + 1.0}{2.0}\]
    8. Using strategy rm
    9. Applied div-inv6.1

      \[\leadsto \frac{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}{\color{blue}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \frac{1}{\beta - \alpha}}} + 1.0}{2.0}\]
    10. Applied *-un-lft-identity6.1

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \frac{1}{\beta - \alpha}} + 1.0}{2.0}\]
    11. Applied times-frac6.1

      \[\leadsto \frac{\color{blue}{\frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}{\frac{1}{\beta - \alpha}}} + 1.0}{2.0}\]
    12. Applied fma-def6.0

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}{\frac{1}{\beta - \alpha}}, 1.0\right)}}{2.0}\]

    if 3.5798925943844464e+172 < alpha

    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.0} + 1.0}{2.0}\]
    2. Simplified48.1

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\beta + \alpha}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1.0\right)}{2.0}}\]
    3. Using strategy rm
    4. Applied div-inv48.2

      \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1.0\right)}{2.0}\]
    5. Using strategy rm
    6. Applied fma-udef48.2

      \[\leadsto \frac{\color{blue}{\left(\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \beta + \alpha\right)}\right) \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} + 1.0}}{2.0}\]
    7. Simplified48.1

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2.0}}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\beta - \alpha}}} + 1.0}{2.0}\]
    8. Taylor expanded around inf 42.2

      \[\leadsto \frac{\color{blue}{\left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right) - 4.0 \cdot \frac{1}{{\alpha}^{2}}}}{2.0}\]
    9. Simplified42.2

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(2.0, \frac{1}{\alpha}, \frac{8.0 \cdot 1}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{4.0 \cdot 1}{\alpha \cdot \alpha}}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 3.5798925943844464 \cdot 10^{+172}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\frac{\alpha + \beta}{2.0 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\frac{1}{\beta - \alpha}}, 1.0\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2.0, \frac{1}{\alpha}, \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{4.0}{\alpha \cdot \alpha}}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019135 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :pre (and (> alpha -1) (> beta -1) (> i 0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))