Average Error: 3.6 → 1.3
Time: 12.5s
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.328897091901958382885472635472796599954 \cdot 10^{154}:\\ \;\;\;\;\frac{1}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}{\frac{\sqrt[3]{1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\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.328897091901958382885472635472796599954 \cdot 10^{154}:\\
\;\;\;\;\frac{1}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}{\frac{\sqrt[3]{1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\

\end{array}
double f(double alpha, double beta) {
        double r174903 = alpha;
        double r174904 = beta;
        double r174905 = r174903 + r174904;
        double r174906 = r174904 * r174903;
        double r174907 = r174905 + r174906;
        double r174908 = 1.0;
        double r174909 = r174907 + r174908;
        double r174910 = 2.0;
        double r174911 = r174910 * r174908;
        double r174912 = r174905 + r174911;
        double r174913 = r174909 / r174912;
        double r174914 = r174913 / r174912;
        double r174915 = r174912 + r174908;
        double r174916 = r174914 / r174915;
        return r174916;
}

double f(double alpha, double beta) {
        double r174917 = alpha;
        double r174918 = 1.3288970919019584e+154;
        bool r174919 = r174917 <= r174918;
        double r174920 = 1.0;
        double r174921 = beta;
        double r174922 = r174917 + r174921;
        double r174923 = 2.0;
        double r174924 = 1.0;
        double r174925 = fma(r174923, r174924, r174924);
        double r174926 = r174922 + r174925;
        double r174927 = r174921 * r174917;
        double r174928 = r174922 + r174927;
        double r174929 = r174928 + r174924;
        double r174930 = fma(r174924, r174923, r174922);
        double r174931 = r174929 / r174930;
        double r174932 = r174926 / r174931;
        double r174933 = r174932 * r174930;
        double r174934 = r174920 / r174933;
        double r174935 = cbrt(r174920);
        double r174936 = r174935 * r174935;
        double r174937 = 2.0;
        double r174938 = r174921 / r174917;
        double r174939 = r174917 / r174921;
        double r174940 = r174938 + r174939;
        double r174941 = r174937 + r174940;
        double r174942 = r174935 / r174930;
        double r174943 = r174941 / r174942;
        double r174944 = r174936 / r174943;
        double r174945 = r174919 ? r174934 : r174944;
        return r174945;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.3288970919019584e+154

    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 clear-num1.3

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

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

    if 1.3288970919019584e+154 < alpha

    1. Initial program 15.6

      \[\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 clear-num16.6

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

      \[\leadsto \frac{1}{\color{blue}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt16.6

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\]
    7. Applied associate-/l*16.6

      \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt[3]{1}}}}\]
    8. Simplified18.2

      \[\leadsto \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\color{blue}{\frac{\frac{\left(\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)\right) \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\beta + \left(\alpha + \mathsf{fma}\left(\alpha, \beta, 1\right)\right)}}{\frac{\sqrt[3]{1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}\]
    9. Taylor expanded around inf 1.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.328897091901958382885472635472796599954 \cdot 10^{154}:\\ \;\;\;\;\frac{1}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}{\frac{\sqrt[3]{1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020002 +o rules:numerics
(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)))