let add_action_path kf ki pre post v (b,r1) =
  let actions =
    try Actions.find (kf, ki, pre, post)
    with Not_found -> Cil_datatype.Term.Map.empty
  in
  let bindings =
    try Cil_datatype.Term.Map.find v actions
    with Not_found -> Cil_datatype.Term.Map.empty
  in
  let range =
    try
      let r2 = Cil_datatype.Term.Map.find b bindings in
      merge_range v b r2 r1
    with Not_found -> r1
  in
  let bindings = Cil_datatype.Term.Map.add b range bindings in
  let actions = Cil_datatype.Term.Map.add v bindings actions in
  Actions.replace (kf, ki, pre, post) actions