Average Error: 0.0 → 0.0
Time: 2.3s
Precision: 64
\[\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\]
\[\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 \cdot 2 - {\left(\frac{2 \cdot t}{1 + t}\right)}^{3} \cdot \frac{2 \cdot t}{1 + t}} \cdot \left(2 - \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)\]
\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}
\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 \cdot 2 - {\left(\frac{2 \cdot t}{1 + t}\right)}^{3} \cdot \frac{2 \cdot t}{1 + t}} \cdot \left(2 - \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)
double f(double t) {
        double r48922 = 1.0;
        double r48923 = 2.0;
        double r48924 = t;
        double r48925 = r48923 * r48924;
        double r48926 = r48922 + r48924;
        double r48927 = r48925 / r48926;
        double r48928 = r48927 * r48927;
        double r48929 = r48922 + r48928;
        double r48930 = r48923 + r48928;
        double r48931 = r48929 / r48930;
        return r48931;
}

double f(double t) {
        double r48932 = 1.0;
        double r48933 = 2.0;
        double r48934 = t;
        double r48935 = r48933 * r48934;
        double r48936 = r48932 + r48934;
        double r48937 = r48935 / r48936;
        double r48938 = r48937 * r48937;
        double r48939 = r48932 + r48938;
        double r48940 = r48933 * r48933;
        double r48941 = 3.0;
        double r48942 = pow(r48937, r48941);
        double r48943 = r48942 * r48937;
        double r48944 = r48940 - r48943;
        double r48945 = r48939 / r48944;
        double r48946 = r48933 - r48938;
        double r48947 = r48945 * r48946;
        return r48947;
}

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 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\]
  2. Using strategy rm
  3. Applied flip-+0.0

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

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

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

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

Reproduce

herbie shell --seed 2020021 
(FPCore (t)
  :name "Kahan p13 Example 1"
  :precision binary64
  (/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))