Average Error: 15.8 → 6.4
Time: 2.3m
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 13019.849401606787:\\ \;\;\;\;\frac{1.0 + \frac{\frac{\beta - \alpha}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{2.0}\\ \mathbf{elif}\;\alpha \le 5.286547659356629 \cdot 10^{+135}:\\ \;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\ \mathbf{elif}\;\alpha \le 3.26519642354199 \cdot 10^{+153}:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0}\right)} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 13019.849401606787:\\
\;\;\;\;\frac{1.0 + \frac{\frac{\beta - \alpha}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{2.0}\\

\mathbf{elif}\;\alpha \le 5.286547659356629 \cdot 10^{+135}:\\
\;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\

\mathbf{elif}\;\alpha \le 3.26519642354199 \cdot 10^{+153}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0}\right)} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)}{2.0}\\

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

\end{array}
double f(double alpha, double beta) {
        double r8009372 = beta;
        double r8009373 = alpha;
        double r8009374 = r8009372 - r8009373;
        double r8009375 = r8009373 + r8009372;
        double r8009376 = 2.0;
        double r8009377 = r8009375 + r8009376;
        double r8009378 = r8009374 / r8009377;
        double r8009379 = 1.0;
        double r8009380 = r8009378 + r8009379;
        double r8009381 = r8009380 / r8009376;
        return r8009381;
}

double f(double alpha, double beta) {
        double r8009382 = alpha;
        double r8009383 = 13019.849401606787;
        bool r8009384 = r8009382 <= r8009383;
        double r8009385 = 1.0;
        double r8009386 = beta;
        double r8009387 = r8009386 - r8009382;
        double r8009388 = r8009386 + r8009382;
        double r8009389 = 2.0;
        double r8009390 = r8009388 + r8009389;
        double r8009391 = sqrt(r8009390);
        double r8009392 = r8009387 / r8009391;
        double r8009393 = r8009392 / r8009391;
        double r8009394 = r8009385 + r8009393;
        double r8009395 = r8009394 / r8009389;
        double r8009396 = 5.286547659356629e+135;
        bool r8009397 = r8009382 <= r8009396;
        double r8009398 = cbrt(r8009386);
        double r8009399 = r8009398 / r8009390;
        double r8009400 = r8009398 * r8009398;
        double r8009401 = r8009399 * r8009400;
        double r8009402 = -1.0;
        double r8009403 = r8009402 / r8009382;
        double r8009404 = 8.0;
        double r8009405 = r8009382 * r8009382;
        double r8009406 = r8009404 / r8009405;
        double r8009407 = 4.0;
        double r8009408 = r8009407 / r8009405;
        double r8009409 = fma(r8009406, r8009403, r8009408);
        double r8009410 = fma(r8009403, r8009389, r8009409);
        double r8009411 = r8009401 - r8009410;
        double r8009412 = r8009411 / r8009389;
        double r8009413 = 3.26519642354199e+153;
        bool r8009414 = r8009382 <= r8009413;
        double r8009415 = r8009386 / r8009390;
        double r8009416 = log(r8009415);
        double r8009417 = exp(r8009416);
        double r8009418 = r8009382 / r8009390;
        double r8009419 = r8009418 - r8009385;
        double r8009420 = r8009417 - r8009419;
        double r8009421 = r8009420 / r8009389;
        double r8009422 = r8009414 ? r8009421 : r8009412;
        double r8009423 = r8009397 ? r8009412 : r8009422;
        double r8009424 = r8009384 ? r8009395 : r8009423;
        return r8009424;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 3 regimes
  2. if alpha < 13019.849401606787

    1. Initial program 0.0

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt0.1

      \[\leadsto \frac{\frac{\beta - \alpha}{\color{blue}{\sqrt{\left(\alpha + \beta\right) + 2.0} \cdot \sqrt{\left(\alpha + \beta\right) + 2.0}}} + 1.0}{2.0}\]
    4. Applied associate-/r*0.1

      \[\leadsto \frac{\color{blue}{\frac{\frac{\beta - \alpha}{\sqrt{\left(\alpha + \beta\right) + 2.0}}}{\sqrt{\left(\alpha + \beta\right) + 2.0}}} + 1.0}{2.0}\]

    if 13019.849401606787 < alpha < 5.286547659356629e+135 or 3.26519642354199e+153 < alpha

    1. Initial program 49.0

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub49.0

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-47.5

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity47.5

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + \color{blue}{1 \cdot 2.0}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    7. Applied *-un-lft-identity47.5

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \color{blue}{1 \cdot \beta}\right) + 1 \cdot 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    8. Applied *-un-lft-identity47.5

      \[\leadsto \frac{\frac{\beta}{\left(\color{blue}{1 \cdot \alpha} + 1 \cdot \beta\right) + 1 \cdot 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    9. Applied distribute-lft-out47.5

      \[\leadsto \frac{\frac{\beta}{\color{blue}{1 \cdot \left(\alpha + \beta\right)} + 1 \cdot 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    10. Applied distribute-lft-out47.5

      \[\leadsto \frac{\frac{\beta}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2.0\right)}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    11. Applied add-cube-cbrt47.6

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

      \[\leadsto \frac{\color{blue}{\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{1} \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2.0}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    13. Simplified47.6

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right)} \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    14. Taylor expanded around inf 18.1

      \[\leadsto \frac{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(4.0 \cdot \frac{1}{{\alpha}^{2}} - \left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2.0}\]
    15. Simplified18.1

      \[\leadsto \frac{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}}{2.0}\]

    if 5.286547659356629e+135 < alpha < 3.26519642354199e+153

    1. Initial program 46.1

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub46.1

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-45.0

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Using strategy rm
    6. Applied add-exp-log45.2

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0}\right)}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification6.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 13019.849401606787:\\ \;\;\;\;\frac{1.0 + \frac{\frac{\beta - \alpha}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{\sqrt{\left(\beta + \alpha\right) + 2.0}}}{2.0}\\ \mathbf{elif}\;\alpha \le 5.286547659356629 \cdot 10^{+135}:\\ \;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\ \mathbf{elif}\;\alpha \le 3.26519642354199 \cdot 10^{+153}:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0}\right)} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019124 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))