エネルギー関数の計算について教えてください

ホップフィールドニューラルネットワークを用いてA/D変換を行う問題に関して勉強中なのですが、エネルギー関数を

E=(1/2)*(u-Σ(i=1 to m){Yi*2^i})^2+(1/2)*Σ(i=1 to m){(2^i)^2*Yi*(Yi-1)}
と定義した場合

E=(1/2)*Σ(i=1 to m)Σ(j≠i=0 to m){2^(i+j)*YiYj}-Σ(i=1 to m){(-2^(2i-1)+2^i*u)*Yi}
と整理できるみたいなのですが、途中の計算がわからず困っています。
ちなみに、uは変換するアナログ量、Yiは0か1の出力です。

かなり見ずらいかもしれませんがお願いします。