aboutsummaryrefslogtreecommitdiff
path: root/nfib_nsa.icl
blob: 5764e8fd45847078a2723f5adcde67ae10a2c3fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module nfib_nsa

// compile with -nsa -h 2000m -gci 2000m

(+) :: !Int !Int -> Int
(+) a b = code inline {
	addI
}

(-) :: !Int !Int -> Int
(-) a b = code inline {
	subI
}

(<) :: !Int !Int -> Bool
(<) a b = code inline {
	ltI
}

nfib :: Int -> Int
nfib n
	| n < 2
		= 1
		= nfib (n-2) + nfib (n-1) + 1

Start = nfib 34