\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 r24096 = 1.0;
double r24097 = 2.0;
double r24098 = t;
double r24099 = r24097 / r24098;
double r24100 = r24096 / r24098;
double r24101 = r24096 + r24100;
double r24102 = r24099 / r24101;
double r24103 = r24097 - r24102;
double r24104 = r24103 * r24103;
double r24105 = r24096 + r24104;
double r24106 = r24097 + r24104;
double r24107 = r24105 / r24106;
return r24107;
}
double f(double t) {
double r24108 = 1.0;
double r24109 = 2.0;
double r24110 = t;
double r24111 = r24109 / r24110;
double r24112 = r24108 / r24110;
double r24113 = r24108 + r24112;
double r24114 = r24111 / r24113;
double r24115 = r24109 - r24114;
double r24116 = r24115 * r24115;
double r24117 = r24108 + r24116;
double r24118 = r24109 + r24116;
double r24119 = r24117 / r24118;
return r24119;
}



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