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