optimizing D
optimizing S
optimizing Z, but not, addition is the culprit...