Computer algebra systems typically drop some degenerate cases when evaluating expressions, e.g., x=x becomes 1 dropping the case x = 0. We claim that it is feasible in practice to compute also the degenerate cases yielding guarded expressions. We work over real closed elds but our ideas about handling guarded expression can be easily transferred to other situations. Using formulas as guards provides a powerful tool for heuristically reducing the combinatorial explosion of cases: equivalent, redundant, tautological, and contradictive cases can be detected by simpli cation and quanti er elimination. Our approach allows to simplify the expressions on the basis of simpli cation knowledge on the logical side. The method described in this paper is implemented in the reduce package guardian, which is freely available on the www.