In coroutining mode, if Number is a free variable, the call to acos/2 is delayed until this variable is instantiated.
Success: acos(1.0, 0.0). acos(-0.5, Result). (gives Result = 2.0944) acos(0, Result). (gives Result = 1.5708) Fail: acos(1, 1.0). Error: acos(A, 6.0). (Error 4). acos(1, r). (Error 5). acos(1, 0). (Error 5). acos(2, Result). (Error 20). acos(4 - 3, 0.0). (Error 24).