Используя арифметику с плавающей точкой c, мы не можем быть на 100% уверены, каков будет результат усечения. Посредством числа с плавающей точкой мы получаем приближение x ~, которое может отличаться от истинного x:
SWI-Prolog (threaded, 64 bits, version 8.1.21)
?- X is 7, Y is 8, Z is X**sqrt(Y)-Y^sqrt(X).
X = 7,
Y = 8,
Z = 0.5348772168447056.
Используя арифметический интервал c, мы можем получить больше уверенности. Если арифметический результат интервала c указывает на интервал [x1, x2], то мы точно знаем, что истинный x находится внутри этого интервала:
ECLiPSe Version 7.0 #52 (x86_64_nt)
?- X is breal(7), Y is breal(8), Z is X^sqrt(Y)-Y^sqrt(X).
X = 7.0__7.0
Y = 8.0__8.0
Z = 0.534877216844194__0.53487721684518874
Поскольку интервал полностью находится внутри [0,1 ) усечение будет равно нулю.