Average Error: 24.3 → 12.8
Time: 13.8s
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{\mathsf{fma}\left(\sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}} \cdot \left(\sqrt{\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}}\right), \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{\mathsf{fma}\left(\sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}} \cdot \left(\sqrt{\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}}\right), \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}
double f(double alpha, double beta, double i) {
        double r103411 = alpha;
        double r103412 = beta;
        double r103413 = r103411 + r103412;
        double r103414 = r103412 - r103411;
        double r103415 = r103413 * r103414;
        double r103416 = 2.0;
        double r103417 = i;
        double r103418 = r103416 * r103417;
        double r103419 = r103413 + r103418;
        double r103420 = r103415 / r103419;
        double r103421 = r103419 + r103416;
        double r103422 = r103420 / r103421;
        double r103423 = 1.0;
        double r103424 = r103422 + r103423;
        double r103425 = r103424 / r103416;
        return r103425;
}

double f(double alpha, double beta, double i) {
        double r103426 = 1.0;
        double r103427 = 2.0;
        double r103428 = i;
        double r103429 = alpha;
        double r103430 = beta;
        double r103431 = r103429 + r103430;
        double r103432 = fma(r103427, r103428, r103431);
        double r103433 = r103432 + r103427;
        double r103434 = sqrt(r103433);
        double r103435 = r103426 / r103434;
        double r103436 = sqrt(r103435);
        double r103437 = r103430 - r103429;
        double r103438 = r103437 / r103434;
        double r103439 = r103436 * r103438;
        double r103440 = r103436 * r103439;
        double r103441 = r103431 / r103432;
        double r103442 = 1.0;
        double r103443 = fma(r103440, r103441, r103442);
        double r103444 = r103443 / r103427;
        return r103444;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 24.3

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

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

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

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

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

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}} \cdot \sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 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}\]
  9. Applied associate-*l*12.8

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}} \cdot \left(\sqrt{\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}}\right)}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
  10. Final simplification12.8

    \[\leadsto \frac{\mathsf{fma}\left(\sqrt{\frac{1}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}} \cdot \left(\sqrt{\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}}\right), \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]

Reproduce

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