Average Error: 24.0 → 12.3
Time: 26.5s
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{\frac{\left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) \cdot \left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) - 1 \cdot 1}{\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} - 1} + \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \beta}{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{\frac{\left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) \cdot \left(\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) - 1 \cdot 1}{\alpha \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} - 1} + \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \beta}{2}
double f(double alpha, double beta, double i) {
        double r3985471 = alpha;
        double r3985472 = beta;
        double r3985473 = r3985471 + r3985472;
        double r3985474 = r3985472 - r3985471;
        double r3985475 = r3985473 * r3985474;
        double r3985476 = 2.0;
        double r3985477 = i;
        double r3985478 = r3985476 * r3985477;
        double r3985479 = r3985473 + r3985478;
        double r3985480 = r3985475 / r3985479;
        double r3985481 = r3985479 + r3985476;
        double r3985482 = r3985480 / r3985481;
        double r3985483 = 1.0;
        double r3985484 = r3985482 + r3985483;
        double r3985485 = r3985484 / r3985476;
        return r3985485;
}

double f(double alpha, double beta, double i) {
        double r3985486 = alpha;
        double r3985487 = beta;
        double r3985488 = r3985487 - r3985486;
        double r3985489 = 2.0;
        double r3985490 = i;
        double r3985491 = r3985486 + r3985487;
        double r3985492 = fma(r3985489, r3985490, r3985491);
        double r3985493 = r3985488 / r3985492;
        double r3985494 = r3985489 + r3985492;
        double r3985495 = r3985493 / r3985494;
        double r3985496 = r3985486 * r3985495;
        double r3985497 = r3985496 * r3985496;
        double r3985498 = 1.0;
        double r3985499 = r3985498 * r3985498;
        double r3985500 = r3985497 - r3985499;
        double r3985501 = r3985496 - r3985498;
        double r3985502 = r3985500 / r3985501;
        double r3985503 = r3985495 * r3985487;
        double r3985504 = r3985502 + r3985503;
        double r3985505 = r3985504 / r3985489;
        return r3985505;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 24.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}\]
  2. Simplified12.4

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

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

    \[\leadsto \frac{\color{blue}{\left(\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{2 + \mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \beta + \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{2 + \mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \alpha\right)} + 1}{2}\]
  7. Applied associate-+l+12.3

    \[\leadsto \frac{\color{blue}{\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{2 + \mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \beta + \left(\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{2 + \mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \alpha + 1\right)}}{2}\]
  8. Using strategy rm
  9. Applied flip-+12.3

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

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

Reproduce

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