# Stack overflow in boolean test

Using SageMath 8.8, I encountered a strange error involving boolean tests. The following code reproduces the issue:

```
x, y = var('x, y')
assume(x>0)
assume(y>0)
bool(y*(x-y)==0)
```

```
RuntimeError: ECL says: C-STACK overflow at size 1048576. Stack can probably be resized.
Proceed with caution.
```

This code should obviously return `False`

. Changing `y*(x-y)`

to `x*(y-x)`

indeed returns `False`

, which means `x`

and `y`

cannot be exchanged. Without the assumptions, the code works as expected.

I initially thought it was due to my Sage installation, but running this code on https://sagecell.sagemath.org/ also produces asymmetric behavior, though no error comes out (just a blank answer).

Is this a known issue ? Can someone reproduce this ?

Gives me a "core dumped" with 8.9.rc0. This is a bug.

Confirmed with Sage 8.9.rc0, as well as with Sage 8.3. So the bug has been there for a while...

With 8.9.rc1+Trac#28534, I get a Sage

crash("Segmentation error").Nice one...