anchor.diff:              let i = getLeftExtension leftExtension
               let j = getRightExtension leftExtension
               let k = getRightExtension rightExtension
  -            
  -            let d =
  -                let d1 = packedNodes.[i]
  -                if d1 <> Unchecked.defaultof<_>
  -                then
  -                    let contains, d2 = d1.TryGetValue j
  +                        
  +            let d1 = packedNodes.[i]
  +            if d1 <> Unchecked.defaultof<_>
  +            then
  +                let contains, d2 = d1.TryGetValue j
  +                if contains
  +                then
  +                    let contains, d3 = d2.TryGetValue k
                       if contains
  -                    then
  -                        let contains, d3 = d2.TryGetValue k
  -                        if contains
  -                        then                            
  -                            match d3.TryFind (fun x -> x.lbl = label) with
  -                            | Some num -> num.node
  -                            | None -> 
  -                                let newNode = createNode()
  -                                d3.Add(new LblNodePair(label,newNode))
  -                                newNode
  -                        else
  +                    then                            
  +                        match d3.TryFind (fun x -> x.lbl = label) with
  +                        | Some num -> num.node
  +                        | None -> 
                               let newNode = createNode()
  -                            let d3 = new ResizibleUsualOne<_>(new LblNodePair(label,newNode))
  -                            d2.Add(k, d3)
  +                            d3.Add(new LblNodePair(label,newNode))
                               newNode
                       else
  -                        let d2 = new Dictionary<int, ResizibleUsualOne<_>>()
                           let newNode = createNode()
                           let d3 = new ResizibleUsualOne<_>(new LblNodePair(label,newNode))
                           d2.Add(k, d3)
  -                        d1.Add(j, d2)
                           newNode
                   else
  -                    let d1 = new Dictionary<int, Dictionary<int, ResizibleUsualOne<_>>>()
                       let d2 = new Dictionary<int, ResizibleUsualOne<_>>()
                       let newNode = createNode()
                       let d3 = new ResizibleUsualOne<_>(new LblNodePair(label,newNode))
                       d2.Add(k, d3)
                       d1.Add(j, d2)
  -                    packedNodes.[i] <- d1
                       newNode
  -            d
  +            else
  +                let d1 = new Dictionary<int, Dictionary<int, ResizibleUsualOne<_>>>()
  +                let d2 = new Dictionary<int, ResizibleUsualOne<_>>()
  +                let newNode = createNode()
  +                let d3 = new ResizibleUsualOne<_>(new LblNodePair(label,newNode))
  +                d2.Add(k, d3)
  +                d1.Add(j, d2)
  +                packedNodes.[i] <- d1
  +                newNode
                   
           let getNodeP (label : int<labelMeasure>) (left : int<nodeMeasure>) (right : int<nodeMeasure>) : int<nodeMeasure> =
               let currentRight = sppfNodes.Item (int right)
  
positive.code:         let inline slotIsEnd (label : int<labelMeasure>) =
              (getPosition label) = Array.length (parser.rules.[getRule label])
  
          let findSppfNode label lExt rExt : int<nodeMeasure> =
              let isEnd = slotIsEnd label
              let nTerm = parser.LeftSide.[getRule label]
              if isEnd
  
negative.code:             | Some res -> 
                      let r1 = new Tree<_> (tokens, res, parser.rules)
                      let path = @"../../../src/GLLApplication/out.txt"
  //                    let out = new System.IO.StreamWriter (path) 
  //                    out.WriteLine("packed nodes read count = " + (!packedNodesReadCount).ToString())
  //                    out.WriteLine("packed nodes write count = " + (!packedNodesWriteCount).ToString()) 
  