Compute pmax(x y, -1) in such a way that zeros in x beat infinities in y.
This is a common pattern in much of the distribution code, so it's worth factoring out.
.specfun.safe.product(x, y)
x
: a numeric vectory
: a numeric vectoran appropriate numeric vector