Self containing logs
C (40 -10% = 36) (38 -10% = 34.2)
Note that, in C, a log function can only be defined for a specific type. Therefore, this log &quot;function&quot; takes only int arguments.
#define log(x)printf(&quot;log(&quot;#x&quot;) %d&quot;,x)

A more general solution specifies how to print the argument, in addition to the argument itself:
#define lg2(f,x)printf(&quot;lg2(&quot;#x&quot;) &quot;f,x)

which would be used as e.g. lg2(&quot;%s&quot;, &quot;I'm a string&quot;); or lg2(&quot;%f&quot;, 3.1415).