The low level builtins (like +/3, sin/2 etc.) which are used to evaluate the predefined arithmetic functions can also be called directly, but this is not recommended for portability reasons. Moreover, there is no need to use them directly since the ECLiPSe compiler will transform all arithmetic expressions into calls to the corresponding low level builtins .