É possível usar uma instrução if dentro de #define?

Eu estou tentando fazer uma macro com a seguinte fórmula:(a^2/(a+b))*b, e quero ter certeza de que não haverá divisão por zero.

#define SUM_A( x, y ) if( x == 0 || y == 0) { 0 } else { ( ( ( x * x ) / ( ( x ) + ( y ) ) ) * ( y ) )}

e depois eu chamo a macro dentro do main:

float a = 40, b = 10, result; 
result = SUM_A(a, b); 
printf("%f", result);

Eu tentei usar colchetes em torno da função if, mas continuo recebendo erros de sintaxe antes da instrução if. Eu também tentei usar return, mas eu li em algum lugar que você não deveria usar isso em define.

questionAnswers(7)

yourAnswerToTheQuestion