_P
|| __TG_IS_##ltype##_P(b) \
|| __TG_IS_##ltype##_P(c), \
__TG_CHOOSE(__TG_IS_##ftype##_P(a), \
__TG_CHOOSE(__TG_IS_##ltype##_P(a), \
__TG_CHOOSE(__TG_IS_##ftype##_P(a), \
__TG_CHOOSE(__TG_IS_##ltype##_P(a), \
__TG_CHOOSE(__TG_IS_##ftype##_P(a) \
&& __TG_IS_##ftype##_P(b), \
__TG_CHOOSE(__TG_IS_##ltype##_P(a) \
|| __TG_IS_##ltype##_P(b), \
__TG_CHOOSE(__TG_IS_##ftype##_P(a) \
&& __TG_IS_##ftype##_P(b), \
__TG_CHOOSE(__TG_IS_##ltype##_P(a) \
|| __TG_IS_##ltype##_P(b), \
__TG_CHOOSE(__TG_IS_##ftype##_P(a) \
&& __TG_IS_##ftype##_P(b) \
&& __TG_IS_##ftype##_P(c), \
__TG_CHOOSE(__TG_IS_##ltype##_P(a) \
_BL|_R|_S, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_D|_G|_R|_X, _D|_G|_R|_X, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _A|_G|_R|_U|_X, _A|_G|_R|_U|_X, _A|_G|_R|_U|_X,
_A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P,
_G|_R|_P, _A|_G|_L|_R|_X, _A|_G|_L|_R|_X, _A|_G|_L|_R|_X,
_A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _G|_R|_P,
_G|_R|_P, _G|_R|_P, _G|_R|_P, _C,
_S|_B, _P, _P, _P, _P, _P, _P, _P,
_P, _P, _P, _P, _P, _P, _P, _P,
_N, _N, _P, _P, _P, _P, _P, _P,
_P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U,
_U, _U, _U, _P, _P, _P, _P, _P,
_P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L,
_L, _L, _L, _P, _P, _P, _P, _C