Matrix free version allocates extra vector in apply_scale_add