A best practice to compare doubles is to write "double.NegativeInfinity.Equals(start)" otherwise we get a warning for precision loss. I haven't done that everywhere in the code but I try to do it now.