Average Error: 23.9 → 12.1
Time: 17.9s
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{\sqrt[3]{{\left(\mathsf{fma}\left(\left(\beta - \alpha\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\beta + \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1\right)\right)}^{3}}}{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{\sqrt[3]{{\left(\mathsf{fma}\left(\left(\beta - \alpha\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\beta + \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1\right)\right)}^{3}}}{2}
double f(double alpha, double beta, double i) {
        double r80884 = alpha;
        double r80885 = beta;
        double r80886 = r80884 + r80885;
        double r80887 = r80885 - r80884;
        double r80888 = r80886 * r80887;
        double r80889 = 2.0;
        double r80890 = i;
        double r80891 = r80889 * r80890;
        double r80892 = r80886 + r80891;
        double r80893 = r80888 / r80892;
        double r80894 = r80892 + r80889;
        double r80895 = r80893 / r80894;
        double r80896 = 1.0;
        double r80897 = r80895 + r80896;
        double r80898 = r80897 / r80889;
        return r80898;
}

double f(double alpha, double beta, double i) {
        double r80899 = beta;
        double r80900 = alpha;
        double r80901 = r80899 - r80900;
        double r80902 = 1.0;
        double r80903 = 2.0;
        double r80904 = i;
        double r80905 = r80900 + r80899;
        double r80906 = fma(r80903, r80904, r80905);
        double r80907 = r80906 + r80903;
        double r80908 = r80902 / r80907;
        double r80909 = r80901 * r80908;
        double r80910 = r80899 + r80900;
        double r80911 = fma(r80903, r80904, r80910);
        double r80912 = r80910 / r80911;
        double r80913 = 1.0;
        double r80914 = fma(r80909, r80912, r80913);
        double r80915 = 3.0;
        double r80916 = pow(r80914, r80915);
        double r80917 = cbrt(r80916);
        double r80918 = r80917 / r80903;
        return r80918;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 23.9

    \[\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.1

    \[\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 div-inv12.1

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \color{blue}{\left(\alpha + \beta\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}, 1\right)}{2}\]
  5. Using strategy rm
  6. Applied expm1-log1p-u12.1

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right)\right)}, \left(\alpha + \beta\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  7. Using strategy rm
  8. Applied add-cbrt-cube12.1

    \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right)\right), \left(\alpha + \beta\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right) \cdot \mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right)\right), \left(\alpha + \beta\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right) \cdot \mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right)\right), \left(\alpha + \beta\right) \cdot \frac{1}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}}}{2}\]
  9. Simplified12.1

    \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\beta + \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}, 1\right)\right)}^{3}}}}{2}\]
  10. Using strategy rm
  11. Applied div-inv12.1

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

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

Reproduce

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