foobar => foobar
a => a
(a) => a
((a)) => a
!a => !a
!!a => a
!!!a => !a
!!(a&b) => a&b
a&b => a&b
!a&b => b&!a
a&!b => a&!b
!a&!b => !a&!b
a|b => a|b
!a|b => b|!a
a|!b => a|!b
!a|!b => !a|!b
!(a|b) => !a&!b
a&(a|b) => a|a&b
(a|b)&a => a|a&b
b&(a|b) => b|a&b
(a|b)&b => b|a&b
!a&(!a|!b) => !a&!b|!a
(!a|!b)&!a => !a&!b|!a
!b&(!a|!b) => !a&!b|!b
(!a|!b)&!b => !a&!b|!b
a&(!a|!b) => a&!b
(!a|!b)&a => a&!b
b&(!a|!b) => b&!a
(!a|!b)&b => b&!a
!(!(a&m)) => a&m
!(!a)&m => a&m
(!(!a)) & (!(!m)) => a&m
(!!a)&(!!m) => a&m
!(!(a|m)) => a|m
a&(!b|c&!d) => a&!b|a&c&!d
!(a_b|c_d) => !a_b&!c_d
 => ? column 1 : identifier expected
(a => ? column 1 : runaway parenthesis
(a)b => ? column 4 : garbage at end
(a)#b => ? column 4 : garbage at end
!(a&c&d|b&c&d) => !a&!b|!a&!c|!a&!d|!b&!c|!b&!d|!c&!d|!c|!d
a&!a => a&!a
a&!a | b&!b => a&!a
a&!b => a&!b
a&a => a
(!a|b|c)&(a|b|!c) => b|a&b|a&c|b&c|b&!a|b&!c|!a&!c
!a&!b&!a&!b => !a&!b
(a&b)|c => c|a&b
(a&!b&!c)|(!d&e&f) => a&!b&!c|e&f&!d
a|(b&(c|d)) => a|b&c|b&d
(a&b)|(!a&c) => a&b|c&!a
(a&b&!a)|(c&!b)|(a&!c) => a&!c|c&!b
a|(b&c) => a|b&c
(a|b|c)&(d|e) => a&d|a&e|b&d|b&e|c&d|c&e
(!(p&q)|r)&(!!(p&q)|r) => r|r&!p|r&!q|p&q&r
(a&!((!(a)&(a|a)))) => a
!(a&!((!(a)&(a|a)))) => !a
!( (a|b) & (a|c) & (a|d) & (a|e) ) => booldnf: result too large
!( (a|b) & (a|c) & (a|d) & (a|e) ) & (a|b) => booldnf: result too large
(a|b) & !( (a|b) & (a|c) & (a|d) & (a|e) ) => booldnf: result too large
