Average Error: 3.8 → 2.3
Time: 41.3s
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 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\ \;\;\;\;\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(3 + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{\frac{\alpha + \left(3 + \beta\right)}{\left(\alpha + \beta\right) - 2 \cdot 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 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\
\;\;\;\;\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(3 + \beta\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r167852 = alpha;
        double r167853 = beta;
        double r167854 = r167852 + r167853;
        double r167855 = r167853 * r167852;
        double r167856 = r167854 + r167855;
        double r167857 = 1.0;
        double r167858 = r167856 + r167857;
        double r167859 = 2.0;
        double r167860 = r167859 * r167857;
        double r167861 = r167854 + r167860;
        double r167862 = r167858 / r167861;
        double r167863 = r167862 / r167861;
        double r167864 = r167861 + r167857;
        double r167865 = r167863 / r167864;
        return r167865;
}

double f(double alpha, double beta) {
        double r167866 = beta;
        double r167867 = 6.375269332570683e+160;
        bool r167868 = r167866 <= r167867;
        double r167869 = alpha;
        double r167870 = r167869 + r167866;
        double r167871 = r167866 * r167869;
        double r167872 = r167870 + r167871;
        double r167873 = 1.0;
        double r167874 = r167872 + r167873;
        double r167875 = 2.0;
        double r167876 = r167875 * r167873;
        double r167877 = r167870 + r167876;
        double r167878 = r167874 / r167877;
        double r167879 = r167878 / r167877;
        double r167880 = 3.0;
        double r167881 = r167880 + r167866;
        double r167882 = r167869 + r167881;
        double r167883 = r167879 / r167882;
        double r167884 = 0.25;
        double r167885 = r167884 * r167869;
        double r167886 = 0.5;
        double r167887 = r167884 * r167866;
        double r167888 = r167886 + r167887;
        double r167889 = r167885 + r167888;
        double r167890 = r167870 * r167870;
        double r167891 = r167876 * r167876;
        double r167892 = r167890 - r167891;
        double r167893 = r167889 / r167892;
        double r167894 = r167870 - r167876;
        double r167895 = r167882 / r167894;
        double r167896 = r167893 / r167895;
        double r167897 = r167868 ? r167883 : r167896;
        return r167897;
}

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 < 6.375269332570683e+160

    1. Initial program 1.3

      \[\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.3

      \[\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)}}\]

    if 6.375269332570683e+160 < beta

    1. Initial program 17.5

      \[\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 17.5

      \[\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. Using strategy rm
    4. Applied flip-+18.7

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\color{blue}{\frac{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}{\left(\alpha + \beta\right) - 2 \cdot 1}}}}{\alpha + \left(3 + \beta\right)}\]
    5. Applied associate-/r/18.7

      \[\leadsto \frac{\color{blue}{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}}{\alpha + \left(3 + \beta\right)}\]
    6. Applied associate-/l*18.7

      \[\leadsto \color{blue}{\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{\frac{\alpha + \left(3 + \beta\right)}{\left(\alpha + \beta\right) - 2 \cdot 1}}}\]
    7. Taylor expanded around 0 8.0

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

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

Reproduce

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