no devide-by-zero and log(0)