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