Average Error: 3.8 → 2.3
Time: 32.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}\;\beta \le 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\ \;\;\;\;\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}}{\alpha + \left(3 + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(2 \cdot 1 + \left(\alpha + \beta\right)\right) \cdot \left(\beta + \left(\alpha + 3\right)\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}\;\beta \le 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\
\;\;\;\;\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}}{\alpha + \left(3 + \beta\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(2 \cdot 1 + \left(\alpha + \beta\right)\right) \cdot \left(\beta + \left(\alpha + 3\right)\right)}\\

\end{array}
double f(double alpha, double beta) {
        double r67215 = alpha;
        double r67216 = beta;
        double r67217 = r67215 + r67216;
        double r67218 = r67216 * r67215;
        double r67219 = r67217 + r67218;
        double r67220 = 1.0;
        double r67221 = r67219 + r67220;
        double r67222 = 2.0;
        double r67223 = r67222 * r67220;
        double r67224 = r67217 + r67223;
        double r67225 = r67221 / r67224;
        double r67226 = r67225 / r67224;
        double r67227 = r67224 + r67220;
        double r67228 = r67226 / r67227;
        return r67228;
}

double f(double alpha, double beta) {
        double r67229 = beta;
        double r67230 = 6.375269332570683e+160;
        bool r67231 = r67229 <= r67230;
        double r67232 = alpha;
        double r67233 = r67232 + r67229;
        double r67234 = r67229 * r67232;
        double r67235 = r67233 + r67234;
        double r67236 = 1.0;
        double r67237 = r67235 + r67236;
        double r67238 = 2.0;
        double r67239 = r67238 * r67236;
        double r67240 = r67233 + r67239;
        double r67241 = r67237 / r67240;
        double r67242 = r67241 / r67240;
        double r67243 = 3.0;
        double r67244 = r67243 + r67229;
        double r67245 = r67232 + r67244;
        double r67246 = r67242 / r67245;
        double r67247 = 0.25;
        double r67248 = r67247 * r67232;
        double r67249 = 0.5;
        double r67250 = r67247 * r67229;
        double r67251 = r67249 + r67250;
        double r67252 = r67248 + r67251;
        double r67253 = r67239 + r67233;
        double r67254 = r67232 + r67243;
        double r67255 = r67229 + r67254;
        double r67256 = r67253 * r67255;
        double r67257 = r67252 / r67256;
        double r67258 = r67231 ? r67246 : r67257;
        return r67258;
}

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 beta < 6.375269332570683e+160

    1. Initial program 1.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. Taylor expanded around 0 1.3

      \[\leadsto \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}}{\color{blue}{\alpha + \left(3 + \beta\right)}}\]

    if 6.375269332570683e+160 < beta

    1. Initial program 17.5

      \[\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. Taylor expanded around 0 17.5

      \[\leadsto \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}}{\color{blue}{\alpha + \left(3 + \beta\right)}}\]
    3. Using strategy rm
    4. Applied div-inv17.5

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

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

      \[\leadsto \frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\color{blue}{\left(2 \cdot 1 + \left(\alpha + \beta\right)\right) \cdot \left(\beta + \left(\alpha + 3\right)\right)}}\]
    7. Taylor expanded around 0 8.0

      \[\leadsto \frac{\color{blue}{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}}{\left(2 \cdot 1 + \left(\alpha + \beta\right)\right) \cdot \left(\beta + \left(\alpha + 3\right)\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\ \;\;\;\;\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}}{\alpha + \left(3 + \beta\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(2 \cdot 1 + \left(\alpha + \beta\right)\right) \cdot \left(\beta + \left(\alpha + 3\right)\right)}\\ \end{array}\]

Reproduce

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