Why is Mathematica not able to identify that this polynomial:


    B1^4 + 2 B1^2 B2^2 + B2^4 + 2 B1^2 B3^2 + 2 B2^2 B3^2 + B3^4 + 
      2 B1^2 E1^2 - 2 B2^2 E1^2 - 2 B3^2 E1^2 + E1^4 + 8 B1 B2 E1 E2 - 
      2 B1^2 E2^2 + 2 B2^2 E2^2 - 2 B3^2 E2^2 + 2 E1^2 E2^2 + E2^4 + 
      8 B1 B3 E1 E3 + 8 B2 B3 E2 E3 - 2 B1^2 E3^2 - 2 B2^2 E3^2 + 
      2 B3^2 E3^2 + 2 E1^2 E3^2 + 2 E2^2 E3^2 + E3^4


has the simple form of 


    (-B1^2 - B2^2 - B3^2 + E1^2 + E2^2 + E3^2)^2 +4 (B1 E1 + B2 E2 + B3 E3)^2

---

I have tried quite a few things ub they all give the same or similar results:

    FullSimplify[ExpandAll[(-B1^2 - B2^2 - B3^2 + E1^2 + E2^2 + E3^2)^2 + 4 (B1 E1 + B2 E2 + B3 E3)^2]]

But it outputs a garbled result instead >

    B1^4 + B2^4 + (-B3^2 + E1^2 + E2^2)^2 + 8 B2 B3 E2 E3 + 
      2 (B3^2 + E1^2 + E2^2) E3^2 + E3^4 + 8 B1 E1 (B2 E2 + B3 E3) + 
      2 B1^2 (B2^2 + B3^2 + E1^2 - E2^2 - E3^2) + 2 B2^2 (B3^2 - E1^2 + E2^2 - E3^2)


Can one use `Collect[]` to achieve the desired results?