I'm trying to verify the following identity $$\nabla(\textbf{A}\cdot\textbf{B}) = (\textbf{B}\cdot\nabla)\textbf{A} + (\textbf{A}\cdot\nabla)\textbf{B} + \textbf{B}\times(\nabla\times\textbf{A}) + \textbf{A}\times(\nabla\times\textbf{B})$$
To make this, I'm using the $BAC-CAB$ expansion of the triple vector product. Then, I get these two equations $ \textbf{A}\times(\nabla\times\textbf{B}) = \nabla(\textbf{A}\cdot\textbf{B}) - (\textbf{A}\cdot\nabla)\textbf{B}$ and $ \textbf{B}\times(\nabla\times\textbf{A}) = \nabla(\textbf{A}\cdot\textbf{B}) - (\textbf{B}\cdot\nabla)\textbf{A}$. Adding these equations I obtained that
$$ 2\nabla(\textbf{A}\cdot\textbf{B}) = (\textbf{B}\cdot\nabla)\textbf{A} + (\textbf{A}\cdot\nabla)\textbf{B} + \textbf{B}\times(\nabla\times\textbf{A}) + \textbf{A}\times(\nabla\times\textbf{B}) $$
What am I doing wrong?
$A \times (\nabla \times B) = \nabla (A \cdot B) - (A \cdot \nabla) B$ only when holding $A$ constant. Denote this as $\dot \nabla (A \cdot \dot B)$ to show that only $B$ is differentiated. Do the same for the other identity.
Then, notice that $\nabla (A \cdot B) = \dot \nabla (\dot A \cdot B) + \dot \nabla (A \cdot \dot B)$.