Average Error: 16.1 → 6.2
Time: 7.5s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 44214.9985027534785:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left({\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} + \left(-{1}^{3}\right)\right)\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 44214.9985027534785:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left({\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} + \left(-{1}^{3}\right)\right)\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\\

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

\end{array}
double f(double alpha, double beta) {
        double r111953 = beta;
        double r111954 = alpha;
        double r111955 = r111953 - r111954;
        double r111956 = r111954 + r111953;
        double r111957 = 2.0;
        double r111958 = r111956 + r111957;
        double r111959 = r111955 / r111958;
        double r111960 = 1.0;
        double r111961 = r111959 + r111960;
        double r111962 = r111961 / r111957;
        return r111962;
}

double f(double alpha, double beta) {
        double r111963 = alpha;
        double r111964 = 44214.99850275348;
        bool r111965 = r111963 <= r111964;
        double r111966 = beta;
        double r111967 = r111963 + r111966;
        double r111968 = 2.0;
        double r111969 = r111967 + r111968;
        double r111970 = r111963 / r111969;
        double r111971 = 1.0;
        double r111972 = r111970 * r111971;
        double r111973 = fma(r111971, r111971, r111972);
        double r111974 = fma(r111970, r111970, r111973);
        double r111975 = 3.0;
        double r111976 = pow(r111970, r111975);
        double r111977 = pow(r111971, r111975);
        double r111978 = -r111977;
        double r111979 = r111976 + r111978;
        double r111980 = r111969 * r111979;
        double r111981 = -r111980;
        double r111982 = fma(r111966, r111974, r111981);
        double r111983 = r111974 * r111969;
        double r111984 = r111982 / r111983;
        double r111985 = r111984 / r111968;
        double r111986 = r111966 / r111969;
        double r111987 = 4.0;
        double r111988 = 1.0;
        double r111989 = 2.0;
        double r111990 = pow(r111963, r111989);
        double r111991 = r111988 / r111990;
        double r111992 = r111988 / r111963;
        double r111993 = 8.0;
        double r111994 = pow(r111963, r111975);
        double r111995 = r111988 / r111994;
        double r111996 = r111993 * r111995;
        double r111997 = fma(r111968, r111992, r111996);
        double r111998 = -r111997;
        double r111999 = fma(r111987, r111991, r111998);
        double r112000 = r111986 - r111999;
        double r112001 = r112000 / r111968;
        double r112002 = r111965 ? r111985 : r112001;
        return r112002;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 44214.99850275348

    1. Initial program 0.0

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub0.0

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-0.0

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Using strategy rm
    6. Applied flip3--0.0

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\frac{{\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {1}^{3}}{\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2} + \left(1 \cdot 1 + \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)}}}{2}\]
    7. Applied frac-sub0.1

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

      \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left({\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {1}^{3}\right)\right)}}{\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2} + \left(1 \cdot 1 + \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right)}}{2}\]
    9. Simplified0.1

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left({\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {1}^{3}\right)\right)}{\color{blue}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}}{2}\]
    10. Using strategy rm
    11. Applied cube-mult0.1

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\color{blue}{\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} - {1}^{3}\right)\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\]
    12. Applied fma-neg0.1

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \color{blue}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2}, -{1}^{3}\right)}\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\]
    13. Using strategy rm
    14. Applied fma-udef0.1

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \color{blue}{\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right) + \left(-{1}^{3}\right)\right)}\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\]
    15. Simplified0.1

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\beta, \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right), -\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\color{blue}{{\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3}} + \left(-{1}^{3}\right)\right)\right)}{\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2}, \frac{\alpha}{\left(\alpha + \beta\right) + 2}, \mathsf{fma}\left(1, 1, \frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2\right)}}{2}\]

    if 44214.99850275348 < alpha

    1. Initial program 48.8

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub48.8

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-47.3

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Taylor expanded around inf 18.8

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.2

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

Reproduce

herbie shell --seed 2020020 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))