Average Error: 3.6 → 1.5
Time: 37.9s
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}\;\beta \le 1.79048755262705908 \cdot 10^{144}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\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}\;\beta \le 1.79048755262705908 \cdot 10^{144}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

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

\end{array}
double f(double alpha, double beta) {
        double r193820 = alpha;
        double r193821 = beta;
        double r193822 = r193820 + r193821;
        double r193823 = r193821 * r193820;
        double r193824 = r193822 + r193823;
        double r193825 = 1.0;
        double r193826 = r193824 + r193825;
        double r193827 = 2.0;
        double r193828 = r193827 * r193825;
        double r193829 = r193822 + r193828;
        double r193830 = r193826 / r193829;
        double r193831 = r193830 / r193829;
        double r193832 = r193829 + r193825;
        double r193833 = r193831 / r193832;
        return r193833;
}

double f(double alpha, double beta) {
        double r193834 = beta;
        double r193835 = 1.790487552627059e+144;
        bool r193836 = r193834 <= r193835;
        double r193837 = 1.0;
        double r193838 = alpha;
        double r193839 = r193838 + r193834;
        double r193840 = 2.0;
        double r193841 = 1.0;
        double r193842 = r193840 * r193841;
        double r193843 = r193839 + r193842;
        double r193844 = r193834 * r193838;
        double r193845 = r193839 + r193844;
        double r193846 = r193845 + r193841;
        double r193847 = r193837 / r193843;
        double r193848 = r193846 * r193847;
        double r193849 = r193843 / r193848;
        double r193850 = r193837 / r193849;
        double r193851 = r193843 + r193841;
        double r193852 = r193850 / r193851;
        double r193853 = 2.0;
        double r193854 = r193834 / r193838;
        double r193855 = r193838 / r193834;
        double r193856 = r193854 + r193855;
        double r193857 = r193853 + r193856;
        double r193858 = r193837 / r193857;
        double r193859 = r193858 / r193851;
        double r193860 = r193836 ? r193852 : r193859;
        return r193860;
}

Error

Bits error versus alpha

Bits error versus beta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if beta < 1.790487552627059e+144

    1. Initial program 1.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}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity1.1

      \[\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 *-un-lft-identity1.1

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right)}}{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.1

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{1} \cdot \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}\]
    6. Applied associate-/l*1.1

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\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. Using strategy rm
    8. Applied div-inv1.1

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

    if 1.790487552627059e+144 < beta

    1. Initial program 15.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-identity15.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 *-un-lft-identity15.4

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right)}}{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-frac15.4

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{1} \cdot \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}\]
    6. Applied associate-/l*15.4

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\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. Taylor expanded around inf 3.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 1.79048755262705908 \cdot 10^{144}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \end{array}\]

Reproduce

herbie shell --seed 2020045 
(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)))