code: func (impl *Standard) Dsymm(s blas.Side, ul blas.Uplo, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {
  	// declared at cublasgen.h:1864:17 enum CUBLAS_STATUS { ... } cublasDsymm ...
  	if impl.e != nil {
  		return
  	}
  
  	if m < 0 {
  		panic("blas: m < 0")
  	}
  	if n < 0 {
  		panic("blas: n < 0")
  	}
  	var k int
  	if s == blas.Left {
  		k = m
  	} else {
  		k = n
  	}
  	if lda*(k-1)+k > len(a) || lda < max(1, k) {
  		panic("blas: index of a out of range")
  	}
  	if ldb*(m-1)+n > len(b) || ldb < max(1, n) {
  		panic("blas: index of b out of range")
  	}
  	if ldc*(m-1)+n > len(c) || ldc < max(1, n) {
  		panic("blas: index of c out of range")
  	}
  	impl.e = status(C.cublasDsymm(C.cublasHandle_t(impl.h), side2cublasSide(s), uplo2cublasUplo(ul), C.int(m), C.int(n), (*C.double)(&alpha), (*C.double)(&a[0]), C.int(lda), (*C.double)(&b[0]), C.int(ldb), (*C.double)(&beta), (*C.double)(&c[0]), C.int(ldc)))
  }
docs: // Dsymm performs one of
  //  C = alpha * A * B + beta * C, if side == blas.Left,
  //  C = alpha * B * A + beta * C, if side == blas.Right,
  // where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and alpha
  // is a scalar.