anchor.diff:                                  let lblWithState = chooseNewLabel rule.Label cellData1.Label cellData2.Label cellData1.LabelState cellData2.LabelState
                                   let newWeight = weightCalcFun rule.Weight cellData1.Weight cellData2.Weight
                                   let currentElem = buildData ruleIndex lblWithState.State lblWithState.Label newWeight
  -                                recTable.[( i * rowSize + l - calcDiff i ) * nTermsCount + int rule.RuleName - 1] <- new CellData(currentElem, uint32 k) |> Some
  -            
  +                                recTable.[
  +                                    ( l * rowSize + i - calcDiff l ) * nTermsCount + int rule.RuleName - 1
  +                                    // ( i * rowSize + l - calcDiff i ) * nTermsCount + int rule.RuleName - 1
  +                                    ] <- new CellData(currentElem, uint32 k) |> Some
  +            //printfn "(%d, %d, %d) -> (%d, %d) -> %d + <rule>" i k l i l ((l * rowSize + i - calcDiff l ) * nTermsCount)
  +
           let elem i len rulesIndexed = 
               // foreach rule r in grammar in parallel
               rulesIndexed 
  
positive.code:           [|1..rowSize - 1|]
            |> Array.iter (fun len ->
                  [|0..rowSize - 1 - len|] // for start = 0 to nWords - length in parallel
                  |> Array.Parallel.iter (fun i -> elem i len rulesIndexed))
          (*
          let fillTable2 symRuleArr = 
              [|1..rowSize - 1|]
  
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]
  