`non-empty-array` type not detected when empty() condition is combined with a boolean one

Bug report

The type of the array is not detected properly as being non-empty-array

Code snippet that reproduces the problem

from https://phpstan.org/r/22de7a59-36aa-4daf-8048-81a49f86c1c2

<?php declare(strict_types = 1);

class HelloWorld
{
	public function find(string $searchedValue, array $filters, bool $isAdmin): void
	{
		if ($searchedValue === '' || (!$isAdmin && empty($filters))) {
			// skip
			return;
		}
		
		if (!$isAdmin) {
			// apply filters, no filters for admins
			PHPStan\Testing\assertType('non-empty-array', $filters);
                        // error: 14 | Expected type non-empty-array, actual: array
		}
	}
}

Expected output

The type should be non-empty-array

Did PHPStan help you today? Did it make you happy in any way?

Currently cleaning our level 6 baseline, it's a tedious work, but amazingly in parallel it's so enjoyable!
I love PHPStan! I'm currently writing a custom rule and it's when working on it that I discovered this bug 🙂