このエラーの原因として、次のことが考えられます。
終了するように、再帰関数を書き直してください。
プロシージャで、サブルーチンをいくつかの小さいサブルーチンとして記述することにより、スタック空間を解放するのに十分な数の変数宣言を削除してください。固定長配列を使用している場合、それらを動的に宣言してください。