To the OP, you've told us nothing about what those symbols represent. You haven't told us what vector1 or vector2 are. You haven't told us what product is; I assume from the syntax that it's some kind of function, but how can we know what it does? Ditto for log - again, it looks like a function, but you've given us no information about it.
Are these functions you've written yourself? Library functions? Which library?
Hell, I'm just assuming this is supposed to be C or C++ code.
template <typename Real, int N, typename Expression>
Real product(const VectorExpression<Real, N, Expression>& x)
const integer size = x.size();
for (integer i = 1;i < size;++i)
result *= x[i];
You mean the code for the product function I posted? Well, integer is probably an integer type, Real is probably a floating point type, I don't know the relation between VectorExpression and Vector but ignoring these details the function should be pretty self explanatory. If you want to know what all these things are you'll have to dig through the Pastel library and maybe reading the not-so-complete documentation about pastel vectors could help: http://kaba.hilvi.org/pastel/pastel/sys/vector.htm