Average Error: 3.9 → 2.5
Time: 23.8s
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.340461934991603717903289478960620617019 \cdot 10^{134}:\\ \;\;\;\;\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}}{\alpha + \left(\beta + 3\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(\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 1.340461934991603717903289478960620617019 \cdot 10^{134}:\\
\;\;\;\;\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}}{\alpha + \left(\beta + 3\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(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

\end{array}
double f(double alpha, double beta) {
        double r100819 = alpha;
        double r100820 = beta;
        double r100821 = r100819 + r100820;
        double r100822 = r100820 * r100819;
        double r100823 = r100821 + r100822;
        double r100824 = 1.0;
        double r100825 = r100823 + r100824;
        double r100826 = 2.0;
        double r100827 = r100826 * r100824;
        double r100828 = r100821 + r100827;
        double r100829 = r100825 / r100828;
        double r100830 = r100829 / r100828;
        double r100831 = r100828 + r100824;
        double r100832 = r100830 / r100831;
        return r100832;
}

double f(double alpha, double beta) {
        double r100833 = alpha;
        double r100834 = 1.3404619349916037e+134;
        bool r100835 = r100833 <= r100834;
        double r100836 = beta;
        double r100837 = r100833 + r100836;
        double r100838 = r100836 * r100833;
        double r100839 = r100837 + r100838;
        double r100840 = 1.0;
        double r100841 = r100839 + r100840;
        double r100842 = 2.0;
        double r100843 = r100842 * r100840;
        double r100844 = r100837 + r100843;
        double r100845 = r100841 / r100844;
        double r100846 = r100845 / r100844;
        double r100847 = 3.0;
        double r100848 = r100836 + r100847;
        double r100849 = r100833 + r100848;
        double r100850 = r100846 / r100849;
        double r100851 = 1.0;
        double r100852 = 2.0;
        double r100853 = pow(r100833, r100852);
        double r100854 = r100851 / r100853;
        double r100855 = r100842 * r100854;
        double r100856 = r100855 + r100851;
        double r100857 = r100851 / r100833;
        double r100858 = r100840 * r100857;
        double r100859 = r100856 - r100858;
        double r100860 = r100859 / r100844;
        double r100861 = r100844 + r100840;
        double r100862 = r100860 / r100861;
        double r100863 = r100835 ? r100850 : r100862;
        return r100863;
}

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.3404619349916037e+134

    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. Taylor expanded around 0 1.1

      \[\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}{\alpha + \left(3 + \beta\right)}}\]
    3. Simplified1.1

      \[\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}{\alpha + \left(\beta + 3\right)}}\]

    if 1.3404619349916037e+134 < alpha

    1. Initial program 16.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. Taylor expanded around inf 8.3

      \[\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(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.5

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

Reproduce

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