Sleep stage recalculation

Garmin connect seems to recalculate previous night's sleep data several times and comes up with various different results.

One extreme case is the following:

Woke up at 7:51, then when I launched Garmin Connect at various times I got the following deep sleep numbers (the other numbers fluctuated as well)

7:55 : 2h 56m

7:58 : 12m

14:27 : 11m

15:41 : --

What is this recalculation process?

Does the system extract some additional information from somewhere or does it just calculate and recalculate with the same data?

If the recalculation results change so much how can we trust them?