You didn’t test thoroughly, I now also found Unix failures:
/* SWI-Prolog 8.5.20 WSL2 Nok */
?- X is -18573** -7.
X = -1.3116730299820408e-30.
?- X is 1/(-18573**7).
X = -1.3116730299820406e-30.
This was just announced 1hour ago, your post is from 28min ago?
It was announced here, but affects all threads dealing with
correct power functions, also this thread here and the libBf thread:
https://swi-prolog.discourse.group/t/rounding-error-in-2/5795/67
I will reopen my testing compaign and produce a new case6/3,
but hopefully after that, it should be clear that the Unix platform
is no exception, and also subject to the “nearly rounded” phaenomenom.
Thats just a false rumor that only Windows is affected, which was
sustained because nobody did some more extended testing. I couldn’t
test before now, because I didn’t have a Unix SWIPL installation,
WSL2 building didn’t work on my side, had to fall back to PPA.
The new example is again an example where the arguments are
still smallint and are exactly representable as float as well.