matrix add optimisations