Average Error: 0.0 → 0.0
Time: 1.9s
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{1 + \log \left(e^{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{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{1 + \log \left(e^{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)}
double f(double t) {
        double r48710 = 1.0;
        double r48711 = 2.0;
        double r48712 = t;
        double r48713 = r48711 / r48712;
        double r48714 = r48710 / r48712;
        double r48715 = r48710 + r48714;
        double r48716 = r48713 / r48715;
        double r48717 = r48711 - r48716;
        double r48718 = r48717 * r48717;
        double r48719 = r48710 + r48718;
        double r48720 = r48711 + r48718;
        double r48721 = r48719 / r48720;
        return r48721;
}

double f(double t) {
        double r48722 = 1.0;
        double r48723 = 2.0;
        double r48724 = t;
        double r48725 = r48723 / r48724;
        double r48726 = r48722 / r48724;
        double r48727 = r48722 + r48726;
        double r48728 = r48725 / r48727;
        double r48729 = r48723 - r48728;
        double r48730 = exp(r48729);
        double r48731 = log(r48730);
        double r48732 = r48731 * r48729;
        double r48733 = r48722 + r48732;
        double r48734 = r48729 * r48729;
        double r48735 = r48723 + r48734;
        double r48736 = r48733 / r48735;
        return r48736;
}

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \frac{1 + \left(2 - \color{blue}{\log \left(e^{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}\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)}\]
  4. Applied add-log-exp0.0

    \[\leadsto \frac{1 + \left(\color{blue}{\log \left(e^{2}\right)} - \log \left(e^{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)\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)}\]
  5. Applied diff-log0.0

    \[\leadsto \frac{1 + \color{blue}{\log \left(\frac{e^{2}}{e^{\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)}\]
  6. Simplified0.0

    \[\leadsto \frac{1 + \log \color{blue}{\left(e^{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)}\]
  7. Final simplification0.0

    \[\leadsto \frac{1 + \log \left(e^{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)}\]

Reproduce

herbie shell --seed 2020024 
(FPCore (t)
  :name "Kahan p13 Example 2"
  :precision binary64
  (/ (+ 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))))))))