##
(not B and A)
or
(B and (
((E and F) and (C and D))
or
(not (E and F) and undef)
))
####
(not B and A) or (B and E and F and C and D)
####
For convertion to single expressions:
if (A) { B } else { C } === (A and B) or (not A and C)
For simplification:
X and undef === undef
X or undef === X