#define RECURSIVE_1_CALL(PREFIX, CHUNK1, SUFFIX, END_SUFFIX) \
inline PREFIX##_8 END_SUFFIX \
inline PREFIX##_7 CHUNK1##_8 SUFFIX \
inline PREFIX##_6 CHUNK1##_7 SUFFIX \
inline PREFIX##_5 CHUNK1##_6 SUFFIX \
inline PREFIX##_4 CHUNK1##_5 SUFFIX \
inline PREFIX##_3 CHUNK1##_4 SUFFIX \
inline PREFIX##_2 CHUNK1##_3 SUFFIX \
inline PREFIX##_1 CHUNK1##_2 SUFFIX \
inline PREFIX##_0 CHUNK1##_1 SUFFIX 


#define RECURSIVE_2_CALLS(PREFIX, CHUNK1, CHUNK2, SUFFIX, END_SUFFIX) \
inline PREFIX##_8 END_SUFFIX \
inline PREFIX##_7 CHUNK1##_8 CHUNK2##_8 SUFFIX \
inline PREFIX##_6 CHUNK1##_7 CHUNK2##_7 SUFFIX \
inline PREFIX##_5 CHUNK1##_6 CHUNK2##_6 SUFFIX \
inline PREFIX##_4 CHUNK1##_5 CHUNK2##_5 SUFFIX \
inline PREFIX##_3 CHUNK1##_4 CHUNK2##_4 SUFFIX \
inline PREFIX##_2 CHUNK1##_3 CHUNK2##_3 SUFFIX \
inline PREFIX##_1 CHUNK1##_2 CHUNK2##_2 SUFFIX \
inline PREFIX##_0 CHUNK1##_1 CHUNK2##_1 SUFFIX 


#define RECURSIVE_3_CALLS(PREFIX, CHUNK1, CHUNK2, CHUNK3, SUFFIX, END_SUFFIX) \
inline PREFIX##_8 END_SUFFIX \
inline PREFIX##_7 CHUNK1##_8 CHUNK2##_8 CHUNK3##_8 SUFFIX \
inline PREFIX##_6 CHUNK1##_7 CHUNK2##_7 CHUNK3##_7 SUFFIX \
inline PREFIX##_5 CHUNK1##_6 CHUNK2##_6 CHUNK3##_6 SUFFIX \
inline PREFIX##_4 CHUNK1##_5 CHUNK2##_5 CHUNK3##_5 SUFFIX \
inline PREFIX##_3 CHUNK1##_4 CHUNK2##_4 CHUNK3##_4 SUFFIX \
inline PREFIX##_2 CHUNK1##_3 CHUNK2##_3 CHUNK3##_3 SUFFIX \
inline PREFIX##_1 CHUNK1##_2 CHUNK2##_2 CHUNK3##_2 SUFFIX \
inline PREFIX##_0 CHUNK1##_1 CHUNK2##_1 CHUNK3##_1 SUFFIX 


#define RECURSIVE_4_CALLS(PREFIX, CHUNK1, CHUNK2, CHUNK3, CHUNK4, SUFFIX, END_SUFFIX) \
inline PREFIX##_4 END_SUFFIX \
inline PREFIX##_3 CHUNK1##_4 CHUNK2##_4 CHUNK3##_4 CHUNK4##_4 SUFFIX \
inline PREFIX##_2 CHUNK1##_3 CHUNK2##_3 CHUNK3##_3 CHUNK4##_3 SUFFIX \
inline PREFIX##_1 CHUNK1##_2 CHUNK2##_2 CHUNK3##_2 CHUNK4##_2 SUFFIX \
inline PREFIX##_0 CHUNK1##_1 CHUNK2##_1 CHUNK3##_1 CHUNK4##_1 SUFFIX 

