;; treat as row vector
(bind-func xtm_multiplication:[Matrix:<!a,i64,i64,i1>*,Vector:<!a,i64>*,Matrix:<!a,i64,i64,i1>*]*
  (lambda (v1 m2)
    (let ((mdat (alloc (* 1 (tref m2 2)))))
      (mmmul (tref v1 0) 1 (tref v1 1)
            (tref m2 0) (tref m2 1) (tref m2 2)
            mdat)
      (Matrix mdat 1 (tref m2 2) (tref m2 3)))))