Average Error: 3.9 → 2.4
Time: 6.1s
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 5.97676322155062718 \cdot 10^{170}:\\ \;\;\;\;\frac{\frac{\frac{\sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \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 5.97676322155062718 \cdot 10^{170}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

\end{array}
double f(double alpha, double beta) {
        double r136857 = alpha;
        double r136858 = beta;
        double r136859 = r136857 + r136858;
        double r136860 = r136858 * r136857;
        double r136861 = r136859 + r136860;
        double r136862 = 1.0;
        double r136863 = r136861 + r136862;
        double r136864 = 2.0;
        double r136865 = r136864 * r136862;
        double r136866 = r136859 + r136865;
        double r136867 = r136863 / r136866;
        double r136868 = r136867 / r136866;
        double r136869 = r136866 + r136862;
        double r136870 = r136868 / r136869;
        return r136870;
}

double f(double alpha, double beta) {
        double r136871 = alpha;
        double r136872 = 5.976763221550627e+170;
        bool r136873 = r136871 <= r136872;
        double r136874 = beta;
        double r136875 = r136871 + r136874;
        double r136876 = r136874 * r136871;
        double r136877 = r136875 + r136876;
        double r136878 = 1.0;
        double r136879 = r136877 + r136878;
        double r136880 = sqrt(r136879);
        double r136881 = sqrt(r136880);
        double r136882 = r136881 * r136881;
        double r136883 = 1.0;
        double r136884 = r136882 / r136883;
        double r136885 = 2.0;
        double r136886 = fma(r136878, r136885, r136875);
        double r136887 = r136886 / r136880;
        double r136888 = r136887 * r136886;
        double r136889 = r136884 / r136888;
        double r136890 = r136885 * r136878;
        double r136891 = r136875 + r136890;
        double r136892 = r136891 + r136878;
        double r136893 = r136889 / r136892;
        double r136894 = 0.0;
        double r136895 = r136894 / r136892;
        double r136896 = r136873 ? r136893 : r136895;
        return r136896;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 5.976763221550627e+170

    1. Initial program 1.4

      \[\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. Using strategy rm
    3. Applied *-un-lft-identity1.4

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    4. Applied add-sqr-sqrt1.5

      \[\leadsto \frac{\frac{\frac{\color{blue}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1} \cdot \sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    5. Applied times-frac1.5

      \[\leadsto \frac{\frac{\color{blue}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1} \cdot \frac{\sqrt{\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}\]
    6. Applied associate-/l*1.5

      \[\leadsto \frac{\color{blue}{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    7. Simplified1.5

      \[\leadsto \frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{\color{blue}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt1.5

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

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

    if 5.976763221550627e+170 < alpha

    1. Initial program 17.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. Using strategy rm
    3. Applied *-un-lft-identity17.8

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    4. Applied add-sqr-sqrt17.8

      \[\leadsto \frac{\frac{\frac{\color{blue}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1} \cdot \sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    5. Applied times-frac17.8

      \[\leadsto \frac{\frac{\color{blue}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1} \cdot \frac{\sqrt{\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}\]
    6. Applied associate-/l*17.8

      \[\leadsto \frac{\color{blue}{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    7. Simplified17.8

      \[\leadsto \frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{\color{blue}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt17.8

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

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

      \[\leadsto \frac{\color{blue}{0}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 5.97676322155062718 \cdot 10^{170}:\\ \;\;\;\;\frac{\frac{\frac{\sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \end{array}\]

Reproduce

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