I can make a few suggestions.
(1) Avoid use of capitalized symbols, expecially those tht might already be built-in symbols. D is an example.
(2) You might rename x to xx wherever it appears with the big variable (I'll call it bigD), and expand as a series in xx at the origin. Then substitute xx->x. I think the expansion would be to order zero, else total degree of resulting Taylor polynomials will exceed 4.
(3) Notice that this gives a biquadratic in x so the solution will be done by iterating solutions for quadratics. This gives those complicated formulas. One can get a more concise form via Root objects (prametrized in terms of the variables other than x). To do this, add a "junk" linear term to avoid the biquadratic, and set Quartics->False in Solve to avoid the Cardano-Tartaglia form of result. Then remove that junk term. If expr is that big quartic, then the code to do this would be:
Solve[expr+junk*x==0,x,Quartics->False]/.junk->0