fib.formal
· 277 B · Text
Eredeti
Playground
<> (defer ?x) (?x)
<> ((Num 0) + (Num ?n)) ((Num ?n))
<> ((Num ?n) + (Num 0)) ((Num ?n))
<> ((Num ?x) + (Num ?y)) ((Num @add ?x ?y))
<> (fib (Num 0)) ((Num 0))
<> (fib (Num 1)) ((Num 1))
<> (fib (Num ?n)) (defer fib (Num @sub ?n 1) + defer fib (Num @sub ?n 2))
fib (Num 12)
| 1 | <> (defer ?x) (?x) |
| 2 | |
| 3 | <> ((Num 0) + (Num ?n)) ((Num ?n)) |
| 4 | <> ((Num ?n) + (Num 0)) ((Num ?n)) |
| 5 | <> ((Num ?x) + (Num ?y)) ((Num @add ?x ?y)) |
| 6 | |
| 7 | <> (fib (Num 0)) ((Num 0)) |
| 8 | <> (fib (Num 1)) ((Num 1)) |
| 9 | <> (fib (Num ?n)) (defer fib (Num @sub ?n 1) + defer fib (Num @sub ?n 2)) |
| 10 | |
| 11 | fib (Num 12) |
| 12 |
fib.log.txt
· 3.3 KiB · Text
Eredeti
Playground
--- :: fib (Num 5)
009 :: fib (Num @sub 5 1) + fib (Num @sub 5 2)
002 :: fib (Num 4) + fib (Num @sub 5 2)
002 :: fib (Num 4) + fib (Num 3)
009 :: fib (Num @sub 4 1) + fib (Num @sub 4 2) + fib (Num 3)
009 :: fib (Num @sub 4 1) + fib (Num @sub 4 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2)
002 :: fib (Num 3) + fib (Num @sub 4 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2)
002 :: fib (Num 3) + fib (Num 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2)
002 :: fib (Num 3) + fib (Num 2) + fib (Num 2) + fib (Num @sub 3 2)
002 :: fib (Num 3) + fib (Num 2) + fib (Num 2) + fib (Num 1)
009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num 2) + fib (Num 2) + fib (Num 1)
009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 2) + fib (Num 1)
009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 1)
008 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num 1) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num @sub 2 2) + (Num 1)
002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1)
009 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1)
008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1)
008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1)
007 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1)
008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + fib (Num 0) + (Num 1)
007 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1)
002 :: fib (Num 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1)
002 :: fib (Num 1) + fib (Num 0) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1)
006 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1)
004 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 0) + (Num 1)
004 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1)
008 :: (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1)
007 :: (Num 1) + (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1)
003 :: (Num 1) + (Num 0) + (Num 2) + (Num 1) + (Num 1)
006 :: (Num 1) + (Num 0) + (Num 2) + (Num @add 1 1)
005 :: (Num 1) + (Num 2) + (Num @add 1 1)
003 :: (Num 1) + (Num 2) + (Num 2)
006 :: (Num @add 1 2) + (Num 2)
003 :: (Num 3) + (Num 2)
006 :: (Num @add 3 2)
003 :: (Num 5)
--- :: (Num 5)
Completed in 40 rewrites needing 177 iterations.
| 1 | --- :: fib (Num 5) |
| 2 | 009 :: fib (Num @sub 5 1) + fib (Num @sub 5 2) |
| 3 | 002 :: fib (Num 4) + fib (Num @sub 5 2) |
| 4 | 002 :: fib (Num 4) + fib (Num 3) |
| 5 | 009 :: fib (Num @sub 4 1) + fib (Num @sub 4 2) + fib (Num 3) |
| 6 | 009 :: fib (Num @sub 4 1) + fib (Num @sub 4 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2) |
| 7 | 002 :: fib (Num 3) + fib (Num @sub 4 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2) |
| 8 | 002 :: fib (Num 3) + fib (Num 2) + fib (Num @sub 3 1) + fib (Num @sub 3 2) |
| 9 | 002 :: fib (Num 3) + fib (Num 2) + fib (Num 2) + fib (Num @sub 3 2) |
| 10 | 002 :: fib (Num 3) + fib (Num 2) + fib (Num 2) + fib (Num 1) |
| 11 | 009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num 2) + fib (Num 2) + fib (Num 1) |
| 12 | 009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 2) + fib (Num 1) |
| 13 | 009 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 1) |
| 14 | 008 :: fib (Num @sub 3 1) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) |
| 15 | 002 :: fib (Num 2) + fib (Num @sub 3 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) |
| 16 | 002 :: fib (Num 2) + fib (Num 1) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) |
| 17 | 002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num @sub 2 2) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) |
| 18 | 002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) |
| 19 | 002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num @sub 2 2) + (Num 1) |
| 20 | 002 :: fib (Num 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1) |
| 21 | 009 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + fib (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1) |
| 22 | 008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + fib (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1) |
| 23 | 008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + fib (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1) |
| 24 | 007 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + fib (Num 1) + fib (Num 0) + (Num 1) |
| 25 | 008 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + fib (Num 0) + (Num 1) |
| 26 | 007 :: fib (Num @sub 2 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1) |
| 27 | 002 :: fib (Num 1) + fib (Num @sub 2 2) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1) |
| 28 | 002 :: fib (Num 1) + fib (Num 0) + (Num 1) + (Num 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1) |
| 29 | 006 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 0) + (Num 1) + (Num 0) + (Num 1) |
| 30 | 004 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 0) + (Num 1) |
| 31 | 004 :: fib (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1) |
| 32 | 008 :: (Num 1) + fib (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1) |
| 33 | 007 :: (Num 1) + (Num 0) + (Num @add 1 1) + (Num 1) + (Num 1) |
| 34 | 003 :: (Num 1) + (Num 0) + (Num 2) + (Num 1) + (Num 1) |
| 35 | 006 :: (Num 1) + (Num 0) + (Num 2) + (Num @add 1 1) |
| 36 | 005 :: (Num 1) + (Num 2) + (Num @add 1 1) |
| 37 | 003 :: (Num 1) + (Num 2) + (Num 2) |
| 38 | 006 :: (Num @add 1 2) + (Num 2) |
| 39 | 003 :: (Num 3) + (Num 2) |
| 40 | 006 :: (Num @add 3 2) |
| 41 | 003 :: (Num 5) |
| 42 | --- :: (Num 5) |
| 43 | Completed in 40 rewrites needing 177 iterations. |