inline directives
profile with -O2 turned on