Average Error: 3.5 → 2.2
Time: 30.2s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 1.149511021677558287843896138834759967294 \cdot 10^{213}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}\right)\right)}{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\beta, \sqrt{0.5}, \left(1 + \alpha\right) \cdot \sqrt{0.5}\right) - \mathsf{fma}\left(0.125, \frac{\alpha}{\sqrt{0.5}}, \sqrt{0.125} \cdot \left(0.5 \cdot \beta\right)\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}} \cdot \frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}}\\ \end{array}\]
\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}
\begin{array}{l}
\mathbf{if}\;\alpha \le 1.149511021677558287843896138834759967294 \cdot 10^{213}:\\
\;\;\;\;\frac{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}\right)\right)}{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(\beta, \sqrt{0.5}, \left(1 + \alpha\right) \cdot \sqrt{0.5}\right) - \mathsf{fma}\left(0.125, \frac{\alpha}{\sqrt{0.5}}, \sqrt{0.125} \cdot \left(0.5 \cdot \beta\right)\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}} \cdot \frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}}\\

\end{array}
double f(double alpha, double beta) {
        double r3583917 = alpha;
        double r3583918 = beta;
        double r3583919 = r3583917 + r3583918;
        double r3583920 = r3583918 * r3583917;
        double r3583921 = r3583919 + r3583920;
        double r3583922 = 1.0;
        double r3583923 = r3583921 + r3583922;
        double r3583924 = 2.0;
        double r3583925 = r3583924 * r3583922;
        double r3583926 = r3583919 + r3583925;
        double r3583927 = r3583923 / r3583926;
        double r3583928 = r3583927 / r3583926;
        double r3583929 = r3583926 + r3583922;
        double r3583930 = r3583928 / r3583929;
        return r3583930;
}

double f(double alpha, double beta) {
        double r3583931 = alpha;
        double r3583932 = 1.1495110216775583e+213;
        bool r3583933 = r3583931 <= r3583932;
        double r3583934 = 1.0;
        double r3583935 = beta;
        double r3583936 = r3583931 + r3583935;
        double r3583937 = fma(r3583935, r3583931, r3583936);
        double r3583938 = r3583934 + r3583937;
        double r3583939 = 2.0;
        double r3583940 = fma(r3583939, r3583934, r3583936);
        double r3583941 = r3583938 / r3583940;
        double r3583942 = r3583941 / r3583940;
        double r3583943 = expm1(r3583942);
        double r3583944 = log1p(r3583943);
        double r3583945 = r3583934 + r3583940;
        double r3583946 = r3583944 / r3583945;
        double r3583947 = 0.5;
        double r3583948 = sqrt(r3583947);
        double r3583949 = r3583934 + r3583931;
        double r3583950 = r3583949 * r3583948;
        double r3583951 = fma(r3583935, r3583948, r3583950);
        double r3583952 = 0.125;
        double r3583953 = r3583931 / r3583948;
        double r3583954 = sqrt(r3583952);
        double r3583955 = r3583947 * r3583935;
        double r3583956 = r3583954 * r3583955;
        double r3583957 = fma(r3583952, r3583953, r3583956);
        double r3583958 = r3583951 - r3583957;
        double r3583959 = r3583958 / r3583940;
        double r3583960 = sqrt(r3583945);
        double r3583961 = r3583959 / r3583960;
        double r3583962 = 1.0;
        double r3583963 = sqrt(r3583940);
        double r3583964 = r3583963 * r3583960;
        double r3583965 = r3583962 / r3583964;
        double r3583966 = r3583961 * r3583965;
        double r3583967 = r3583933 ? r3583946 : r3583966;
        return r3583967;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.1495110216775583e+213

    1. Initial program 1.8

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    2. Simplified1.8

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    3. Using strategy rm
    4. Applied log1p-expm1-u1.8

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}\right)\right)}}{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}\]

    if 1.1495110216775583e+213 < alpha

    1. Initial program 18.0

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    2. Simplified18.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt18.0

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\color{blue}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}\]
    5. Applied *-un-lft-identity18.0

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\color{blue}{1 \cdot \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    6. Applied add-sqr-sqrt18.0

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\color{blue}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}}{1 \cdot \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    7. Applied *-un-lft-identity18.0

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)\right)}}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{1 \cdot \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    8. Applied times-frac18.0

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}} \cdot \frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}}{1 \cdot \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    9. Applied times-frac18.0

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{1} \cdot \frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    10. Applied times-frac18.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{1}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}} \cdot \frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}\]
    11. Simplified18.0

      \[\leadsto \color{blue}{\frac{1}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}} \cdot \frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    12. Taylor expanded around 0 5.4

      \[\leadsto \frac{1}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}} \cdot \frac{\frac{\color{blue}{\left(\sqrt{0.5} \cdot \beta + \left(1 \cdot \sqrt{0.5} + \sqrt{0.5} \cdot \alpha\right)\right) - \left(0.5 \cdot \left(\beta \cdot \sqrt{0.125}\right) + 0.125 \cdot \frac{\alpha}{\sqrt{0.5}}\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}}\]
    13. Simplified5.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.149511021677558287843896138834759967294 \cdot 10^{213}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}\right)\right)}{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\beta, \sqrt{0.5}, \left(1 + \alpha\right) \cdot \sqrt{0.5}\right) - \mathsf{fma}\left(0.125, \frac{\alpha}{\sqrt{0.5}}, \sqrt{0.125} \cdot \left(0.5 \cdot \beta\right)\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}} \cdot \frac{1}{\sqrt{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \sqrt{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019171 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :pre (and (> alpha -1.0) (> beta -1.0))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))