Average Error: 24.2 → 12.7
Time: 14.2s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 0.0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
\[\frac{e^{\log \left(\mathsf{fma}\left(\left(\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}\right) \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}}{2}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}
\frac{e^{\log \left(\mathsf{fma}\left(\left(\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}\right) \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}}{2}
double f(double alpha, double beta, double i) {
        double r96679 = alpha;
        double r96680 = beta;
        double r96681 = r96679 + r96680;
        double r96682 = r96680 - r96679;
        double r96683 = r96681 * r96682;
        double r96684 = 2.0;
        double r96685 = i;
        double r96686 = r96684 * r96685;
        double r96687 = r96681 + r96686;
        double r96688 = r96683 / r96687;
        double r96689 = r96687 + r96684;
        double r96690 = r96688 / r96689;
        double r96691 = 1.0;
        double r96692 = r96690 + r96691;
        double r96693 = r96692 / r96684;
        return r96693;
}

double f(double alpha, double beta, double i) {
        double r96694 = beta;
        double r96695 = alpha;
        double r96696 = r96694 - r96695;
        double r96697 = 2.0;
        double r96698 = i;
        double r96699 = r96695 + r96694;
        double r96700 = fma(r96697, r96698, r96699);
        double r96701 = r96700 + r96697;
        double r96702 = r96696 / r96701;
        double r96703 = cbrt(r96702);
        double r96704 = r96703 * r96703;
        double r96705 = r96704 * r96703;
        double r96706 = r96699 / r96700;
        double r96707 = 1.0;
        double r96708 = fma(r96705, r96706, r96707);
        double r96709 = log(r96708);
        double r96710 = exp(r96709);
        double r96711 = r96710 / r96697;
        return r96711;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 24.2

    \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
  2. Simplified12.6

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

    \[\leadsto \frac{\color{blue}{e^{\log \left(\mathsf{fma}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}}}{2}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt12.7

    \[\leadsto \frac{e^{\log \left(\mathsf{fma}\left(\color{blue}{\left(\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}\right) \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}}{2}\]
  7. Final simplification12.7

    \[\leadsto \frac{e^{\log \left(\mathsf{fma}\left(\left(\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}\right) \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}}{2}\]

Reproduce

herbie shell --seed 2019350 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))