Average Error: 16.1 → 6.0
Time: 20.3s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 417035.8774050206993706524372100830078125:\\ \;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha}\right) - \frac{2}{\alpha}\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 417035.8774050206993706524372100830078125:\\
\;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha}\right) - \frac{2}{\alpha}\right)}{2}\\

\end{array}
double f(double alpha, double beta) {
        double r6566167 = beta;
        double r6566168 = alpha;
        double r6566169 = r6566167 - r6566168;
        double r6566170 = r6566168 + r6566167;
        double r6566171 = 2.0;
        double r6566172 = r6566170 + r6566171;
        double r6566173 = r6566169 / r6566172;
        double r6566174 = 1.0;
        double r6566175 = r6566173 + r6566174;
        double r6566176 = r6566175 / r6566171;
        return r6566176;
}

double f(double alpha, double beta) {
        double r6566177 = alpha;
        double r6566178 = 417035.8774050207;
        bool r6566179 = r6566177 <= r6566178;
        double r6566180 = beta;
        double r6566181 = r6566177 + r6566180;
        double r6566182 = 2.0;
        double r6566183 = r6566181 + r6566182;
        double r6566184 = r6566180 / r6566183;
        double r6566185 = r6566177 / r6566183;
        double r6566186 = 1.0;
        double r6566187 = r6566185 - r6566186;
        double r6566188 = r6566184 - r6566187;
        double r6566189 = r6566188 / r6566182;
        double r6566190 = log(r6566189);
        double r6566191 = exp(r6566190);
        double r6566192 = 4.0;
        double r6566193 = r6566177 * r6566177;
        double r6566194 = r6566192 / r6566193;
        double r6566195 = 8.0;
        double r6566196 = r6566193 * r6566177;
        double r6566197 = r6566195 / r6566196;
        double r6566198 = r6566194 - r6566197;
        double r6566199 = r6566182 / r6566177;
        double r6566200 = r6566198 - r6566199;
        double r6566201 = r6566184 - r6566200;
        double r6566202 = r6566201 / r6566182;
        double r6566203 = r6566179 ? r6566191 : r6566202;
        return r6566203;
}

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 < 417035.8774050207

    1. Initial program 0.0

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-0.0

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{\color{blue}{e^{\log 2}}}\]
    7. Applied add-exp-log0.0

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}}}{e^{\log 2}}\]
    8. Applied div-exp0.0

      \[\leadsto \color{blue}{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right) - \log 2}}\]
    9. Simplified0.0

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

    if 417035.8774050207 < alpha

    1. Initial program 48.7

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-47.3

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Taylor expanded around inf 18.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(4 \cdot \frac{1}{{\alpha}^{2}} - \left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2}\]
    6. Simplified18.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 417035.8774050206993706524372100830078125:\\ \;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha}\right) - \frac{2}{\alpha}\right)}{2}\\ \end{array}\]

Reproduce

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