Average Error: 0.0 → 0.0
Time: 8.2s
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 r40417 = 1.0;
        double r40418 = 2.0;
        double r40419 = t;
        double r40420 = r40418 * r40419;
        double r40421 = r40417 + r40419;
        double r40422 = r40420 / r40421;
        double r40423 = r40422 * r40422;
        double r40424 = r40417 + r40423;
        double r40425 = r40418 + r40423;
        double r40426 = r40424 / r40425;
        return r40426;
}

double f(double t) {
        double r40427 = 1.0;
        double r40428 = t;
        double r40429 = 2.0;
        double r40430 = r40428 * r40429;
        double r40431 = r40427 + r40428;
        double r40432 = r40430 / r40431;
        double r40433 = r40432 * r40432;
        double r40434 = r40427 + r40433;
        double r40435 = r40429 + r40433;
        double r40436 = r40434 / r40435;
        return r40436;
}

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 2019194 +o rules:numerics
(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))))))