1. Find all functions $f: \mathbf{R} \rightarrow \mathbf{R}$, such that for all real numbers $x, y$, we have
$$
f\left(x^{2}+f(x) f(y)\right)=x f(x+y) .
$$
1. If $f$ is a constant function, then it is easy to get
$$
f(x)=0(x \in \mathbf{R}) \text {. }
$$

Now assume $f$ is not a constant function, and let
$$
f\left(x^{2}+f(x) f(y)\right)=x f(x+y) \text {. }
$$

In equation (1), let $x=0, f(0)=c$, we get
$$
f(c f(y))=0
$$

for all real numbers $y$.
Then $f(c f(1))=0$.
Thus, in $f(c f(y))=0$, replace $y$ with $c f(1)$ to get
$$
f(0)=0 \Rightarrow c=0 \text {. }
$$

In equation (1), let $y=0$, we get
$$
f\left(x^{2}\right)=x f(x) \text {. }
$$

In equation (2), replace $x$ with $-x$ to get
$$
f\left(x^{2}\right)=-x f(-x) \text {. }
$$

From equations (2) and (3), we know that for all non-zero real numbers $x$,
$$
f(x)=-f(-x) \text {. }
$$

Since $f$ is not a constant function, there exists a real number $a \neq 0$ such that $f(a)=0$.
Then in equation (1), let $x=a$, we have
$$
f\left(a^{2}\right)=a f(a+y),
$$

which means $f(a+y)=\frac{f\left(a^{2}\right)}{a}$ for all real numbers $y$.
This indicates that $f$ is a constant function, which is a contradiction.
Therefore, the zero point of $f$ is only 0.
In equation (1), let $y=-x$, we have
$$
f\left(x^{2}-f^{2}(x)\right)=x f(0)=0 \text {. }
$$

Then $x^{2}=f^{2}(x) \Rightarrow|f(x)|=|x|$.
When $f(1)=1$, if there exists a non-zero real number $x_{1}$ such that
$$
f\left(x_{1}\right)=-x_{1},
$$

then in equation (1), let $x=1, y=x_{1}$, we get
$$
\begin{array}{l}
f\left(1+f(1) f\left(x_{1}\right)\right)=f\left(1+x_{1}\right) \\
\Rightarrow f\left(1-x_{1}\right)=f\left(1+x_{1}\right) \\
\Rightarrow\left|1-x_{1}\right|=\left|1+x_{1}\right| \\
\Rightarrow x_{1}=0,
\end{array}
$$

which is a contradiction.
In this case, $f(x)=x(x \in \mathbf{R})$.
When $f(1)=-1$, similarly,
$$
f(x)=-x(x \in \mathbf{R}) \text {. }
$$

In summary, the solutions are
$$
f(x)=0(x \in \mathbf{R})
$$

or $f(x)=x(x \in \mathbf{R})$
or $f(x)=-x(x \in \mathbf{R})$.