let computeFirstPredecessor (s: stmt) data =
match s.skind with
| Switch (exp,_,_,_)
| If (exp,_,_,_) ->
(* update [over_inputs] using the [exp] condition:
I+ = I+ \/+ (D+(exp) /+ O-)
*)
let inputs = !From.find_deps_no_transitivity (Kstmt s) exp in
{data with
over_inputs =
Zone.join data.over_inputs
(Zone.diff inputs data.under_outputs)}
| _ -> data