add sub div mult rem div_rem gcd max min neg