anchor.diff:                              | 0uy -> LblState.Undefined
                               | _   -> LblState.Defined
                           let currentElem = buildData ruleIndex lState rule.Label rule.Weight
  -                        recTable.[(k * rowSize + 0 - calcDiff k) * nTermsCount + int rule.RuleName - 1] <- new CellData(currentElem,0u) |> Some)
  +                        recTable.[
  +                            (0 * rowSize + k - calcDiff 0) * nTermsCount + int rule.RuleName - 1
  +                            // (k * rowSize + 0 - calcDiff k) * nTermsCount + int rule.RuleName - 1
  +                            ] <- new CellData(currentElem,0u) |> Some)
           printfn "total rules count %d" rules.Length
                                
           let ntrIndexes = new ResizeArray<_>() // non-terminal rules indexes array
  
positive.code:             
      let labelTracking lastInd = 
          let i,l = 0,lastInd
          let startIndex = ( i * rowSize + l - calcDiff i ) * nTermsCount
          for ind in startIndex..startIndex + nTermsCount - 1 do
              recTable.[ind] 
              |> Option.iter(fun x ->
  
negative.code:         let processRule rule ruleIndex i k l =
              let rule = getRuleStruct rule
              if rule.R2 <> 0us then
                  let leftStart = ( k * rowSize + i - calcDiff k ) * nTermsCount // ( i * rowSize + k - calcDiff i ) * nTermsCount
                  let rightStart = ( (l-k-1) * rowSize + k+i+1 - (calcDiff (l-k-1)) ) * nTermsCount // ( (k+i+1) * rowSize + l-k-1 - (calcDiff (k+i+1)) ) * nTermsCount
  
                  for m in 0..nTermsCount - 1 do
                      let leftCell = recTable.[leftStart + m]
  