:- seqex(sfib/2).

sfib(0,0).
sfib(1,1).
sfib(M,N) :- M > 1 -> M1 is M-1 -> M2 is M-2 -> (sfib(M1,N1) //  sfib(M2,N2))
	     							-> N is N1+N2.

fib(M,N) :- M > 12 -> M1 is M-1 -> M2 is M-2 -> (fib(M1,N1) //  fib(M2,N2))
	     							-> N is N1+N2.
fib(M,N) :- M =< 12 -> M1 is M-1 -> M2 is M-2 -> (sfib(M1,N1) //  sfib(M2,N2))
	     							-> N is N1+N2.

?- fib(17,M).

