\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 r45034 = 1.0;
double r45035 = 2.0;
double r45036 = t;
double r45037 = r45035 * r45036;
double r45038 = r45034 + r45036;
double r45039 = r45037 / r45038;
double r45040 = r45039 * r45039;
double r45041 = r45034 + r45040;
double r45042 = r45035 + r45040;
double r45043 = r45041 / r45042;
return r45043;
}
double f(double t) {
double r45044 = 1.0;
double r45045 = 2.0;
double r45046 = t;
double r45047 = r45045 * r45046;
double r45048 = r45044 + r45046;
double r45049 = r45047 / r45048;
double r45050 = r45049 * r45049;
double r45051 = r45044 + r45050;
double r45052 = r45045 + r45050;
double r45053 = r45051 / r45052;
return r45053;
}



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