OR-1 dataflow CPU sketch
1@system pe=2, sm=1
2
3$fib |> {
4 ; ── function body ──
5 &n <| pass
6 lt &n, 2 |> &test
7 &test <| sweq
8 &n |> &test:L
9
10 ; base case
11 &test:L |> @ret
12
13 ; recursive case
14 sub &n, 1 |> &n1
15 sub &n, 2 |> &n2
16
17 ; two calls, each 3 monadic IRAM slots + shared stub
18 &__alloc1 <| rd_inc, @ctx_alloc
19 &__exec1 <| exec, @fib_call_seq
20 &__extag1 <| extract_tag, 20 ; results arrive at offset 20
21
22 &__alloc1 |> &__fib_ctx_fan
23 &__extag1 |> &__fib_ct_ret:R
24 &n1 |> &__fib_ct_n:R
25
26 &__alloc2 <| rd_inc, @ctx_alloc
27 &__exec2 <| exec, @fib_call_seq
28 &__extag2 <| extract_tag, 21 ; results arrive at offset 21
29
30 &__alloc2 |> &__fib_ctx_fan
31 &__extag2 |> &__fib_ct_ret:R
32 &n2 |> &__fib_ct_n:R
33
34 ; reduction
35 add &r1, &r2 |> @ret ; r1 at offset 20, r2 at offset 21
36}