For y=0 from the condition we have, that f(f(x)+f(0))=0 for any x, and there is such a that f(a)=0. Thus, for x=a, f(f(0))=0. Then, for x=y=0 it follows, that f(2f(0))=0, and for x=y=f(0) we have, that
f(f(f(0))+f(f(0)))=f2(0)f(2f(0))=0,
i.e. f(0)=0 and f(f(x))=0 for any x.
Let y=f(y) in the condition, then
xf(y)f(x+f(y))=f(f(x)+f(f(y)))=f(f(x))=0,
so xf(y)f(x+f(y))=0 for arbitrary x and y.
Let f(y0)=0 for some y0>0. Let y=y0−x, then
f(f(x)+f(y0−x))=x(y0−x)f(y0).
Expression in right part takes arbitrary value in segment [0;41y02f(y0)], so range of function f includes this segment. Thus, there is some x0 such, that f(x0)=min{21y0,81y02f(y0)}. From equality xf(y)f(x+f(y))=0 for y=x0 and x=y0−f(x0)>0 we have, that f(x0)f(y0)=0, that is impossible. This contradiction proves, that f(x)=0 for arbitrary x∈[0,+∞).