In coroutining mode, if Number is a free variable, the call to ceiling/2 is delayed until this variable is instantiated.
Success: ceiling(1.8, 2.0). ceiling(-1.8, -1.0). ceiling(5, 5). ceiling(-6.4, Result). (gives Result = -6.0) Fail: ceiling(0.0, 1.0). Error: ceiling(A, 6.0). (Error 4). ceiling(0.5, 0). (Error 5). ceiling(1, r). (Error 24). ceiling(4 + 2.3, 6.0). (Error 24).