Average Error: 3.6 → 1.5
Time: 2.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}\;\beta \le 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\ \;\;\;\;\frac{\frac{1}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}} \cdot \frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 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 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{1}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}} \cdot \frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 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 r450847 = alpha;
        double r450848 = beta;
        double r450849 = r450847 + r450848;
        double r450850 = r450848 * r450847;
        double r450851 = r450849 + r450850;
        double r450852 = 1.0;
        double r450853 = r450851 + r450852;
        double r450854 = 2.0;
        double r450855 = r450854 * r450852;
        double r450856 = r450849 + r450855;
        double r450857 = r450853 / r450856;
        double r450858 = r450857 / r450856;
        double r450859 = r450856 + r450852;
        double r450860 = r450858 / r450859;
        return r450860;
}

double f(double alpha, double beta) {
        double r450861 = beta;
        double r450862 = 2.4580673707165206e+153;
        bool r450863 = r450861 <= r450862;
        double r450864 = 1.0;
        double r450865 = alpha;
        double r450866 = r450865 + r450861;
        double r450867 = r450861 * r450865;
        double r450868 = r450866 + r450867;
        double r450869 = 1.0;
        double r450870 = r450868 + r450869;
        double r450871 = r450866 * r450866;
        double r450872 = 2.0;
        double r450873 = r450872 * r450869;
        double r450874 = r450873 * r450873;
        double r450875 = r450871 - r450874;
        double r450876 = r450870 / r450875;
        double r450877 = r450864 / r450876;
        double r450878 = r450864 / r450877;
        double r450879 = r450866 + r450873;
        double r450880 = r450866 - r450873;
        double r450881 = r450879 / r450880;
        double r450882 = r450864 / r450881;
        double r450883 = r450878 * r450882;
        double r450884 = r450879 + r450869;
        double r450885 = r450883 / r450884;
        double r450886 = 2.0;
        double r450887 = r450861 / r450865;
        double r450888 = r450865 / r450861;
        double r450889 = r450887 + r450888;
        double r450890 = r450886 + r450889;
        double r450891 = r450864 / r450890;
        double r450892 = r450891 / r450884;
        double r450893 = r450863 ? r450885 : r450892;
        return r450893;
}

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 < 2.4580673707165206e+153

    1. Initial program 1.0

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

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

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

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

      \[\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 flip-+1.6

      \[\leadsto \frac{\frac{\frac{1}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 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}}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    9. Applied associate-/r/1.7

      \[\leadsto \frac{\frac{\frac{1}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\color{blue}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 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)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    10. Applied *-un-lft-identity1.7

      \[\leadsto \frac{\frac{\frac{1}{1}}{\frac{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 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)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    11. Applied times-frac1.6

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

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

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

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

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

    if 2.4580673707165206e+153 < beta

    1. Initial program 16.2

      \[\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-identity16.2

      \[\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-identity16.2

      \[\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-frac16.2

      \[\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*16.2

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

      \[\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 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\ \;\;\;\;\frac{\frac{1}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}} \cdot \frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 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 2019323 
(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)))