Average Error: 23.9 → 12.2
Time: 1.2m
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(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\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{\sqrt[3]{\left(\mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}}{2}
double f(double alpha, double beta, double i) {
        double r4528689 = alpha;
        double r4528690 = beta;
        double r4528691 = r4528689 + r4528690;
        double r4528692 = r4528690 - r4528689;
        double r4528693 = r4528691 * r4528692;
        double r4528694 = 2.0;
        double r4528695 = i;
        double r4528696 = r4528694 * r4528695;
        double r4528697 = r4528691 + r4528696;
        double r4528698 = r4528693 / r4528697;
        double r4528699 = r4528697 + r4528694;
        double r4528700 = r4528698 / r4528699;
        double r4528701 = 1.0;
        double r4528702 = r4528700 + r4528701;
        double r4528703 = r4528702 / r4528694;
        return r4528703;
}

double f(double alpha, double beta, double i) {
        double r4528704 = beta;
        double r4528705 = alpha;
        double r4528706 = r4528704 - r4528705;
        double r4528707 = 2.0;
        double r4528708 = i;
        double r4528709 = r4528705 + r4528704;
        double r4528710 = fma(r4528707, r4528708, r4528709);
        double r4528711 = r4528710 + r4528707;
        double r4528712 = sqrt(r4528711);
        double r4528713 = r4528706 / r4528712;
        double r4528714 = -0.5;
        double r4528715 = pow(r4528711, r4528714);
        double r4528716 = r4528713 * r4528715;
        double r4528717 = r4528709 / r4528710;
        double r4528718 = 1.0;
        double r4528719 = fma(r4528716, r4528717, r4528718);
        double r4528720 = r4528719 * r4528719;
        double r4528721 = r4528720 * r4528719;
        double r4528722 = cbrt(r4528721);
        double r4528723 = r4528722 / r4528707;
        return r4528723;
}

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.2

    \[\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-sqr-sqrt12.3

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\beta - \alpha}{\color{blue}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  5. Applied *-un-lft-identity12.3

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\color{blue}{1 \cdot \left(\beta - \alpha\right)}}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  6. Applied times-frac12.3

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  7. Using strategy rm
  8. Applied pow1/212.3

    \[\leadsto \frac{\mathsf{fma}\left(\frac{1}{\color{blue}{{\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{1}{2}}}} \cdot \frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  9. Applied pow-flip12.2

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

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

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

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

Reproduce

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