Average Error: 3.9 → 2.2
Time: 1.5m
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.9825795401500267 \cdot 10^{171}:\\ \;\;\;\;\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(\alpha + \beta\right) + \left(2 \cdot 1 + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + \left(2 \cdot 1 + 1\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.9825795401500267 \cdot 10^{171}:\\
\;\;\;\;\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(\alpha + \beta\right) + \left(2 \cdot 1 + 1\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r376776 = alpha;
        double r376777 = beta;
        double r376778 = r376776 + r376777;
        double r376779 = r376777 * r376776;
        double r376780 = r376778 + r376779;
        double r376781 = 1.0;
        double r376782 = r376780 + r376781;
        double r376783 = 2.0;
        double r376784 = r376783 * r376781;
        double r376785 = r376778 + r376784;
        double r376786 = r376782 / r376785;
        double r376787 = r376786 / r376785;
        double r376788 = r376785 + r376781;
        double r376789 = r376787 / r376788;
        return r376789;
}

double f(double alpha, double beta) {
        double r376790 = alpha;
        double r376791 = 1.9825795401500267e+171;
        bool r376792 = r376790 <= r376791;
        double r376793 = beta;
        double r376794 = r376790 + r376793;
        double r376795 = r376793 * r376790;
        double r376796 = r376794 + r376795;
        double r376797 = 1.0;
        double r376798 = r376796 + r376797;
        double r376799 = 2.0;
        double r376800 = r376799 * r376797;
        double r376801 = r376794 + r376800;
        double r376802 = r376798 / r376801;
        double r376803 = r376802 / r376801;
        double r376804 = r376800 + r376797;
        double r376805 = r376794 + r376804;
        double r376806 = r376803 / r376805;
        double r376807 = 1.0;
        double r376808 = 2.0;
        double r376809 = pow(r376790, r376808);
        double r376810 = r376807 / r376809;
        double r376811 = r376799 * r376810;
        double r376812 = r376811 + r376807;
        double r376813 = r376807 / r376790;
        double r376814 = r376797 * r376813;
        double r376815 = r376812 - r376814;
        double r376816 = r376815 / r376801;
        double r376817 = r376816 / r376805;
        double r376818 = r376792 ? r376806 : r376817;
        return r376818;
}

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 alpha < 1.9825795401500267e+171

    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 associate-+l+1.4

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

    if 1.9825795401500267e+171 < alpha

    1. Initial program 17.9

      \[\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 associate-+l+17.9

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.9825795401500267 \cdot 10^{171}:\\ \;\;\;\;\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(\alpha + \beta\right) + \left(2 \cdot 1 + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + \left(2 \cdot 1 + 1\right)}\\ \end{array}\]

Reproduce

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