Average Error: 0.1 → 0.1
Time: 5.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}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{\left(\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} - 1\right) + 1 \cdot 1\right) \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}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{\left(\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} - 1\right) + 1 \cdot 1\right) \cdot \left(2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}
double f(double t) {
        double r79791 = 1.0;
        double r79792 = 2.0;
        double r79793 = t;
        double r79794 = r79792 * r79793;
        double r79795 = r79791 + r79793;
        double r79796 = r79794 / r79795;
        double r79797 = r79796 * r79796;
        double r79798 = r79791 + r79797;
        double r79799 = r79792 + r79797;
        double r79800 = r79798 / r79799;
        return r79800;
}

double f(double t) {
        double r79801 = 1.0;
        double r79802 = 3.0;
        double r79803 = pow(r79801, r79802);
        double r79804 = 2.0;
        double r79805 = t;
        double r79806 = r79804 * r79805;
        double r79807 = r79801 + r79805;
        double r79808 = r79806 / r79807;
        double r79809 = r79808 * r79808;
        double r79810 = pow(r79809, r79802);
        double r79811 = r79803 + r79810;
        double r79812 = r79809 - r79801;
        double r79813 = r79809 * r79812;
        double r79814 = r79801 * r79801;
        double r79815 = r79813 + r79814;
        double r79816 = r79804 + r79809;
        double r79817 = r79815 * r79816;
        double r79818 = r79811 / r79817;
        return r79818;
}

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\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 flip3-+0.1

    \[\leadsto \frac{\color{blue}{\frac{{1}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{1 \cdot 1 + \left(\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) - 1 \cdot \left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)\right)}}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\]
  4. Applied associate-/l/0.1

    \[\leadsto \color{blue}{\frac{{1}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{\left(2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right) \cdot \left(1 \cdot 1 + \left(\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) - 1 \cdot \left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)\right)\right)}}\]
  5. Simplified0.1

    \[\leadsto \frac{{1}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{\color{blue}{\left(\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} - 1\right) + 1 \cdot 1\right) \cdot \left(2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}}\]
  6. Final simplification0.1

    \[\leadsto \frac{{1}^{3} + {\left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}^{3}}{\left(\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} - 1\right) + 1 \cdot 1\right) \cdot \left(2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}\]

Reproduce

herbie shell --seed 2020100 +o rules:numerics
(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))))))