use more efficient direct BLAS dot