﻿# V584\. Same value is present on both sides of the operator\. The expression is incorrect or can be simplified\.

Анализатор обнаружил выражение, которое можно упростить\. С большой вероятностью это выражение содержит опечатку\.

Рассмотрим пример:

```cpp
float SizeZ;
if (SizeZ + 1 < SizeZ)
```

Анализатор считает, что это условие содержит ошибку, так как не имеет практического смысла\. Скорее всего, хотелось выполнить совсем другую проверку\. Корректный код:

```cpp
if (SizeZ + 1 < maxSizeZ)
```

Конечно, иногда программисты используют приемы, которые корректны, но выглядят странно\. Анализатор по возможности старается распознать такие ситуации и не выдавать диагностические сообщения\. Например, анализатор считает безопасными следующие проверки:

```cpp
//Тест на переполнение при суммировании
int a, b;
if (a + b < a)

//Проверка, что X не равен 0, +бесконечность или -бесконечность.
double X;
if (X * 0.5f != X)
```