It seems that 'factor_out' can not return the result correctly for the factors which only one term has. By the way, 'factor_in' works fine. Example:
factor_out
factor_in
st:= A G B C D +E ; factor_out(_, $ A $ );
Screenshot:
Well spotted, I recently rewrote a lot of factor_out and didn't quite finish the part that dealt with the trivial cases... It's fixed now in github, please try again.