:- 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 > 11 -> M1 is M-1 -> M2 is M-2 -> (fib(M1,N1) //  fib(M2,N2))
	     							-> N is N1+N2.
fib(M,N) :- M =< 11 -> M1 is M-1 -> M2 is M-2 -> (sfib(M1,N1) //  sfib(M2,N2))
	     							-> N is N1+N2.

?- fib(23, M).

