: factor-2s ( n -- r s ) dup 0 = [ 1 ] [ [ 0 ] dip [ dup even? ] [ [ 1 + ] [ 2/ ] bi* ] while ] if ; inline : factor-2s ( n -- r s ) dup 0 = if{ [ 1 ] [ [ 0 ] dip [ dup even? ] while[ [ 1 + ] [ 2/ ] bi* ] ] } ; inline