: next-iteration ( n -- m ) dup even? [ 2 / ] [ 3 * 1 + ] if ; : (chain) ( count n -- count ) dup 1 = [ drop ] [ next-iteration [ 1+ ] dip (chain) ] if ; : chain ( n -- count ) [ 0 ] dip (chain) ; ! (scratchpad) 4 chain . 2