Average Error: 0.0 → 0.0
Time: 6.1s
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{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{2 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{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{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{2 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}
double f(double t) {
        double r2116780 = 1.0;
        double r2116781 = 2.0;
        double r2116782 = t;
        double r2116783 = r2116781 * r2116782;
        double r2116784 = r2116780 + r2116782;
        double r2116785 = r2116783 / r2116784;
        double r2116786 = r2116785 * r2116785;
        double r2116787 = r2116780 + r2116786;
        double r2116788 = r2116781 + r2116786;
        double r2116789 = r2116787 / r2116788;
        return r2116789;
}

double f(double t) {
        double r2116790 = 1.0;
        double r2116791 = t;
        double r2116792 = 2.0;
        double r2116793 = r2116791 * r2116792;
        double r2116794 = r2116790 + r2116791;
        double r2116795 = r2116793 / r2116794;
        double r2116796 = r2116795 * r2116795;
        double r2116797 = r2116790 + r2116796;
        double r2116798 = r2116792 + r2116796;
        double r2116799 = r2116797 / r2116798;
        return r2116799;
}

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{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{2 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\]

Reproduce

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