[g3dvl] split matrix mul into seperate functions