A weird functional equation: $f\big(f(x)\big)=\big(f(x)+1\big)x$

Let $f:\mathbb{R}\rightarrow \mathbb{R}$ be a function such that

$f(f(x))=(f(x)+1)x$ for all real $x$ and $f(-1)=0$ ; $f(0)=-1$


Solution:
First we prove that $ f $ is injective everywhere where $ f(x) \neq -1 $:

Assume: $ f(a)=f(b) \implies (f(a)+1)a = f(f(a)) = f(f(b)) = (f(b)+1)b = (f(a)+1)b \implies a=b \lor f(a)=f(b)=-1 \implies $

$ f(x) $ is injective everywhere where $ f(x) \neq -1 $.

The simplest solution is:

$$ x \in \mathbb{R}\backslash \{-1\} : f(x)=-1 \\ x=-1 : f(x)=0 \tag{1} $$


Update 01/16/2017:
The question was to find all such functions.
Certainly $(1)$ is not the only solution. There are infinitely many others. But I don't think it's possible to describe all solutions systematically for two reasons:
A) There are no continuity requirements. Therefore the values for $ f(x) $ can be more or less arbitrarily chosen for specific values of $ x $.
B) The functional equation given above does not connect values with other regions of the domain continuously.

As an example:
Choose $ f(1)=2 $. This implies that $ f(f(1)) = f(2) = 3 , f(3) = 8 , f(8)=27 $ etc.
A solution obtained this way becomes:

$$ x \in \mathbb{R}\backslash \{-1,1,2,3,8,27,....\} : f(x)=-1 \\ x =-1 : f(x)=0\\ x =1 : f(x)=2\\ x =2 : f(x)=3\\ etc. \enspace etc. $$

Of course we can choose many more of these 'isolated' sequences , combine them and 'integrate' them in the 'base' solution $ (1) $.
The only thing we need to check when combining different sequences is that the function stays single-valued and injective.


If that helps:

Let $x_n$ denote the $n^{th}$ iterate of the function $f$. We have the recurrence

$$x_0=x,\\x_{n+2}=(x_{n+1}+1)x_n.$$

For large $x_{n+1}$ we can neglect the term $+1$ and, taking the logarithm, we get a Fibonacci-like recurrence:

$$\log x_{n+2}=\log x_{n+1}+\log x_n.$$

Hence the iterates are asymptotic to $a^{F_n}$ for some $a$ and

$$f(x)\to x^\phi.$$