Average Error: 0.0 → 0.0
Time: 53.7s
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 r7570525 = 1.0;
        double r7570526 = 2.0;
        double r7570527 = t;
        double r7570528 = r7570526 * r7570527;
        double r7570529 = r7570525 + r7570527;
        double r7570530 = r7570528 / r7570529;
        double r7570531 = r7570530 * r7570530;
        double r7570532 = r7570525 + r7570531;
        double r7570533 = r7570526 + r7570531;
        double r7570534 = r7570532 / r7570533;
        return r7570534;
}

double f(double t) {
        double r7570535 = 1.0;
        double r7570536 = t;
        double r7570537 = 2.0;
        double r7570538 = r7570536 * r7570537;
        double r7570539 = r7570535 + r7570536;
        double r7570540 = r7570538 / r7570539;
        double r7570541 = r7570540 * r7570540;
        double r7570542 = r7570535 + r7570541;
        double r7570543 = r7570537 + r7570541;
        double r7570544 = r7570542 / r7570543;
        return r7570544;
}

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 2019125 
(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))))))