Average Error: 3.5 → 2.2
Time: 16.9s
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 3.046720525631589060132523753734246679822 \cdot 10^{161}:\\ \;\;\;\;\sqrt{\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}} \cdot \frac{\sqrt{\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) + \mathsf{fma}\left(2, 1, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;1 \cdot \frac{\mathsf{fma}\left(\alpha, 0.25, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)\right) \cdot \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}\;\beta \le 3.046720525631589060132523753734246679822 \cdot 10^{161}:\\
\;\;\;\;\sqrt{\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}} \cdot \frac{\sqrt{\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) + \mathsf{fma}\left(2, 1, 1\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r118877 = alpha;
        double r118878 = beta;
        double r118879 = r118877 + r118878;
        double r118880 = r118878 * r118877;
        double r118881 = r118879 + r118880;
        double r118882 = 1.0;
        double r118883 = r118881 + r118882;
        double r118884 = 2.0;
        double r118885 = r118884 * r118882;
        double r118886 = r118879 + r118885;
        double r118887 = r118883 / r118886;
        double r118888 = r118887 / r118886;
        double r118889 = r118886 + r118882;
        double r118890 = r118888 / r118889;
        return r118890;
}

double f(double alpha, double beta) {
        double r118891 = beta;
        double r118892 = 3.046720525631589e+161;
        bool r118893 = r118891 <= r118892;
        double r118894 = alpha;
        double r118895 = r118894 + r118891;
        double r118896 = r118891 * r118894;
        double r118897 = r118895 + r118896;
        double r118898 = 1.0;
        double r118899 = r118897 + r118898;
        double r118900 = 2.0;
        double r118901 = r118900 * r118898;
        double r118902 = r118895 + r118901;
        double r118903 = r118899 / r118902;
        double r118904 = r118903 / r118902;
        double r118905 = sqrt(r118904);
        double r118906 = fma(r118900, r118898, r118898);
        double r118907 = r118895 + r118906;
        double r118908 = r118905 / r118907;
        double r118909 = r118905 * r118908;
        double r118910 = 1.0;
        double r118911 = 0.25;
        double r118912 = 0.5;
        double r118913 = fma(r118891, r118911, r118912);
        double r118914 = fma(r118894, r118911, r118913);
        double r118915 = fma(r118898, r118900, r118895);
        double r118916 = r118907 * r118915;
        double r118917 = r118914 / r118916;
        double r118918 = r118910 * r118917;
        double r118919 = r118893 ? r118909 : r118918;
        return r118919;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if beta < 3.046720525631589e+161

    1. Initial program 1.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-identity1.2

      \[\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}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}}\]
    4. Applied add-sqr-sqrt1.3

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

      \[\leadsto \color{blue}{\frac{\sqrt{\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}}}{1} \cdot \frac{\sqrt{\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}}\]
    6. Simplified1.3

      \[\leadsto \color{blue}{\sqrt{\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}}} \cdot \frac{\sqrt{\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}\]
    7. Simplified1.3

      \[\leadsto \sqrt{\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}} \cdot \color{blue}{\frac{\sqrt{\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) + \mathsf{fma}\left(2, 1, 1\right)}}\]

    if 3.046720525631589e+161 < beta

    1. Initial program 15.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. Using strategy rm
    3. Applied *-un-lft-identity15.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}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}}\]
    4. Applied *-un-lft-identity15.3

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    5. Applied *-un-lft-identity15.3

      \[\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)}}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    6. Applied *-un-lft-identity15.3

      \[\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)}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    7. Applied times-frac15.3

      \[\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}}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    8. Applied times-frac15.3

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

      \[\leadsto \color{blue}{\frac{\frac{\frac{1}{1}}{1}}{1} \cdot \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}}\]
    10. Simplified15.3

      \[\leadsto \color{blue}{1} \cdot \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}\]
    11. Simplified16.7

      \[\leadsto 1 \cdot \color{blue}{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)\right) \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}\]
    12. Taylor expanded around 0 7.1

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

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

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

Reproduce

herbie shell --seed 2019354 +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)))