Average Error: 3.7 → 3.2
Time: 40.7s
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 5.601169561552345762126589292246320340759 \cdot 10^{47}:\\ \;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-\left(\mathsf{fma}\left(2, \frac{1}{{\alpha}^{2}}, 1\right) - 1 \cdot \frac{1}{\alpha}\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{-\left(\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1\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 5.601169561552345762126589292246320340759 \cdot 10^{47}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r185314 = alpha;
        double r185315 = beta;
        double r185316 = r185314 + r185315;
        double r185317 = r185315 * r185314;
        double r185318 = r185316 + r185317;
        double r185319 = 1.0;
        double r185320 = r185318 + r185319;
        double r185321 = 2.0;
        double r185322 = r185321 * r185319;
        double r185323 = r185316 + r185322;
        double r185324 = r185320 / r185323;
        double r185325 = r185324 / r185323;
        double r185326 = r185323 + r185319;
        double r185327 = r185325 / r185326;
        return r185327;
}

double f(double alpha, double beta) {
        double r185328 = alpha;
        double r185329 = 5.601169561552346e+47;
        bool r185330 = r185328 <= r185329;
        double r185331 = beta;
        double r185332 = r185328 + r185331;
        double r185333 = r185331 * r185328;
        double r185334 = r185332 + r185333;
        double r185335 = 1.0;
        double r185336 = r185334 + r185335;
        double r185337 = sqrt(r185336);
        double r185338 = 2.0;
        double r185339 = r185338 * r185335;
        double r185340 = r185332 + r185339;
        double r185341 = sqrt(r185340);
        double r185342 = r185337 / r185341;
        double r185343 = r185342 / r185341;
        double r185344 = fma(r185335, r185338, r185332);
        double r185345 = r185344 + r185335;
        double r185346 = fma(r185328, r185331, r185332);
        double r185347 = r185335 + r185346;
        double r185348 = sqrt(r185347);
        double r185349 = r185345 / r185348;
        double r185350 = r185349 * r185344;
        double r185351 = r185343 / r185350;
        double r185352 = 1.0;
        double r185353 = 2.0;
        double r185354 = pow(r185328, r185353);
        double r185355 = r185352 / r185354;
        double r185356 = fma(r185338, r185355, r185352);
        double r185357 = r185352 / r185328;
        double r185358 = r185335 * r185357;
        double r185359 = r185356 - r185358;
        double r185360 = -r185359;
        double r185361 = r185360 / r185344;
        double r185362 = -r185345;
        double r185363 = r185361 / r185362;
        double r185364 = r185330 ? r185351 : r185363;
        return r185364;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 5.601169561552346e+47

    1. Initial program 0.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 add-sqr-sqrt1.0

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

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

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

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

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

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

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

    if 5.601169561552346e+47 < alpha

    1. Initial program 11.8

      \[\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 frac-2neg11.8

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

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

      \[\leadsto \frac{\frac{-\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\color{blue}{-\left(\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1\right)}}\]
    6. Taylor expanded around inf 10.2

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

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

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

Reproduce

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