Why nim-1.6.20 only takes 2s but nim-2.0.14 66s  when calculating fib(46)
### Description

Nim-2.0.14 takes too long time (**about 66s**) when calculating fib(46) than nim-1.6.20 (only **2s**), and nim-2.0.8 also takes **33s**.
# The test case
```nim
import times

proc fib(n: int): int =
 if n <= 1:
   return n
 else:
   return fib(n - 1) + fib(n - 2)

let a = cpuTime()
let r = fib(46)
let b = cpuTime()
echo "fib(46) = " & $r & "(" & $(b - a) & "s)"
```

### Nim Version

nim-1.6.20, nim-2.0.8, and nim-2.0.14

### Current Output

```text
>nim c -d:release fib.nim
Hint: used config file '..\nim-1.6.20\config\nim.cfg' [Conf]
...
Hint: gc: refc; opt: speed; options: -d:release
43862 lines; 0.813s; 60.84MiB peakmem; proj: ..\fib.nim; out: ..\fib.exe [SuccessX]
perf>fib
fib(46) = 1836311903(2.133s)

>%nim2014_home%\bin\nim c -d:release fib.nim
Hint: used config file '..\nim-2.0.14\config\nim.cfg' [Conf]
..................
Hint: mm: orc; threads: on; opt: speed; options: -d:release
46463 lines; 4.234s; 74.207MiB peakmem; proj: ..\fib.nim; out: ..\fib.exe [SuccessX]
>fib
fib(46) = 1836311903(66.274s)

>%nim20_home%\bin\nim c -d:release fib.nim
Hint: used config file '..\nim-2.0.8\config\nim.cfg' [Conf]
..................
Hint: mm: orc; threads: on; opt: speed; options: -d:release
46354 lines; 4.203s; 71.148MiB peakmem; proj: ..\fib.nim; out: ..\fib.exe [SuccessX]
>fib
fib(46) = 1836311903(33.569s)
```


### Expected Output

```text
nim-2.0.8 and nim-2.0.14 takes a few seconds.
```


### Known Workarounds

_No response_

### Additional Information

_No response_