Average Error: 3.7 → 2.3
Time: 12.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}\;\alpha \le 1.638409875704254431316010077897121792161 \cdot 10^{190}:\\ \;\;\;\;\frac{\frac{\frac{1 \cdot \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}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\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.638409875704254431316010077897121792161 \cdot 10^{190}:\\
\;\;\;\;\frac{\frac{\frac{1 \cdot \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}\\

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

\end{array}
double f(double alpha, double beta) {
        double r110103 = alpha;
        double r110104 = beta;
        double r110105 = r110103 + r110104;
        double r110106 = r110104 * r110103;
        double r110107 = r110105 + r110106;
        double r110108 = 1.0;
        double r110109 = r110107 + r110108;
        double r110110 = 2.0;
        double r110111 = r110110 * r110108;
        double r110112 = r110105 + r110111;
        double r110113 = r110109 / r110112;
        double r110114 = r110113 / r110112;
        double r110115 = r110112 + r110108;
        double r110116 = r110114 / r110115;
        return r110116;
}

double f(double alpha, double beta) {
        double r110117 = alpha;
        double r110118 = 1.6384098757042544e+190;
        bool r110119 = r110117 <= r110118;
        double r110120 = 1.0;
        double r110121 = beta;
        double r110122 = r110117 + r110121;
        double r110123 = r110121 * r110117;
        double r110124 = r110122 + r110123;
        double r110125 = r110120 * r110124;
        double r110126 = 1.0;
        double r110127 = r110125 + r110126;
        double r110128 = 2.0;
        double r110129 = r110128 * r110126;
        double r110130 = r110122 + r110129;
        double r110131 = r110127 / r110130;
        double r110132 = r110131 / r110130;
        double r110133 = r110130 + r110126;
        double r110134 = r110132 / r110133;
        double r110135 = 2.0;
        double r110136 = pow(r110117, r110135);
        double r110137 = r110120 / r110136;
        double r110138 = r110128 * r110137;
        double r110139 = r110138 + r110120;
        double r110140 = r110120 / r110117;
        double r110141 = r110126 * r110140;
        double r110142 = r110139 - r110141;
        double r110143 = r110142 / r110130;
        double r110144 = r110143 / r110133;
        double r110145 = r110119 ? r110134 : r110144;
        return r110145;
}

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 < 1.6384098757042544e+190

    1. Initial program 1.7

      \[\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. Using strategy rm
    3. Applied *-un-lft-identity1.7

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \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}\]

    if 1.6384098757042544e+190 < alpha

    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 inf 6.5

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

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

Reproduce

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