Implement numerical evaluation of products

If any term is 0 this will return as exp(zoo) instead of 0. Is there any way to safeguad against that? Or should some sort of note be added to that effect somewhere?