anchor.diff:                  | _ -> -1
   
           let (parsingMatrix,S,_,multCount) = graphParse<ProbabilityMatrix.T, float> graph (new ProbabilityAleaCudaHandler(graph.VertexCount)) loadIL tokenizer 1
  -        printfn "Alea CUDA Multiplacation count: %d" multCount
  +        assert (probabilityAnalyzer parsingMatrix S = 3)
  +        assert (parsingMatrix.[S].InnerValue.[0] > 0.0 && parsingMatrix.[S].InnerValue.[4] > 0.0 && parsingMatrix.[S].InnerValue.[8] > 0.0)
  +        printfn "Alea CUDA, DenseGPU Multiplacation count: %d" multCount
           probabilityMatrixPrint parsingMatrix.[S]
   
       member this._07_SimpleCudaLoopTest () =
  
positive.code:                 | _ -> -1
  
          let (parsingMatrix,S,_,multCount) = graphParse<ProbabilityMatrix.T, float> graph (new ProbabilityAleaCudaHandler(graph.VertexCount)) loadIL tokenizer 1
          printfn "Alea CUDA Multiplacation count: %d" multCount
          probabilityMatrixPrint parsingMatrix.[S]
  
      member this._08_SimpleSparseCudaLoopTest () =
  
negative.code:         let rules = new RulesHolder(crl, srl, erl)
          let (recognizeMatrix, _, vertexToInt, multCount) =
              recognizeGraph<ProbabilityMatrix.T, float> graph (new ProbabilityNaiveHandler(graph.VertexCount)) rules nonterminals S 1
          assert (probabilityAnalyzer recognizeMatrix S = 2)
          assert (recognizeMatrix.[S].InnerValue.[1] > 0.0 && recognizeMatrix.[S].InnerValue.[2] > 0.0)
          printfn "Naive DenseCPU Multiplacation count: %d" multCount
          probabilityMatrixPrint recognizeMatrix.[S]
  
      member this._02_SimpleNaiveRecognizerTest2 () =
  