Console.WriteLine(AreEqual(false, false, true));
Console.WriteLine(AreEqual(true, true, true));
Console.WriteLine(AreEqual(false, true, true));
Console.WriteLine(AreEqual(true, false, true));
Console.WriteLine(AreEqual(false, false, false));
Console.WriteLine(AreEqual(true, true, false));
Console.WriteLine(AreEqual(false, true, false));
Console.WriteLine(AreEqual(true, false, false));
Console.WriteLine(AreEqual(false, false));
Console.WriteLine(AreEqual(true, true));
Console.WriteLine(AreEqual(false, true));
Console.WriteLine(AreEqual(true, false));
static bool AreEqual(bool a, bool b, bool? commonCompareFlag = null) =>
!(Convert.ToBoolean(a.CompareTo(
commonCompareFlag ??= Convert.ToBoolean(System.Random.Shared.Next()))) ^
Convert.ToBoolean(b.CompareTo(
commonCompareFlag.Value)));