\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\frac{1 + \left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}double f(double t) {
double r1466092 = 1.0;
double r1466093 = 2.0;
double r1466094 = t;
double r1466095 = r1466093 / r1466094;
double r1466096 = r1466092 / r1466094;
double r1466097 = r1466092 + r1466096;
double r1466098 = r1466095 / r1466097;
double r1466099 = r1466093 - r1466098;
double r1466100 = r1466099 * r1466099;
double r1466101 = r1466092 + r1466100;
double r1466102 = r1466093 + r1466100;
double r1466103 = r1466101 / r1466102;
return r1466103;
}
double f(double t) {
double r1466104 = 1.0;
double r1466105 = 2.0;
double r1466106 = t;
double r1466107 = r1466104 * r1466106;
double r1466108 = r1466107 + r1466104;
double r1466109 = r1466105 / r1466108;
double r1466110 = r1466105 - r1466109;
double r1466111 = r1466110 * r1466110;
double r1466112 = r1466104 + r1466111;
double r1466113 = r1466111 + r1466105;
double r1466114 = r1466112 / r1466113;
return r1466114;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))