How to efficiently reduce this combinatory logic sentence? : I have a sentence that describes a circuit, like this:

    I x (Q1 x Q0 + not Q1 x not Q0) + not I x (not Q1 x Q0 + Q1 x not Q0)

I have translated it like this:

    I and ((Q1 and Q0) or (!Q1 and !Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0)) ->
    I and ((Q1 and Q0) or !(Q1 or Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0)) ->
    I and (!(Q1 xor Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0))

but I get stuck at this point, is there an easy way to make it even more compact or I'll have to solve the bit-by-bit table?
