According to IEEE standard, NaN is not equal to NaN, thus the assertion violation. The option "Total order on REALs" can be turned on to disable this behavior and to consider NaN as equal to NaN: https://www.eiffel.org/doc/eiffelstudio/Advanced_Options If the project uses a precompile, the precompile should be built with the same option. The project has to be rebuilt from scratch to take the new option value into account. Feel free to close this problem report if you consider using the option as a satisfactory solution.