What I think is a working add-sub SI program.