This is sufficient but not necessary. Maybe this should be in the inner loop? `x` always starts positive and is multiplied and divided by positive numbers, so the only way to make it negative is due to overflow. I don't think it is possible in the inner loop to overflow and remain positive because the factors aren't that large.