: fib ( n -- n' ) { { 1 1 } { 1 0 } } swap m^n first second ; : m^n ( m n -- n ) make-bits over first length identity-matrix [ [ dupd m. ] when [ dup m. ] dip ] reduce nip ;