anchor.diff:              for y' in nsy do 
                   match Map.tryFind (loc y') nsx with
                   | None ->
  -                    match Seq.tryFind (fun x' -> loc x' = loc y' && cg1.Graph.ContainsVertex x') doms.[x] with
  +                    let f = fun x' -> loc x' = loc y' && cg1.Graph.ContainsVertex x'
  +                    match doms.TryIsDominatedBy(x, f) with
                       | None -> counterEx <- Some (x,y)
                       | Some x' ->  add x' y'
                   | Some x' -> add x' y'
  
positive.code:                     mustPrefer.[d] <- below
              mustPrefer
  
      let simulate idx cg cache (doms: Domination.DominationSet) restrict (x,y) (i,j) =
          if Set.contains (x,y,i,j) !cache then true else
          let restrict_i = Map.find i restrict
          let restrict_j = Map.find j restrict
  
negative.code:                             if dom.[p] <> None then 
                                  newIDom <- inter postorderMap dom p newIDom
                      let x = dom.[b]
                      if Option.isNone x || Common.Option.get x <> newIDom then
                          dom.[b] <- Some newIDom
                          changed <- true
          DominationTree(dom)
  
  
  module Minimize =
  