[
    This is another cell size detector.  Unlike the very simple ones it
    positivly confirms that an interpreter has a cell size of 8, 16 or
    32bits. If it's cells size is actually 12, 17, 31bits  or something
    else you get a different response.
    In addition unlike the other Cellsize programs the only optimisation
    this needs to run successfully on a 32bit interpreter is run length
    encoding.
    Though, in fact, a JIT or assembler generator is likely to run in a
    few seconds without any optimisation and a C compiler will probably
    do the optimisation for you.
]
[-]>[-]++++++++++++[<+++++++>-]<.>+++++[<++++>-]<.+.++++++++++.[
-]++++++++[>++++<-]>.<+++++++++[>++++++++<-]>+.+++++.++++++.----
-----------.+++++++++++++.--.++.-------------.+++++++++++++++.--
-------------.+++++++++++++.[-]++++++++[<++++>-]<.>+++++++++[<++
++++++>-]<.-------.>++++++[<+++>-]<.[-]++++++++[>++++<-]>.[-]<
+>>+++++[-<<[->++++++++<]>[-<+>]>]<+<[[-]>[-]<
    +[>
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <-]>[<
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    >-]<[>
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <-]>[<
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    >->+<]
    +<[>-<
	// Cell zero is 2147483648; Wipe carefully
	>>[-<<
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	>>]<<[-]
	+[>
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	<-]>[<
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	>-]<[>
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	<-]>[<
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	>->+<]
	+<[
	    // Huge or abnormal cell size; cell is now 4294967296
	    >>[-<<
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	    ----------------------------------------------------------------
	    >>]<[-]<[-]
	    // This checks for ANY cell size under 21169 by using a
	    // double byte increment and checking the high 'byte'
	    +++++++[[->+++++++>+<<]>>[-<<+>>]<[[->++++++>+<<]>>[-<<+>>]<[>>
		>+<+[>-]>[->>+<]<<
	    <<-]<-]<-] >>>>[-]>>>[[-]<<<<<<<+>>>>>>>]<<<<<<+<
	    [
		// Small and weird cells
		[-]>[-]+++++++++++++[<+++++++++>-]<--.------.------------.++++++
		+++++..[-]++++++++[>++++<-]>.<+++++++++++++[>++++++<-]>.+.-.<+++
		+++++[>--------<-]>-.<+++++++++[>++++++<-]>-.+++++++.+++++.-----
		--------.<++++[>++++<-]>+.+++++++.[-]++++++++[<++++>-]<.>+++++++
		++++[<++++++>-]<+.++.+++++++..+++++++.[-]++++++++++.[-]
	    ]>[
		// Huge cells
		[-]>[-]++++++++++++[<+++++++++>-]<.-----------.>++++[<++++>-]<+.
		-----------.--.[-]++++++++[>++++<-]>.<++++++++++[>++++++++<-]>-.
		+++.[-]++++++++[<++++>-]<.>+++++++++++++[<++++++>-]<.+.-.>++++++
		++[<-------->-]<-.>+++++++++[<++++++>-]<-.+++++++.+++++.--------
		-----.>++++[<++++>-]<+.+++++++.[-]++++++++[>++++<-]>.<++++++++++
		+[>++++++<-]>+.++.+++++++..+++++++.[-]++++++++++.[-]<
	    ]<
	    #
	>[-]<[-]] >[[-]>[-]<<
	    // 32bit cells
	    [-]>[-]++++++++++[<+++++>-]<+.-.>++++++++[<++++++>-]<.+++++++.++
	    +++++++++.[-]++++++++[>++++<-]>.<+++++++++++[>++++++<-]>+.++.+++
	    ++++..+++++++.<++++++++++[>-------<-]>+.[-]++++++++++.[-]<
	>[-]]<
    [-]] >[-<
	// 16 to 31 bit cells
	// Check for exactly 16bit interpreters
	[-]++>[-]>[-]+++++[-<<[->++++++++<]>[-<+>]>]<<
	>+<[[-]>-<
	    // 17 to 31 bits
	    [-]>[-]+++++++[<+++++++>-]<.++++++.---------..+++++.--.>++++[<--
	    -->-]<-.>+++++++++++[<++++++>-]<.+++++++.+++++++++++.[-]++++++++
	    [>++++<-]>.<+++++++++++[>++++++<-]>+.++.+++++++..+++++++.[-]++++
	    ++++++.[-]<
	>[-]<[-]]>[-<
	    // Exactly 16 bits
	    [-]>[-]+++++++[<+++++++>-]<.+++++.>+++++++++++[<++++>-]<.+++++++
	    .+++++++++++.[-]++++++++[>++++<-]>.<+++++++++++[>++++++<-]>+.++.
	    +++++++..+++++++.<++++++++++[>-------<-]>+.[-]++++++++++.[-]<
	>[-]]<
    >[-]]<
>[-]<[-]]>[-<
    // Less than 16bit cells
    +>>[-]<[-]++++++++[>++++<-]>[<++++>-]<[
	[-]>[-]++++++++[<++++++++>-]<[>++++<-]+>[<->[-]]<[
	    <->
	    // Exactly 8bit cells
	    [-]>[-]++++++++[<+++++++>-]<.[-]
	[-]]
    [-]]
    <
    [-
	// 15 or fewer bits using a generic routine
	>+[ [->++<]>[-<+>]<<+> ]<
	>[-]>[-]>[-]>[-]>[-]>[-]+>[-]+>[-]+>[-]+<<<<<<<<<[->>+>+<<<]>>>[
	-<<<+>>>]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]+++++++++<[>>>[-]+<<[>+>
	[-]<<-]>[<+>-]>[<<++++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>
	+<-]<[>+<-]>>>[<<<+>>>-]>>>[-]<<<+++++++++<[>>>[-]+<<[>+>[-]<<-]
	>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<<[-]<<+>]<[>
	[-]<[>+<-]+++++++[<+++++++>-]<-.[-]>>[<<+>>-]<<-]<
    [-]]
    [-]>[-]++++++++++++++[<+++++++>-]<.+++++++.+++++++++++.[-]++++++
    ++[>++++<-]>.<+++++++++++[>++++++<-]>+.++.+++++++..+++++++.<++++
    ++++++[>-------<-]>+.[-]++++++++++.[-]<
>[-]]<