anchor.diff:      printfn "Multiplying two %Ax%A matrices %A times using Brahma.OpenCL and selected platform/device..." rows columns iterations
       for i in 0 .. iterations - 1 do
           Timer<string>.Global.Start()
  -        commandQueue <- 
  +        commandQueue <-
               commandQueue.Add(kernel.Run(new _2D(rows, columns, localWorkSize, localWorkSize), aBuffer, bBuffer, cBuffer)).Finish()
               :?> CommandQueue
           Timer<string>.Global.Lap("OpenCL")
  
positive.code: 
      printfn "Multiplying two %Ax%A matrices %A times using .NET..." rows columns iterations
      let cNormal = Array.zeroCreate (rows * columns)
      for i in 0 .. iterations - 1 do    
          Timer<string>.Global.Start()
          Multiply aValues rows columns bValues rows columns cNormal
          Timer<string>.Global.Lap(".NET")
  
negative.code:     let cRows, cCols = GetOutputMatrixDimensions aRows aCols bRows bCols
      for i in 0 .. cRows - 1 do
          for j in 0 .. cCols - 1 do
              for k in 0 .. aCols - 1 do
                  c.[i * cCols + j] <- c.[i * cCols + j] + a.[i * aCols + k] * b.[k * bCols + j]
  
  let Main () =
  
  