Classical floating-point error bounds revisited