Average Error: 3.5 → 2.4
Time: 34.2s
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 3.948042311878287 \cdot 10^{+161}:\\ \;\;\;\;\frac{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right) - 4}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\left(\beta + \alpha\right) - 2}}\\ \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 3.948042311878287 \cdot 10^{+161}:\\
\;\;\;\;\frac{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right) - 4}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\left(\beta + \alpha\right) - 2}}\\

\end{array}
double f(double alpha, double beta) {
        double r3235114 = alpha;
        double r3235115 = beta;
        double r3235116 = r3235114 + r3235115;
        double r3235117 = r3235115 * r3235114;
        double r3235118 = r3235116 + r3235117;
        double r3235119 = 1.0;
        double r3235120 = r3235118 + r3235119;
        double r3235121 = 2.0;
        double r3235122 = 1.0;
        double r3235123 = r3235121 * r3235122;
        double r3235124 = r3235116 + r3235123;
        double r3235125 = r3235120 / r3235124;
        double r3235126 = r3235125 / r3235124;
        double r3235127 = r3235124 + r3235119;
        double r3235128 = r3235126 / r3235127;
        return r3235128;
}

double f(double alpha, double beta) {
        double r3235129 = alpha;
        double r3235130 = 3.948042311878287e+161;
        bool r3235131 = r3235129 <= r3235130;
        double r3235132 = 1.0;
        double r3235133 = beta;
        double r3235134 = r3235133 * r3235129;
        double r3235135 = r3235133 + r3235129;
        double r3235136 = r3235134 + r3235135;
        double r3235137 = r3235132 + r3235136;
        double r3235138 = 2.0;
        double r3235139 = r3235135 + r3235138;
        double r3235140 = r3235137 / r3235139;
        double r3235141 = sqrt(r3235140);
        double r3235142 = sqrt(r3235139);
        double r3235143 = r3235141 / r3235142;
        double r3235144 = r3235132 + r3235139;
        double r3235145 = r3235144 / r3235143;
        double r3235146 = r3235143 / r3235145;
        double r3235147 = 0.25;
        double r3235148 = 0.5;
        double r3235149 = fma(r3235133, r3235147, r3235148);
        double r3235150 = fma(r3235147, r3235129, r3235149);
        double r3235151 = r3235135 * r3235135;
        double r3235152 = 4.0;
        double r3235153 = r3235151 - r3235152;
        double r3235154 = r3235150 / r3235153;
        double r3235155 = r3235135 - r3235138;
        double r3235156 = r3235144 / r3235155;
        double r3235157 = r3235154 / r3235156;
        double r3235158 = r3235131 ? r3235146 : r3235157;
        return r3235158;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.948042311878287e+161

    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. Using strategy rm
    3. Applied add-sqr-sqrt1.8

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

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

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

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

    if 3.948042311878287e+161 < alpha

    1. Initial program 15.6

      \[\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. Using strategy rm
    3. Applied flip-+16.9

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\color{blue}{\frac{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}{\left(\alpha + \beta\right) - 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    4. Applied associate-/r/16.9

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

      \[\leadsto \color{blue}{\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) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}{\left(\alpha + \beta\right) - 2 \cdot 1}}}\]
    6. Taylor expanded around 0 7.7

      \[\leadsto \frac{\frac{\color{blue}{0.25 \cdot \alpha + \left(0.25 \cdot \beta + 0.5\right)}}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}{\left(\alpha + \beta\right) - 2 \cdot 1}}\]
    7. Simplified7.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 3.948042311878287 \cdot 10^{+161}:\\ \;\;\;\;\frac{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right) - 4}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\left(\beta + \alpha\right) - 2}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019164 +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)))