Variables: 
bool[1]: "a" 
bool[2]: "b" 
bool[3]: "c" 

Event graph: 
event[0]: fork: null, #pred: 0, succ: 1 

# process[0]:
event[1]: fork: , pid: 0, #pred: 1, succ: 11 12 13 
event[2]: assign: c := true, pid: 0, #pred: 1, succ: 14 
event[3]: select: [ ~b -> ... [] else -> ... ], pid: 0, #pred: 1, succ: 14 2 
event[4]: null: null, pid: 0, #pred: 1, succ: 3 
event[5]: assign: c := false, pid: 0, #pred: 1, succ: 4 
event[6]: assign: b := true, pid: 0, #pred: 1, succ: 5 
event[7]: assign: b := false, pid: 0, #pred: 1, succ: 4 
event[8]: select: [ a -> ... [] ~a -> ... ], pid: 0, #pred: 1, succ: 6 7 
bool deps: 1 
event[9]: assign: a := true, pid: 0, #pred: 1, succ: 8 
event[10]: join: , pid: 0, #pred: 3, succ: 9 
event[11]: assign: a := false, pid: 0, #pred: 1, succ: 10 
event[12]: assign: b := false, pid: 0, #pred: 1, succ: 10 
event[13]: assign: c := false, pid: 0, #pred: 1, succ: 10 
event[14]: null: null, pid: 0, #pred: 1, succ: 

