Reproduces on master.

```
SELECT toDateTime64('2021-03-22', 3, 'Asia/Tehran')

Query id: 26f7c373-f473-4209-8976-6ada79a8627f

┌─toDateTime64('2021-03-22', 3, 'Asia/Tehran')─┐
│                      2157-04-28 06:28:16.000 │
└──────────────────────────────────────────────┘
```
{
        const auto result_day = addMonthsIndex(t, delta);
        const LUTIndex index = findIndex(t);
        const Values & values = lut[index];
        Time time = t - values.date;
        if (time >= values.time_at_offset_change())
            time += values.amount_of_offset_change();
        if (time >= lut[result_day].time_at_offset_change())
            time -= lut[result_day].amount_of_offset_change();
        return lut[result_day].date + time;
    }
    inline ExtendedDayNum NO_SANITIZE_UNDEFINED addMonths(ExtendedDayNum d, Int64 delta) const
    {
        return toDayNum(addMonthsIndex(d, delta));
    }
    inline Time NO_SANITIZE_UNDEFINED addQuarters(Time t, Int32 delta) const
    {
        return addMonths(t, static_cast<Int64>(delta) * 3);
    }
    inline ExtendedDayNum addQuarters(ExtendedDayNum d, Int32 delta) const