SWI-Prolog represents floats using the C double type. On 
virtually all modern hardware this implies it uses 64-bit IEEEĀ 754 
floating point numbers. See also section 
4.27.2.4. All floating point arithmetic is performed using C. 
Different C compilers, different C math libraries and different hardware 
floating point support may yield different results for the same 
expression on different instances of SWI-Prolog.