anchor.diff:                      | :? IntermidiateNode as i -> i.Extension
                       | _ -> failwith "Unexpected type."
   
  -                result <- new IntermidiateNode(left, right, label, packToInt64 (takeHighBits lExt) (takeLowBits rExt))
  +                result <- new IntermidiateNode(left, right, label, packToInt64 (getHighBits lExt) (getLowBits rExt))
               else 
  -                result <- new IntermidiateNode(left, right, label, packToInt64 (takeHighBits rExt) (takeLowBits rExt))
  +                result <- new IntermidiateNode(left, right, label, packToInt64 (getHighBits rExt) (getLowBits rExt))
               box <| result
                   
               
  
positive.code:             if not (Vertex.Equal u dummyGSSNode)
              then
                  let label = u.Label
                  setP.Enqueue(u, z)
                  let processEdge (edge : Edge) =
                      let y1 = getNodeP label edge.Ast z
                      addContext label i edge.Dest y1    
  
negative.code:         | :? IntermidiateNode as iN ->
              iN.Position.ToString()
          | null -> "n"
          | :? Nodes as n -> (getHighBits n.extension).ToString() + (getLowBits n.extension).ToString() 
          | _ -> failwith "Unexpected ast"
  
      let rec dfs (u : Vertex) =
  