Average Error: 3.6 → 3.6
Time: 24.1s
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}\]
\[\frac{\frac{\frac{\frac{\mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right) + 1}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 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}
\frac{\frac{\frac{\frac{\mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right) + 1}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}
double f(double alpha, double beta) {
        double r80749 = alpha;
        double r80750 = beta;
        double r80751 = r80749 + r80750;
        double r80752 = r80750 * r80749;
        double r80753 = r80751 + r80752;
        double r80754 = 1.0;
        double r80755 = r80753 + r80754;
        double r80756 = 2.0;
        double r80757 = r80756 * r80754;
        double r80758 = r80751 + r80757;
        double r80759 = r80755 / r80758;
        double r80760 = r80759 / r80758;
        double r80761 = r80758 + r80754;
        double r80762 = r80760 / r80761;
        return r80762;
}

double f(double alpha, double beta) {
        double r80763 = beta;
        double r80764 = alpha;
        double r80765 = r80764 + r80763;
        double r80766 = fma(r80763, r80764, r80765);
        double r80767 = 1.0;
        double r80768 = r80766 + r80767;
        double r80769 = 2.0;
        double r80770 = fma(r80769, r80767, r80765);
        double r80771 = r80768 / r80770;
        double r80772 = r80769 * r80767;
        double r80773 = r80765 - r80772;
        double r80774 = r80771 / r80773;
        double r80775 = r80774 / r80770;
        double r80776 = r80775 * r80773;
        double r80777 = r80765 + r80772;
        double r80778 = r80777 + r80767;
        double r80779 = r80776 / r80778;
        return r80779;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Initial program 3.6

    \[\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 flip-+4.5

    \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\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}\]
  4. Applied associate-/r/4.5

    \[\leadsto \frac{\color{blue}{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\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}\]
  5. Simplified3.6

    \[\leadsto \frac{\color{blue}{\frac{\frac{\frac{\mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right) + 1}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
  6. Final simplification3.6

    \[\leadsto \frac{\frac{\frac{\frac{\mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right) + 1}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]

Reproduce

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