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}{\mathsf{fma}\left(\mathsf{fma}\left(\sqrt{2}, \sqrt{2}, \frac{-2}{\mathsf{fma}\left(t, 1, 1\right)}\right), \mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}\right)\right), 2\right)}double f(double t) {
double r40222 = 1.0;
double r40223 = 2.0;
double r40224 = t;
double r40225 = r40223 / r40224;
double r40226 = r40222 / r40224;
double r40227 = r40222 + r40226;
double r40228 = r40225 / r40227;
double r40229 = r40223 - r40228;
double r40230 = r40229 * r40229;
double r40231 = r40223 + r40230;
double r40232 = r40222 / r40231;
double r40233 = r40222 - r40232;
return r40233;
}
double f(double t) {
double r40234 = 1.0;
double r40235 = 2.0;
double r40236 = sqrt(r40235);
double r40237 = -r40235;
double r40238 = t;
double r40239 = fma(r40238, r40234, r40234);
double r40240 = r40237 / r40239;
double r40241 = fma(r40236, r40236, r40240);
double r40242 = fma(r40234, r40238, r40234);
double r40243 = r40235 / r40242;
double r40244 = r40235 - r40243;
double r40245 = log1p(r40244);
double r40246 = expm1(r40245);
double r40247 = fma(r40241, r40246, r40235);
double r40248 = r40234 / r40247;
double r40249 = r40234 - r40248;
return r40249;
}



Bits error versus t
Initial program 0.0
Simplified0.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)))))))))