Что б понять что происходит внутри
Можешь создать 5-6 копий этой функции
func1, func2, func3 т. д.
так что б func1 вызывал func2
func2 - func3 и т. д.
funcN - func или просто возвращает число, это не критично
И поставить cout или printf до вызова функции и после (с текстом какая функция сейчас активна и значением, которое интересует)
ну или дебаггером пройтись, что проще)