public static void Main()
Console.WriteLine(1e-900000000d.Equals(1e-7000d));
Console.WriteLine(Equal(1e-900000000d, 1e-7000d));
private static bool Equal(double x, double y)
if (double.IsInfinity(x) || double.IsInfinity(y))
double epsilon = Math.Max(Math.Abs(x), Math.Abs(y)) * 1E-15;
return Math.Abs(x - y) <= epsilon;