\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 r26643 = 1.0;
double r26644 = 2.0;
double r26645 = t;
double r26646 = r26644 / r26645;
double r26647 = r26643 / r26645;
double r26648 = r26643 + r26647;
double r26649 = r26646 / r26648;
double r26650 = r26644 - r26649;
double r26651 = r26650 * r26650;
double r26652 = r26643 + r26651;
double r26653 = r26644 + r26651;
double r26654 = r26652 / r26653;
return r26654;
}
double f(double t) {
double r26655 = 1.0;
double r26656 = 2.0;
double r26657 = t;
double r26658 = r26656 / r26657;
double r26659 = r26655 / r26657;
double r26660 = r26655 + r26659;
double r26661 = r26658 / r26660;
double r26662 = r26656 - r26661;
double r26663 = r26662 * r26662;
double r26664 = r26655 + r26663;
double r26665 = r26656 + r26663;
double r26666 = r26664 / r26665;
return r26666;
}



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