Since we have negative numbers under a square root operation, we obviously are in a domain of complex numbers.
Representing #-32=16*2*(-1)# and #-8=4*2*(-1)# we derive the following equivalent expression:
#sqrt(-32)-sqrt(-8)=4*sqrt(2)*sqrt(-1)-2*sqrt(2)*sqrt(-1)#
Now we have an interesting problem. The easy (but incomplete!) approach is replace #sqrt(-1)# with complex number #i# and derive
#4*sqrt(2)*sqrt(-1)-2*sqrt(2)*sqrt(-1)=4*sqrt(2)*i-2*sqrt(2)*i=2*sqrt(2)*i#.
It's incomplete because #sqrt(-1)=+-i#. Therefore, we have two values for each member:
#4*sqrt(2)*sqrt(-1)=+-4*sqrt(2)i#
#2*sqrt(2)*sqrt(-1)=+-2*sqrt(2)i#
That produces four different variants of the answer:
(a) #sqrt(-32)-sqrt(-8)=4*sqrt(2)*i-2*sqrt(2)*i=2*sqrt(2)i#
(b) #sqrt(-32)-sqrt(-8)=4*sqrt(2)*i+2*sqrt(2)*i=6*sqrt(2)#
(c) #sqrt(-32)-sqrt(-8)=-4*sqrt(2)*i-2*sqrt(2)*i=-6*sqrt(2)#
(d) #sqrt(-32)-sqrt(-8)=-4*sqrt(2)*i+2*sqrt(2)*i=-2*sqrt(2)#
All four answers are equivalent and represent a possible simplification of the original expression in normal complex form.
Now the question is, how is it possible that a single expression have 4 different representations in a normal complex form. The answer is simple. The operation of square root in the domain of complex numbers has two different values. Inasmuch as #sqrt(-1)# can be either #i# or #-i# (both, if squared, produce #-1#), any expression that contains #sqrt(-1)# has more than one representation in the complex form. We deal with an unusual type of a function - square root - that has two values for any single argument.
So, when we wright an expression #sqrt(-32)# or #sqrt(-8)#, without additional assumption we cannot say what exactly it means, similarly to #sqrt(-1)#. That's why we had multitude of expressions representing the original one in a normal complex form.