Added C level x_OP_y() for different combinations of x and y types
Now x_OP_y() supports all four types of operations