double f(double t) {
double r5287688 = 1.0;
double r5287689 = 2.0;
double r5287690 = t;
double r5287691 = r5287689 * r5287690;
double r5287692 = r5287688 + r5287690;
double r5287693 = r5287691 / r5287692;
double r5287694 = r5287693 * r5287693;
double r5287695 = r5287688 + r5287694;
double r5287696 = r5287689 + r5287694;
double r5287697 = r5287695 / r5287696;
return r5287697;
}
double f(double t) {
double r5287698 = 1.0;
double r5287699 = t;
double r5287700 = 2.0;
double r5287701 = r5287699 * r5287700;
double r5287702 = r5287698 + r5287699;
double r5287703 = r5287701 / r5287702;
double r5287704 = r5287703 * r5287703;
double r5287705 = r5287698 + r5287704;
double r5287706 = r5287700 + r5287704;
double r5287707 = r5287705 / r5287706;
return r5287707;
}
\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}}


Bits error versus t
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019102
(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))))))