Average Error: 15.9 → 6.5
Time: 22.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 6.404044802162421 \cdot 10^{+32}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \sqrt[3]{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\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 6.404044802162421 \cdot 10^{+32}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \sqrt[3]{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)}{2.0}\\

\end{array}
double f(double alpha, double beta) {
        double r4299339 = beta;
        double r4299340 = alpha;
        double r4299341 = r4299339 - r4299340;
        double r4299342 = r4299340 + r4299339;
        double r4299343 = 2.0;
        double r4299344 = r4299342 + r4299343;
        double r4299345 = r4299341 / r4299344;
        double r4299346 = 1.0;
        double r4299347 = r4299345 + r4299346;
        double r4299348 = r4299347 / r4299343;
        return r4299348;
}

double f(double alpha, double beta) {
        double r4299349 = alpha;
        double r4299350 = 6.404044802162421e+32;
        bool r4299351 = r4299349 <= r4299350;
        double r4299352 = beta;
        double r4299353 = 2.0;
        double r4299354 = r4299352 + r4299349;
        double r4299355 = r4299353 + r4299354;
        double r4299356 = r4299352 / r4299355;
        double r4299357 = r4299349 / r4299355;
        double r4299358 = 1.0;
        double r4299359 = r4299357 - r4299358;
        double r4299360 = r4299359 * r4299359;
        double r4299361 = r4299359 * r4299360;
        double r4299362 = cbrt(r4299361);
        double r4299363 = r4299356 - r4299362;
        double r4299364 = r4299363 / r4299353;
        double r4299365 = 4.0;
        double r4299366 = r4299349 * r4299349;
        double r4299367 = r4299365 / r4299366;
        double r4299368 = r4299353 / r4299349;
        double r4299369 = r4299367 - r4299368;
        double r4299370 = 8.0;
        double r4299371 = r4299349 * r4299366;
        double r4299372 = r4299370 / r4299371;
        double r4299373 = r4299369 - r4299372;
        double r4299374 = r4299356 - r4299373;
        double r4299375 = r4299374 / r4299353;
        double r4299376 = r4299351 ? r4299364 : r4299375;
        return r4299376;
}

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 < 6.404044802162421e+32

    1. Initial program 1.6

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

      \[\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-1.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 add-cbrt-cube1.6

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

    if 6.404044802162421e+32 < alpha

    1. Initial program 50.6

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

      \[\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-49.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-cbrt-cube49.0

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

      \[\leadsto \frac{\frac{\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}\]
    8. Simplified18.4

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 6.404044802162421 \cdot 10^{+32}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \sqrt[3]{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)}{2.0}\\ \end{array}\]

Reproduce

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