trig_reduction return type changes is only needed on non-FORCEINLINE functions