https://123dok.net/document/zpn7d24y-computing-a-correct-and-tight-rounding-error-bound-using-rounding-to-nearest.html