Average Error: 16.4 → 5.9
Time: 29.6s
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 89215191.71150348:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\right) \cdot \beta - \left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(\left(\frac{24.0}{\alpha \cdot \alpha} - \frac{80.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{6.0}{\alpha}\right)}{\left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\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 89215191.71150348:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)\right)}}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\right) \cdot \beta - \left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(\left(\frac{24.0}{\alpha \cdot \alpha} - \frac{80.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{6.0}{\alpha}\right)}{\left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\right)}}{2.0}\\

\end{array}
double f(double alpha, double beta) {
        double r4053424 = beta;
        double r4053425 = alpha;
        double r4053426 = r4053424 - r4053425;
        double r4053427 = r4053425 + r4053424;
        double r4053428 = 2.0;
        double r4053429 = r4053427 + r4053428;
        double r4053430 = r4053426 / r4053429;
        double r4053431 = 1.0;
        double r4053432 = r4053430 + r4053431;
        double r4053433 = r4053432 / r4053428;
        return r4053433;
}

double f(double alpha, double beta) {
        double r4053434 = alpha;
        double r4053435 = 89215191.71150348;
        bool r4053436 = r4053434 <= r4053435;
        double r4053437 = beta;
        double r4053438 = r4053437 + r4053434;
        double r4053439 = 2.0;
        double r4053440 = r4053438 + r4053439;
        double r4053441 = r4053437 / r4053440;
        double r4053442 = r4053434 / r4053440;
        double r4053443 = 1.0;
        double r4053444 = r4053442 - r4053443;
        double r4053445 = r4053441 - r4053444;
        double r4053446 = log(r4053445);
        double r4053447 = exp(r4053446);
        double r4053448 = r4053447 / r4053439;
        double r4053449 = r4053443 * r4053443;
        double r4053450 = r4053442 + r4053443;
        double r4053451 = r4053450 * r4053442;
        double r4053452 = r4053449 + r4053451;
        double r4053453 = r4053452 * r4053437;
        double r4053454 = 24.0;
        double r4053455 = r4053434 * r4053434;
        double r4053456 = r4053454 / r4053455;
        double r4053457 = 80.0;
        double r4053458 = r4053434 * r4053455;
        double r4053459 = r4053457 / r4053458;
        double r4053460 = r4053456 - r4053459;
        double r4053461 = 6.0;
        double r4053462 = r4053461 / r4053434;
        double r4053463 = r4053460 - r4053462;
        double r4053464 = r4053440 * r4053463;
        double r4053465 = r4053453 - r4053464;
        double r4053466 = r4053440 * r4053452;
        double r4053467 = r4053465 / r4053466;
        double r4053468 = r4053467 / r4053439;
        double r4053469 = r4053436 ? r4053448 : r4053468;
        return r4053469;
}

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 alpha < 89215191.71150348

    1. Initial program 0.1

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub0.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-0.1

      \[\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-log0.1

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

    if 89215191.71150348 < alpha

    1. Initial program 50.2

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

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

      \[\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 flip3--48.7

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\frac{{\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)}^{3} - {1.0}^{3}}{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} + \left(1.0 \cdot 1.0 + \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot 1.0\right)}}}{2.0}\]
    7. Applied frac-sub48.7

      \[\leadsto \frac{\color{blue}{\frac{\beta \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} + \left(1.0 \cdot 1.0 + \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot 1.0\right)\right) - \left(\left(\alpha + \beta\right) + 2.0\right) \cdot \left({\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)}^{3} - {1.0}^{3}\right)}{\left(\left(\alpha + \beta\right) + 2.0\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} + \left(1.0 \cdot 1.0 + \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot 1.0\right)\right)}}}{2.0}\]
    8. Simplified48.7

      \[\leadsto \frac{\frac{\color{blue}{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right) \cdot \beta - \left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right) \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - \left(1.0 \cdot 1.0\right) \cdot 1.0\right) \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}}{\left(\left(\alpha + \beta\right) + 2.0\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} + \left(1.0 \cdot 1.0 + \frac{\alpha}{\left(\alpha + \beta\right) + 2.0} \cdot 1.0\right)\right)}}{2.0}\]
    9. Simplified48.7

      \[\leadsto \frac{\frac{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right) \cdot \beta - \left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right) \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - \left(1.0 \cdot 1.0\right) \cdot 1.0\right) \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}{\color{blue}{\left(2.0 + \left(\beta + \alpha\right)\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right)}}}{2.0}\]
    10. Using strategy rm
    11. Applied associate-*r/48.7

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

      \[\leadsto \frac{\frac{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right) \cdot \beta - \color{blue}{\left(24.0 \cdot \frac{1}{{\alpha}^{2}} - \left(6.0 \cdot \frac{1}{\alpha} + 80.0 \cdot \frac{1}{{\alpha}^{3}}\right)\right)} \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}{\left(2.0 + \left(\beta + \alpha\right)\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right)}}{2.0}\]
    13. Simplified17.8

      \[\leadsto \frac{\frac{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right) \cdot \beta - \color{blue}{\left(\left(\frac{24.0}{\alpha \cdot \alpha} - \frac{80.0}{\left(\alpha \cdot \alpha\right) \cdot \alpha}\right) - \frac{6.0}{\alpha}\right)} \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}{\left(2.0 + \left(\beta + \alpha\right)\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) + 1.0 \cdot 1.0\right)}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 89215191.71150348:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\right) \cdot \beta - \left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(\left(\frac{24.0}{\alpha \cdot \alpha} - \frac{80.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{6.0}{\alpha}\right)}{\left(\left(\beta + \alpha\right) + 2.0\right) \cdot \left(1.0 \cdot 1.0 + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} + 1.0\right) \cdot \frac{\alpha}{\left(\beta + \alpha\right) + 2.0}\right)}}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019134 
(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))