\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 r95110 = 1.0;
double r95111 = 2.0;
double r95112 = t;
double r95113 = r95111 * r95112;
double r95114 = r95110 + r95112;
double r95115 = r95113 / r95114;
double r95116 = r95115 * r95115;
double r95117 = r95110 + r95116;
double r95118 = r95111 + r95116;
double r95119 = r95117 / r95118;
return r95119;
}
double f(double t) {
double r95120 = 1.0;
double r95121 = 2.0;
double r95122 = t;
double r95123 = r95121 * r95122;
double r95124 = r95120 + r95122;
double r95125 = r95123 / r95124;
double r95126 = r95125 * r95125;
double r95127 = r95120 + r95126;
double r95128 = r95121 + r95126;
double r95129 = r95127 / r95128;
return r95129;
}



Bits error versus t
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019356 +o rules:numerics
(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))))))