modify to update diffuse0 example
modify to refactor EXPAND-MACRO function and EXPAND-MACRO-1 function