Average Error: 3.3 → 1.2
Time: 6.7m
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\ \;\;\;\;\frac{\frac{1}{\frac{\frac{\left(\beta + \alpha\right) + 2}{\sqrt{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}}{\frac{\sqrt{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\left(\frac{\alpha}{\beta} + 2\right) + \frac{\beta}{\alpha}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \end{array}\]
\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\
\;\;\;\;\frac{\frac{1}{\frac{\frac{\left(\beta + \alpha\right) + 2}{\sqrt{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}}{\frac{\sqrt{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\left(\frac{\alpha}{\beta} + 2\right) + \frac{\beta}{\alpha}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\

\end{array}
double f(double alpha, double beta) {
        double r8213068 = alpha;
        double r8213069 = beta;
        double r8213070 = r8213068 + r8213069;
        double r8213071 = r8213069 * r8213068;
        double r8213072 = r8213070 + r8213071;
        double r8213073 = 1.0;
        double r8213074 = r8213072 + r8213073;
        double r8213075 = 2.0;
        double r8213076 = 1.0;
        double r8213077 = r8213075 * r8213076;
        double r8213078 = r8213070 + r8213077;
        double r8213079 = r8213074 / r8213078;
        double r8213080 = r8213079 / r8213078;
        double r8213081 = r8213078 + r8213073;
        double r8213082 = r8213080 / r8213081;
        return r8213082;
}

double f(double alpha, double beta) {
        double r8213083 = alpha;
        double r8213084 = 6.2498429104423194e+159;
        bool r8213085 = r8213083 <= r8213084;
        double r8213086 = 1.0;
        double r8213087 = beta;
        double r8213088 = r8213087 + r8213083;
        double r8213089 = 2.0;
        double r8213090 = r8213088 + r8213089;
        double r8213091 = 1.0;
        double r8213092 = fma(r8213087, r8213083, r8213088);
        double r8213093 = r8213091 + r8213092;
        double r8213094 = sqrt(r8213093);
        double r8213095 = r8213090 / r8213094;
        double r8213096 = r8213094 / r8213090;
        double r8213097 = r8213095 / r8213096;
        double r8213098 = r8213086 / r8213097;
        double r8213099 = r8213090 + r8213091;
        double r8213100 = r8213098 / r8213099;
        double r8213101 = r8213083 / r8213087;
        double r8213102 = r8213101 + r8213089;
        double r8213103 = r8213087 / r8213083;
        double r8213104 = r8213102 + r8213103;
        double r8213105 = r8213086 / r8213104;
        double r8213106 = r8213105 / r8213099;
        double r8213107 = r8213085 ? r8213100 : r8213106;
        return r8213107;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 6.2498429104423194e+159

    1. Initial program 1.3

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    2. Simplified1.3

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

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{2 + \left(\beta + \alpha\right)}{\frac{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{2 + \left(\beta + \alpha\right)}}}}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity1.3

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

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

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

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

    if 6.2498429104423194e+159 < alpha

    1. Initial program 14.4

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    2. Simplified14.4

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

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

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

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

Reproduce

herbie shell --seed 2019143 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :pre (and (> alpha -1) (> beta -1))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))