\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{\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)}double f(double t) {
double r43084 = 1.0;
double r43085 = 2.0;
double r43086 = t;
double r43087 = r43085 / r43086;
double r43088 = r43084 / r43086;
double r43089 = r43084 + r43088;
double r43090 = r43087 / r43089;
double r43091 = r43085 - r43090;
double r43092 = r43091 * r43091;
double r43093 = r43084 + r43092;
double r43094 = r43085 + r43092;
double r43095 = r43093 / r43094;
return r43095;
}
double f(double t) {
double r43096 = 1.0;
double r43097 = 2.0;
double r43098 = t;
double r43099 = r43097 / r43098;
double r43100 = r43096 / r43098;
double r43101 = r43096 + r43100;
double r43102 = r43099 / r43101;
double r43103 = r43097 - r43102;
double r43104 = r43103 * r43103;
double r43105 = r43096 + r43104;
double r43106 = r43097 + r43104;
double r43107 = r43105 / r43106;
return r43107;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019353
(FPCore (t)
:name "Kahan p13 Example 2"
:precision binary64
(/ (+ 1 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))) (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t))))))))