1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}1 - \frac{1}{2 + \mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right) \cdot \mathsf{fma}\left(\sqrt{2}, \sqrt{2}, -\frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}\right)}double f(double t) {
double r50086 = 1.0;
double r50087 = 2.0;
double r50088 = t;
double r50089 = r50087 / r50088;
double r50090 = r50086 / r50088;
double r50091 = r50086 + r50090;
double r50092 = r50089 / r50091;
double r50093 = r50087 - r50092;
double r50094 = r50093 * r50093;
double r50095 = r50087 + r50094;
double r50096 = r50086 / r50095;
double r50097 = r50086 - r50096;
return r50097;
}
double f(double t) {
double r50098 = 1.0;
double r50099 = 2.0;
double r50100 = t;
double r50101 = r50099 / r50100;
double r50102 = r50098 / r50100;
double r50103 = r50098 + r50102;
double r50104 = r50101 / r50103;
double r50105 = r50099 - r50104;
double r50106 = log1p(r50105);
double r50107 = expm1(r50106);
double r50108 = sqrt(r50099);
double r50109 = r50103 * r50100;
double r50110 = r50099 / r50109;
double r50111 = -r50110;
double r50112 = fma(r50108, r50108, r50111);
double r50113 = r50107 * r50112;
double r50114 = r50099 + r50113;
double r50115 = r50098 / r50114;
double r50116 = r50098 - r50115;
return r50116;
}



Bits error versus t
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied fma-neg0.0
Simplified0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019325 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 3"
:precision binary64
(- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))