Result is ln(Number)
which should be preferred for portability.
In coroutining mode, if Number is uninstantiated, the call to ln/2 is delayed until this variable is instantiated.
Success:
ln(2.0, Result). (gives Result = 0.693147)
ln(1, Result). (gives Result = 0.0)
Fail:
ln(1, 1.0).
ln(1, 0).
ln(1, r).
Error:
ln(A, 6.0). (Error 4).
ln(-2, Result). (Error 20).
ln(0, Result). (Error 20).
ln(4 + 2, 1.79176). (Error 24).