type checking for op1, op0