\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{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}}double f(double t) {
double r55075 = 1.0;
double r55076 = 2.0;
double r55077 = t;
double r55078 = r55076 * r55077;
double r55079 = r55075 + r55077;
double r55080 = r55078 / r55079;
double r55081 = r55080 * r55080;
double r55082 = r55075 + r55081;
double r55083 = r55076 + r55081;
double r55084 = r55082 / r55083;
return r55084;
}
double f(double t) {
double r55085 = 1.0;
double r55086 = 2.0;
double r55087 = t;
double r55088 = r55086 * r55087;
double r55089 = r55085 + r55087;
double r55090 = r55088 / r55089;
double r55091 = r55090 * r55090;
double r55092 = r55085 + r55091;
double r55093 = r55086 + r55091;
double r55094 = r55092 / r55093;
return r55094;
}



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