End Exit_points.
(** The efficient backward solver.  *)
Definition fixpoint :=
DS.fixpoint_nodeset
(make_predecessors code successors) (fun l => l)
transf exit_points.

(* Specifications: *)
Theorem fixpoint_solution:
forall res n instr s,
fixpoint = Some res ->
code!n = Some instr -> In s (successors instr) ->
(forall n a, code!n = None -> L.eq (transf n a) L.bot) ->
L.ge res!!n (transf s res!!s).