Compiler warnings ( format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘double’) provide more than enough information. You have to fix yours format-specifier, which should be %lfinstead %d, as you are trying to print the value double.
printf("The average is %lf\n", HALF(SUM(big, small)));
printf , , . , float int. -, , . 0.