generate for arithmetic operations