Fiddle about with inlining, also add macros to help branch prediction