Average Error: 0.0 → 0.0
Time: 4.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 + \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 + \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 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}
double f(double t) {
        double r2662004 = 1.0;
        double r2662005 = 2.0;
        double r2662006 = t;
        double r2662007 = r2662005 * r2662006;
        double r2662008 = r2662004 + r2662006;
        double r2662009 = r2662007 / r2662008;
        double r2662010 = r2662009 * r2662009;
        double r2662011 = r2662004 + r2662010;
        double r2662012 = r2662005 + r2662010;
        double r2662013 = r2662011 / r2662012;
        return r2662013;
}

double f(double t) {
        double r2662014 = 1.0;
        double r2662015 = 2.0;
        double r2662016 = t;
        double r2662017 = r2662015 * r2662016;
        double r2662018 = r2662014 + r2662016;
        double r2662019 = r2662017 / r2662018;
        double r2662020 = r2662019 * r2662019;
        double r2662021 = r2662014 + r2662020;
        double r2662022 = r2662015 + r2662020;
        double r2662023 = r2662021 / r2662022;
        return r2662023;
}

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. Final simplification0.0

    \[\leadsto \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}}\]

Reproduce

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