﻿# V3109\. The same sub\-expression is present on both sides of the operator\. The expression is incorrect or it can be simplified\.

The analyzer detected identical subexpressions in the left and the right part of an expression with a comparison operator\. This operation is incorrect or meaningless, or can be simplified\.

Consider the following example:

```cpp
if ((x – y) >= (x - z)) {};
```

The 'x' variable in this fragment is obviously not necessary and can be removed from both parts of the expression\. This is what the simplified version of the code would look like:

```cpp
if (y <= z) {};
```

The next example:

```cpp
if (x1 == x1 + 1) {};
```

This code contains a true error, as the expression will be false at any value of the 'x1' variable\. Perhaps the programmer made a typo, and the code was actually meant to look like this:

```cpp
if (x2 == x1 + 1) {};
```

One more example: 

```cpp
if (x < x * y) {};
```

This expression can also be simplified by removing the 'x' variable:

```cpp
if (y > 1) {};
```