+ if (x <= 1) + return 1; I think it would make more sense to move this above the #ifdef and not duplicate it in each implementation. It's about the function input, not the implementations.