The smallest possible number in python (not underflow to 0) is the smallest possible subnormal number.  # L is the lowerbound exponent given by IEEE754 double precision. L_sub < (machine_epsilon * 2**L)  =  (2**-52) * (2**-1022) = 2**-1074  Thus, smallest_number = 2*-1074 => 5e-324

Read more of this post