add: gen_mul