Average Error: 23.9 → 12.0
Time: 56.9s
Precision: 64
\[\alpha \gt -1.0 \land \beta \gt -1.0 \land i \gt 0.0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2.0 \cdot i}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) + 2.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 6.642737521362061 \cdot 10^{+58}:\\ \;\;\;\;\frac{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \sqrt[3]{\left(\mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right) \cdot \mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right)\right) \cdot \mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \left(\left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right) + \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\ \end{array}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2.0 \cdot i}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) + 2.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 6.642737521362061 \cdot 10^{+58}:\\
\;\;\;\;\frac{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \sqrt[3]{\left(\mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right) \cdot \mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right)\right) \cdot \mathsf{fma}\left(\alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}, 1.0\right)}}{2.0}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r3750608 = alpha;
        double r3750609 = beta;
        double r3750610 = r3750608 + r3750609;
        double r3750611 = r3750609 - r3750608;
        double r3750612 = r3750610 * r3750611;
        double r3750613 = 2.0;
        double r3750614 = i;
        double r3750615 = r3750613 * r3750614;
        double r3750616 = r3750610 + r3750615;
        double r3750617 = r3750612 / r3750616;
        double r3750618 = r3750616 + r3750613;
        double r3750619 = r3750617 / r3750618;
        double r3750620 = 1.0;
        double r3750621 = r3750619 + r3750620;
        double r3750622 = r3750621 / r3750613;
        return r3750622;
}

double f(double alpha, double beta, double i) {
        double r3750623 = alpha;
        double r3750624 = 6.642737521362061e+58;
        bool r3750625 = r3750623 <= r3750624;
        double r3750626 = beta;
        double r3750627 = r3750626 - r3750623;
        double r3750628 = 2.0;
        double r3750629 = i;
        double r3750630 = r3750626 + r3750623;
        double r3750631 = fma(r3750628, r3750629, r3750630);
        double r3750632 = r3750627 / r3750631;
        double r3750633 = r3750628 + r3750631;
        double r3750634 = r3750632 / r3750633;
        double r3750635 = r3750626 * r3750634;
        double r3750636 = 1.0;
        double r3750637 = fma(r3750623, r3750634, r3750636);
        double r3750638 = r3750637 * r3750637;
        double r3750639 = r3750638 * r3750637;
        double r3750640 = cbrt(r3750639);
        double r3750641 = r3750635 + r3750640;
        double r3750642 = r3750641 / r3750628;
        double r3750643 = r3750628 / r3750623;
        double r3750644 = 4.0;
        double r3750645 = r3750623 * r3750623;
        double r3750646 = r3750644 / r3750645;
        double r3750647 = r3750643 - r3750646;
        double r3750648 = 8.0;
        double r3750649 = r3750648 / r3750623;
        double r3750650 = r3750649 / r3750645;
        double r3750651 = r3750647 + r3750650;
        double r3750652 = r3750635 + r3750651;
        double r3750653 = r3750652 / r3750628;
        double r3750654 = r3750625 ? r3750642 : r3750653;
        return r3750654;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 6.642737521362061e+58

    1. Initial program 12.1

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2.0 \cdot i}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    2. Simplified9.0

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right) \cdot \left(2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)\right)}, \beta + \alpha, 1.0\right)}{2.0}}\]
    3. Using strategy rm
    4. Applied associate-/r*1.4

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} \cdot \left(\beta + \alpha\right) + 1.0}}{2.0}\]
    7. Using strategy rm
    8. Applied distribute-rgt-in1.4

      \[\leadsto \frac{\color{blue}{\left(\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}\right)} + 1.0}{2.0}\]
    9. Applied associate-+l+1.4

      \[\leadsto \frac{\color{blue}{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + 1.0\right)}}{2.0}\]
    10. Using strategy rm
    11. Applied add-cbrt-cube1.4

      \[\leadsto \frac{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \color{blue}{\sqrt[3]{\left(\left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + 1.0\right) \cdot \left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + 1.0\right)\right) \cdot \left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + 1.0\right)}}}{2.0}\]
    12. Simplified1.4

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

    if 6.642737521362061e+58 < alpha

    1. Initial program 56.1

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2.0 \cdot i}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    2. Simplified48.0

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right) \cdot \left(2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)\right)}, \beta + \alpha, 1.0\right)}{2.0}}\]
    3. Using strategy rm
    4. Applied associate-/r*42.1

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} \cdot \left(\beta + \alpha\right) + 1.0}}{2.0}\]
    7. Using strategy rm
    8. Applied distribute-rgt-in41.6

      \[\leadsto \frac{\color{blue}{\left(\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)}\right)} + 1.0}{2.0}\]
    9. Applied associate-+l+41.6

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

      \[\leadsto \frac{\beta \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2.0, i, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(2.0, i, \beta + \alpha\right)} + \color{blue}{\left(\left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right) - 4.0 \cdot \frac{1}{{\alpha}^{2}}\right)}}{2.0}\]
    11. Simplified40.8

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

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

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(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))