Bugfix: Precision error.

0.999999999999999999999999999999 is not less than 1.

See http://ideone.com/6trQOt

Using std::numeric_limits for certainty.