Average Error: 23.6 → 12.5
Time: 1.2m
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 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.0} + 1.0}{2.0}\]
\[\frac{1.0 + \sqrt[3]{\left(\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}\right) \cdot \left(\left(\left(\sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}} \cdot \sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}}\right) \cdot \sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}}\right) \cdot \left(\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}\right)\right)}}{2.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.0} + 1.0}{2.0}
\frac{1.0 + \sqrt[3]{\left(\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}\right) \cdot \left(\left(\left(\sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}} \cdot \sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}}\right) \cdot \sqrt[3]{\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}}\right) \cdot \left(\frac{\alpha + \beta}{\left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta}\right)\right)}}{2.0}
double f(double alpha, double beta, double i) {
        double r5943279 = alpha;
        double r5943280 = beta;
        double r5943281 = r5943279 + r5943280;
        double r5943282 = r5943280 - r5943279;
        double r5943283 = r5943281 * r5943282;
        double r5943284 = 2.0;
        double r5943285 = i;
        double r5943286 = r5943284 * r5943285;
        double r5943287 = r5943281 + r5943286;
        double r5943288 = r5943283 / r5943287;
        double r5943289 = 2.0;
        double r5943290 = r5943287 + r5943289;
        double r5943291 = r5943288 / r5943290;
        double r5943292 = 1.0;
        double r5943293 = r5943291 + r5943292;
        double r5943294 = r5943293 / r5943289;
        return r5943294;
}

double f(double alpha, double beta, double i) {
        double r5943295 = 1.0;
        double r5943296 = alpha;
        double r5943297 = beta;
        double r5943298 = r5943296 + r5943297;
        double r5943299 = i;
        double r5943300 = 2.0;
        double r5943301 = fma(r5943299, r5943300, r5943296);
        double r5943302 = r5943301 + r5943297;
        double r5943303 = 2.0;
        double r5943304 = r5943302 + r5943303;
        double r5943305 = r5943298 / r5943304;
        double r5943306 = r5943297 - r5943296;
        double r5943307 = r5943306 / r5943302;
        double r5943308 = r5943305 * r5943307;
        double r5943309 = cbrt(r5943308);
        double r5943310 = r5943309 * r5943309;
        double r5943311 = r5943310 * r5943309;
        double r5943312 = r5943311 * r5943308;
        double r5943313 = r5943308 * r5943312;
        double r5943314 = cbrt(r5943313);
        double r5943315 = r5943295 + r5943314;
        double r5943316 = r5943315 / r5943303;
        return r5943316;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 23.6

    \[\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.0} + 1.0}{2.0}\]
  2. Simplified23.5

    \[\leadsto \color{blue}{\frac{\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)} + 1.0}{2.0}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube30.7

    \[\leadsto \frac{\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)}}} + 1.0}{2.0}\]
  5. Applied add-cbrt-cube35.0

    \[\leadsto \frac{\frac{\color{blue}{\sqrt[3]{\left(\left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right) \cdot \left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right)\right) \cdot \left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right)}}}{\sqrt[3]{\left(\mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)}} + 1.0}{2.0}\]
  6. Applied cbrt-undiv35.0

    \[\leadsto \frac{\color{blue}{\sqrt[3]{\frac{\left(\left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right) \cdot \left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right)\right) \cdot \left(\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)\right)}{\left(\mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)\right) \cdot \mathsf{fma}\left(2.0, \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \mathsf{fma}\left(2, i, \beta + \alpha\right)\right)}}} + 1.0}{2.0}\]
  7. Simplified12.5

    \[\leadsto \frac{\sqrt[3]{\color{blue}{\left(\left(\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta} \cdot \frac{\alpha + \beta}{2.0 + \left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right)}\right) \cdot \left(\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta} \cdot \frac{\alpha + \beta}{2.0 + \left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right)}\right)\right) \cdot \left(\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha\right) + \beta} \cdot \frac{\alpha + \beta}{2.0 + \left(\mathsf{fma}\left(i, 2, \alpha\right) + \beta\right)}\right)}} + 1.0}{2.0}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt12.5

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

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

Reproduce

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