Average Error: 3.5 → 1.2
Time: 36.5s
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}\;\alpha \le 1.833222038499472936347446758444685373448 \cdot 10^{151}:\\ \;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \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}\;\alpha \le 1.833222038499472936347446758444685373448 \cdot 10^{151}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\

\end{array}
double f(double alpha, double beta) {
        double r113176 = alpha;
        double r113177 = beta;
        double r113178 = r113176 + r113177;
        double r113179 = r113177 * r113176;
        double r113180 = r113178 + r113179;
        double r113181 = 1.0;
        double r113182 = r113180 + r113181;
        double r113183 = 2.0;
        double r113184 = r113183 * r113181;
        double r113185 = r113178 + r113184;
        double r113186 = r113182 / r113185;
        double r113187 = r113186 / r113185;
        double r113188 = r113185 + r113181;
        double r113189 = r113187 / r113188;
        return r113189;
}

double f(double alpha, double beta) {
        double r113190 = alpha;
        double r113191 = 1.833222038499473e+151;
        bool r113192 = r113190 <= r113191;
        double r113193 = 1.0;
        double r113194 = beta;
        double r113195 = r113190 + r113194;
        double r113196 = fma(r113190, r113194, r113195);
        double r113197 = r113193 + r113196;
        double r113198 = sqrt(r113197);
        double r113199 = 2.0;
        double r113200 = fma(r113193, r113199, r113195);
        double r113201 = sqrt(r113200);
        double r113202 = r113198 / r113201;
        double r113203 = r113202 / r113201;
        double r113204 = r113200 + r113193;
        double r113205 = r113198 / r113200;
        double r113206 = r113204 / r113205;
        double r113207 = r113203 / r113206;
        double r113208 = 1.0;
        double r113209 = r113208 / r113190;
        double r113210 = r113208 / r113194;
        double r113211 = r113209 + r113210;
        double r113212 = 2.0;
        double r113213 = pow(r113190, r113212);
        double r113214 = r113208 / r113213;
        double r113215 = r113211 - r113214;
        double r113216 = r113208 / r113215;
        double r113217 = r113216 / r113200;
        double r113218 = r113217 / r113204;
        double r113219 = r113192 ? r113207 : r113218;
        return r113219;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.833222038499473e+151

    1. Initial program 1.0

      \[\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. Simplified1.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt1.6

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\color{blue}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    5. Applied add-sqr-sqrt2.0

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\color{blue}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    6. Applied add-sqr-sqrt1.9

      \[\leadsto \frac{\frac{\frac{\color{blue}{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)} \cdot \sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    7. Applied times-frac1.9

      \[\leadsto \frac{\frac{\color{blue}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    8. Applied times-frac1.7

      \[\leadsto \frac{\color{blue}{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    9. Applied associate-/l*1.7

      \[\leadsto \color{blue}{\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}}\]
    10. Simplified1.1

      \[\leadsto \frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\color{blue}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}\]

    if 1.833222038499473e+151 < alpha

    1. Initial program 16.0

      \[\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. Simplified16.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}}\]
    3. Using strategy rm
    4. Applied clear-num16.0

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

      \[\leadsto \frac{\frac{\frac{1}{\color{blue}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.833222038499472936347446758444685373448 \cdot 10^{151}:\\ \;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \end{array}\]

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(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)))