Average Error: 0.0 → 0.0
Time: 14.3s
Precision: 64
\[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
\[\frac{\mathsf{fma}\left(\frac{\left(\left(-1 + t\right) + \left(1 - t\right)\right) \cdot 2}{1 - t \cdot t} + \mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
\frac{\mathsf{fma}\left(\frac{\left(\left(-1 + t\right) + \left(1 - t\right)\right) \cdot 2}{1 - t \cdot t} + \mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}
double f(double t) {
        double r1346394 = 1.0;
        double r1346395 = 2.0;
        double r1346396 = t;
        double r1346397 = r1346395 / r1346396;
        double r1346398 = r1346394 / r1346396;
        double r1346399 = r1346394 + r1346398;
        double r1346400 = r1346397 / r1346399;
        double r1346401 = r1346395 - r1346400;
        double r1346402 = r1346401 * r1346401;
        double r1346403 = r1346394 + r1346402;
        double r1346404 = r1346395 + r1346402;
        double r1346405 = r1346403 / r1346404;
        return r1346405;
}

double f(double t) {
        double r1346406 = -1.0;
        double r1346407 = t;
        double r1346408 = r1346406 + r1346407;
        double r1346409 = 1.0;
        double r1346410 = r1346409 - r1346407;
        double r1346411 = r1346408 + r1346410;
        double r1346412 = 2.0;
        double r1346413 = r1346411 * r1346412;
        double r1346414 = r1346407 * r1346407;
        double r1346415 = r1346409 - r1346414;
        double r1346416 = r1346413 / r1346415;
        double r1346417 = -2.0;
        double r1346418 = r1346417 / r1346415;
        double r1346419 = fma(r1346418, r1346410, r1346412);
        double r1346420 = r1346416 + r1346419;
        double r1346421 = r1346409 + r1346407;
        double r1346422 = r1346412 / r1346421;
        double r1346423 = r1346412 - r1346422;
        double r1346424 = fma(r1346420, r1346423, r1346409);
        double r1346425 = fma(r1346423, r1346423, r1346412);
        double r1346426 = r1346424 / r1346425;
        return r1346426;
}

Error

Bits error versus t

Derivation

  1. Initial program 0.0

    \[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}\]
  3. Using strategy rm
  4. Applied flip-+0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \frac{2}{\color{blue}{\frac{1 \cdot 1 - t \cdot t}{1 - t}}}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  5. Applied associate-/r/0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \color{blue}{\frac{2}{1 \cdot 1 - t \cdot t} \cdot \left(1 - t\right)}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  6. Applied add-cube-cbrt0.8

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}} - \frac{2}{1 \cdot 1 - t \cdot t} \cdot \left(1 - t\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  7. Applied prod-diff0.8

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\sqrt[3]{2} \cdot \sqrt[3]{2}, \sqrt[3]{2}, -\left(1 - t\right) \cdot \frac{2}{1 \cdot 1 - t \cdot t}\right) + \mathsf{fma}\left(-\left(1 - t\right), \frac{2}{1 \cdot 1 - t \cdot t}, \left(1 - t\right) \cdot \frac{2}{1 \cdot 1 - t \cdot t}\right)}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  8. Simplified0.0

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right)} + \mathsf{fma}\left(-\left(1 - t\right), \frac{2}{1 \cdot 1 - t \cdot t}, \left(1 - t\right) \cdot \frac{2}{1 \cdot 1 - t \cdot t}\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  9. Simplified0.0

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right) + \color{blue}{\frac{2 \cdot \left(\left(1 - t\right) + \left(-1 + t\right)\right)}{1 - t \cdot t}}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  10. Final simplification0.0

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

Reproduce

herbie shell --seed 2019152 +o rules:numerics
(FPCore (t)
  :name "Kahan p13 Example 2"
  (/ (+ 1 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))) (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t))))))))