Average Error: 0.0 → 0.0
Time: 11.2s
Precision: 64
\[1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
\[1 - \frac{1}{\frac{{2}^{3} - {\left(\frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right)}^{3}}{\left(2 + \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right) \cdot \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t} + 2 \cdot 2} \cdot \left(2 - \frac{\frac{2}{t}}{\frac{1}{t} + 1}\right) + 2}\]
1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
1 - \frac{1}{\frac{{2}^{3} - {\left(\frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right)}^{3}}{\left(2 + \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right) \cdot \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t} + 2 \cdot 2} \cdot \left(2 - \frac{\frac{2}{t}}{\frac{1}{t} + 1}\right) + 2}
double f(double t) {
        double r29204 = 1.0;
        double r29205 = 2.0;
        double r29206 = t;
        double r29207 = r29205 / r29206;
        double r29208 = r29204 / r29206;
        double r29209 = r29204 + r29208;
        double r29210 = r29207 / r29209;
        double r29211 = r29205 - r29210;
        double r29212 = r29211 * r29211;
        double r29213 = r29205 + r29212;
        double r29214 = r29204 / r29213;
        double r29215 = r29204 - r29214;
        return r29215;
}

double f(double t) {
        double r29216 = 1.0;
        double r29217 = 2.0;
        double r29218 = 3.0;
        double r29219 = pow(r29217, r29218);
        double r29220 = t;
        double r29221 = r29216 / r29220;
        double r29222 = r29221 + r29216;
        double r29223 = r29222 * r29220;
        double r29224 = r29217 / r29223;
        double r29225 = pow(r29224, r29218);
        double r29226 = r29219 - r29225;
        double r29227 = r29217 + r29224;
        double r29228 = r29227 * r29224;
        double r29229 = r29217 * r29217;
        double r29230 = r29228 + r29229;
        double r29231 = r29226 / r29230;
        double r29232 = r29217 / r29220;
        double r29233 = r29232 / r29222;
        double r29234 = r29217 - r29233;
        double r29235 = r29231 * r29234;
        double r29236 = r29235 + r29217;
        double r29237 = r29216 / r29236;
        double r29238 = r29216 - r29237;
        return r29238;
}

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

    \[1 - \frac{1}{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 flip3--0.0

    \[\leadsto 1 - \frac{1}{2 + \color{blue}{\frac{{2}^{3} - {\left(\frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{3}}{2 \cdot 2 + \left(\frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}} + 2 \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}} \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  4. Simplified0.0

    \[\leadsto 1 - \frac{1}{2 + \frac{\color{blue}{{2}^{3} - {\left(\frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right)}^{3}}}{2 \cdot 2 + \left(\frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}} + 2 \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)} \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  5. Simplified0.0

    \[\leadsto 1 - \frac{1}{2 + \frac{{2}^{3} - {\left(\frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right)}^{3}}{\color{blue}{\left(2 + \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right) \cdot \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t} + 2 \cdot 2}} \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  6. Final simplification0.0

    \[\leadsto 1 - \frac{1}{\frac{{2}^{3} - {\left(\frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right)}^{3}}{\left(2 + \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t}\right) \cdot \frac{2}{\left(\frac{1}{t} + 1\right) \cdot t} + 2 \cdot 2} \cdot \left(2 - \frac{\frac{2}{t}}{\frac{1}{t} + 1}\right) + 2}\]

Reproduce

herbie shell --seed 2019179 
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1.0 (/ 1.0 (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))