Find all functions $ f : \mathbb R \to \mathbb R $ such that for all $ a , b \in \mathbb R$: $$ f ( a ) + f \big( a + f ( b ) \big) = b + f \big( f ( a ) + f ^ 2 ( b ) \big) \text . $$
Here, for any $ n \in \mathbb N $, $ f ^ n $ denotes the $ n $-th iteration of $ f $.
My ideas so far:
I substituted $ ( 0 , x ) $ that yields: $$ f ( 0 ) + f ^ 2 ( x ) = x + f \big( f ( 0 ) + f ^ 2 ( x ) \big) \text . \tag 1 \label 1 $$
Let's say that $ a , b \in \mathbb R $, $ a \ne b $ and $ f ( a ) = f ( b ) $. Then the LHS does not change value with $ a , b $ but the RHS does. That is a contradiction and thus $ f ( a ) = f ( b ) \implies a = b $. The function is therefore injective.
If we substitute $ \big( x , f ( x ) \big) $ we can cross the functions like so: $$ f \big( x + f ^ 2 ( x ) \big) = f \big( f ( x ) + f ^ 3 ( x ) \big) \text ; $$ $$ \therefore \quad x + f ^ 2 ( x ) = f ( x ) + f ^ 3 ( x ) \text . \tag 2 \label 2 $$
If we assume $ f ( 0 ) = 0 $, we have $ f ^ 2 ( x ) = x + f ^ 3 ( x ) $.
Using \eqref{2} we get $ f ( x ) = 2 x $. However, this does not satisfy the functional equation and thus we can conclude that $ f ( 0 ) \ne 0 $.
I also noticed that if you substitute $ f ( x ) $ for $ x $, you get $ f ( x ) + f ^ 3 ( x ) =f ^ 2 ( x ) + f ^ 4 ( x ) $ and expressing $ f ^ 3 ( x ) $ from \eqref{2} we get an intresting result: $ f ^ 4 ( x ) = x $ which means the function is iterative with a cycle of $ 4 $ (or $ 2 $ or $ 1 $).
I am not sure how to continue or what substitution should I try next.