Brainfuck

From Encyclopedia Dramatica
Jump to: navigation, search

Last Thursday, Urban Müller decided to snort a straight ton of coke laced with acid, and then ate a shroom for good measure. Brainfuck -- an esoteric turing test that isn't even suitable as a programming language -- was born.

An example[edit]

If you can figure this shit out, you are a god.

>+++++++++[<+++++++++++>-]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]>>>
[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<
-]<<-<-]+++++++++>[<->-]>>+>[<[-]<<+>>>-]>[-]+<<[>+>-<<-]<<<
[>>+>+<<<-]>>>[<<<+>>>-]>[<+>-]<<-[>[-]<[-]]>>+<[>[-]<-]<+++
+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
+++++++++>-]<.+++..+++++++++++++.>++++++++++[<---------->-]<
-.---.>+++++++[<++++++++++>-]<++++.+++++++++++++.++++++++++.
------.>+++++++[<---------->-]<+.>++++++++[<++++++++++>-]<-.
-.---------.>+++++++[<---------->-]<+.>+++++++[<++++++++++>-
]<--.+++++++++++.++++++++.---------.>++++++++[<---------->-]
<++.>+++++[<+++++++++++++>-]<.+++++++++++++.----------.>++++
+++[<---------->-]<++.>++++++++[<++++++++++>-]<.>+++[<----->
-]<.>+++[<++++++>-]<..>+++++++++[<--------->-]<--.>+++++++[<
++++++++++>-]<+++.+++++++++++.>++++++++[<----------->-]<++++
.>+++++[<+++++++++++++>-]<.>+++[<++++++>-]<-.---.++++++.----
---.----------.>++++++++[<----------->-]<+.---.[-]<<<->[-]>[
-]<<[>+>+<<-]>>[<<+>>-]>>>[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]+++++++++>[<->-]>>+>[<[-]<
<+>>>-]>[-]+<<[>+>-<<-]<<<[>>+>+<<<-]>>>[<<<+>>>-]<>>[<+>-]<
<-[>[-]<[-]]>>+<[>[-]<-]<++++++++[<++++++<++++++>>-]>>>[>+>+
<<-]>>[<<+>>-]<[+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++<<<<<.>>>>>-]<<<<<<.>>[-]>[-]++++[<++++++++>
-]<.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.><+++++..---
-----.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++++++++++++++
.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<+++++++++>-]<-
-.---------.>+++++++[<---------->-]<.>++++++[<+++++++++++>-]
<.+++..+++++++++++++.>++++++++[<---------->-]<--.>+++++++++[
<+++++++++>-]<--.-.>++++++++[<---------->-]<++.>++++++++[<++
++++++++>-]<++++.------------.---.>+++++++[<---------->-]<+.
>++++++++[<+++++++++++>-]<-.>++[<----------->-]<.+++++++++++
..>+++++++++[<---------->-]<-----.---.+++.---.[-]<<<]



++++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
[
 -                         cont=0
 >,
 ======SUB10======
 ---------- 
 [                         not 10
  <+>                      cont=1
  =====SUB38======
  ----------
  ----------
  ----------
  -------->+++++++++[<+++++++++++>-]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]>>>
[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<
-]<<-<-]+++++++++>[<->-]>>+>[<[-]<<+>>>-]>[-]+<<[>+>-<<-]<<<
[>>+>+<<<-]>>>[<+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++<<+>>>-]>[<+>-]<<-[>[-]<[-]]>>+<[>[-]<-]<+++
+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
+++++++++>-]<.+++..+++++++++++++.>++++++++++[<---------->-]<
-.---.>+++++++[<++++++++++>-]<++++.+++++++++++++.++++++++++.
------.>+++++++[<---------->-]<+.>++++++++[<++++++++++>-]<-.
-.---------.>+++++++[<---------->-]<+.>+++++++[<++++++++++>-
]<--.+++++++++++.++++++++.---------.>++++++++[<---------->-]
<++.>+++++[<+++++++++++++>-]<.+++++++++++++.----------.>++++
+++[<---------->-]<++.>++++++++[<++++++++++>-]<.>+++[<----->
-]<.>+++[<++++++>-]<..>+++++++++[<--------->-]<--.>+++++++[<
++++++++++>-]<+++.+++++++++++.>++++++++[<----------->-]<++++
.>+++++[<+++++++++++++>-]<.>+++[<++++++>-]<-.---.++++++.----
---.----------.>++++++++[<----------->-]<+.---.[-]<<<->[-]>[
-]<<[>+>+<<-]>>[<<+>>-]>>>[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]+++++++++>[<->-]>>+>[<[-]<
<+>>>-]>[-]+<<[>+>-<<-]<<<[>>+>+<<<-]>>>[<<<+>>>-]<>>[<+>-]<
<-[>[-]<[-]]>>+<[>[-]<-]<++++++++[<++++++<++++++>>-]>>>[>+>+
<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>[-]>[-]++++[<++++++++>
-]<.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.><+++++..---
-----.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++++++++++++++
.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<+++++++++>-]<-
-.---------.>+++++++[<---------->-]<.>++++++[<+++++++++++>-]
<.+++..+++++++++++++.>++++++++[<---------->-]<--.>+++++++++[
<+++++++++>-]<--.-.>++++++++[<---------->-]<++.>++++++++[<++
++++++++>-]<++++.------------.---.>+++++++[<---------->-]<+.
>++++++++[<+++++++++++>-]<-.>++[<----------->-]<.+++++++++++
..>+++++++++[<---------->-]<-----.---.+++.---.[-]<<<]



  >
  =====MUL10=======
  [>+>+<<-]>>[<<+>>-]<     dup

  >>>+++++++++
  [
   <<<
   [>+>+<<-]>>[<<+>>-]<    dup
   [<<+>>-]
   >>-
  ]
  <<<[-]<
  ======RMOVE1======
  <
  [>+<-]
 ]>+++++++++[<+++++++++++>-]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]>>>
[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<
-]<<-<-]+++++++++>[<->-]>>+>[<[-]<<+>>>-]>[-]+<<[>+>-<<-]<<<
[>>+>+<<<-]>>>[<<<+>>>-]>[<+>-]<<-[>[-]<[-]]>>+<[>[-]<-]<+++
+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
+++++++++>-]<.+++..+++++++++++++.>++++++++++[<---------->-]<
-.---.>+++++++[<++++++++++>-]<++++.+++++++++++++.++++++++++.
------.>+++++++[<---------->-]<+.>++++++++[<++++++++++>-]<-.
-.---------.>+++++++[<---------->-]<+.>+++++++[<++++++++++>-
]<--.+++++++++++.++++++++.---------.>++++++++[<---------->-]
<++.>+++++[<+++++++++++++>-]<.+++++++++++++.----------.>++++
+++[<---------->-]<++.>++++++++[<++++++++++>-]<.>+++[<----->
-]<.>+++[<++++++>-]<..>+++++++++[<--------->-]<--.>+++++++[<
++++++++++>-]<+++.+++++++++++.>++++++++[<----------->-]<++++
.>+++++[<+++++++++++++>-]<.>+++[<++++++>-]<-.---.++++++.----
---.----------.>++++++++[<----------->-]<+.---.[-]<<<->[-]>[
-]<<[>+>+<<-]>>[<<+>>-]>>>[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]+++++++++>[<->-]>>+>[<[-]<
<+>>>-]>[-]+<<[>+>-<<-]<<<[>>+>+<<<-]>>>[<<<+>>>-]<>>[<+>-]<
<-[>[-]<[-]]>>+<[>[-]<-]<++++++++[<++++++<++++++>>-]>>>[>+>+
<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>[-]>[-]++++[<++++++++>
-]<.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.><+++++..---
-----.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++++++++++++++
.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<+++++++++>-]<-
-.---------.>+++++++[<---------->-]<.>++++++[<+++++++++++>-]
<.+++..+++++++++++++.>++++++++[<---------->-]<--.>+++++++++[
<+++++++++>-]<--.-.>++++++++[<---------->-]<++.>++++++++[<++
++++++++>-]<++++.------------.---.>+++++++[<---------->-]<+.
>++++++++[<+++++++++++>-]<-.>++[<----------->-]<.+++++++++++
..>+++++++++[<---------->-]<-----.---.+++.---.[-]<<<]


 <
]
>>[<<+>>-]<<
#


++>>++>>++>>[<++++[>++++++++<-]<-]  >>[>++<-]
0000000
2020248
   48
 48                                            >++++++++[>+++++++++<-]>.
0                                                                       +++++++++++++++++++++++++++++.
                                                                                  ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

                   +++++++.
             >+++++++++[<+++++++++++>-]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]>>>
[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<
-]<<-<-]+++++++++>[<->-]>>+>[<[-]<<+>>>-]>[-]+<<[>+>-<<-]<<<
[>>+>+<<<-]>>>[<<<+>>>-]>[<+>-]<<-[>[-]<[-]]>>+<[>[-]<-]<+++
+++++[<++++++<++++++>>-]>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-
]<<<<<<.>>[-]>[-]++++[<++++++++>-]<.>++++[<++++++++>-]<++.>+
++++[<+++++++++>-]<.><+++++..--------.-------.>>[>>+>+<<<-]>
>>[<<<+>>>-]<[<<<<++++++++++++++.>>>>-]<<<<[-]>++++[<+++++++
+>-]<.>+++++++++[<+++++++++>-]<--.---------.>+++++++[<------
---->-]<.>++++++[<+++++++++++>-]<.+++..+++++++++++++.>++++++
++[<---------->-]<--.>+++++++++[<+++++++++>-]<--.-.>++++++++
[<---------->-]<++.>++++++++[<++++++++++>-]<++++.-----------
-.---.>+++++++[<---------->-]<+.>++++++++[<+++++++++++>-]<-.
>++[<----------->-]<.+++++++++++..>+++++++++[<---------->-]<
-----.---.>>>[>+>+<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>>+++
+[<++++++>-]<--.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.
><+++++..--------.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++
++++++++++++.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<++
+++++++>-]<--.---------.>+++++++[<---------->-]<.>++++++[<++
+++++++++>-]<.+++..+++++++++++++.>++++++++++[<---------->-]<
-.---.>+++++++[<++++++++++>-]<++++.+++++++++++++.++++++++++.
------.>+++++++[<---------->-]<+.>++++++++[<++++++++++>-]<-.
-.---------.>+++++++[<---------->-]<+.>+++++++[<++++++++++>-
]<--.+++++++++++.++++++++.---------.>++++++++[<---------->-]
<++.>+++++[<+++++++++++++>-]<.+++++++++++++.----------.>++++
+++[<---------->-]<++.>++++++++[<++++++++++>-]<.>+++[<----->
-]<.>+++[<++++++>-]<..>+++++++++[<--------->-]<--.>+++++++[<
++++++++++>-]<       <<<<<<<<<[->>>>>+<<<<<]>>>>>>,.<
                                [->>>>[>>]+<<[-<<]<<]>[->>>>[>>]+<<[-<<]<<]>
                                    >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                                    >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                                    >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                                    >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                                  >[->>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<]<
                                 <[->>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<]<
                                <[->>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<]<
                               <[->>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<]<
                              <[->>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<]<
                             <[->>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<]<
                            <[->>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<]<
                           <[->>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<]<
                                         <<<<<<<<[->>>>+<<<<]>>>>>,.<
                                [->>>>[>>]+<<[-<<]<<]>[->>>>[>>]+<<[-<<]<<]>
                  >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                  >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                       >[->>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                      <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                     <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                    <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                   <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                   <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                  <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                 <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                                           <<<<<<<[->>>+<<<]>>>>,.<
                                [->>>>[>>]+<<[-<<]<<]>[->>>>[>>]+<<[-<<]<<]>
                  >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
                  >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
               >[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
              <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
             <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
            <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
           <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
          <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
         <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
        <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
                                             <<<<<<[->>+<<]>>>,.<
                                [->>>>[>>]+<<[-<<]<<]>[->>>>[>>]+<<[-<<]<<]>
                           >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
         >>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]>>[>[-<->]<[->+<]]
       >[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
      <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
     <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
    <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
   <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
  <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
 <[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<
<[->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]<

<<<<<<<<

copy the remaining 39 bytes of the header
+++[->+++++++++++++[->,.<]<] <<

main decryption loop: for each of 1920 bytes:
+++++[->++++++[->++++++++[->++++++++[->

  read a byte and convert it to binary
  ,[->>>[>>]+<<[-<<]<]

  perform the mangling step (bit ordering is AaBbCcDdEeFfGgHh)
  >>>>>>+>>+>>>>+>>>>+>
  [-<<<<<->>>>>] <<[-<<<<<<<<<<<+>>>>>>>>>>>]                       F =!h; B = g;
  ++<<[->>->>+<<<<<<<<<<<->>>>>>>]<< [->>>>->>+<-<<<<<]<<           C =!f; H =!e; g=2 minus e minus f; h=e plus f
  [-<<<<<<<+>>>>>>>]<< [->>>+<<<]                                   A = d; E = c;
  ++<<[->>->-<<<]<< [->>>>->>>>>>>+<<<<<<<<<<<]                     D =!b; G = a; c=2 minus a minus b;
  >>>>[[-]<<<<+<[->-<]>[-<+>]>>>>>>+>[-<->]<[->+<]<<]               A ^=!!c; E ^=!!c;  (!!c == !(a&b))
  >>>>>>>>[[-]<<<<<<<<<<+<[->-<]>[-<+>]>>>>>>>>>>]                  B ^=!!g;  (!!g == !(e&f))
  >>[[-]<<<<+<[->-<]>[-<+>]>>>>]<<<<<<<<<<<<<<<                     F ^=!!h;  (!!h == (e|f))
  [->>[->+>[-<->]<[->+<]>>+>[-<->]<[->+<]<<+<]>[-<+>]<<+<]>[-<+>]   C ^= A&B; D ^= A&B;
  >>>>>>>>>>++<<<[->+>>->>+<<<<<]>[-<+>]>[-<+>>->>+<<<]<[->+<]      f = 2 minus E minus F; g = E plus F;
  >>[[-]+>[-<->]<[->+<]]>>[[-]+>[-<->]<[->+<]]                      G ^=!!f; H ^=!!g;

  generate eight cipher bits
  >>++++++++[>

    clock the 17 bit LFSR and add end bit to previous carry
    >>+>> >>>>>>>>>>>>>>>>
    [-<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>]<
    [->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<
    [->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<
    [->+<]<[->+<<<<+>>>]<[->+<]<[->+<]<
    [->+<<->[->-<<+>]]

    clock the 25 bit LFSR and add end bit to total
    >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>
    [-<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>]<
    [->+<]<[->+<]<
    [->+<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>]<
    [->+<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>]<
    [->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<
    [->+<<<<<<<<<<<<<<+>>>>>>>>>>>>>]<
    [->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<
    [->+<]<[->+<]<[->+<]<[->+<]<[->+<]<[->+<]<
    [->+<<+>[->-<<->[->+<<+>[->-<<->]]]]<
    [-<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>]<<<<<<<<<<<<<<<<<<<

    split total into low bit (result) and high bit (new carry)
    [->+<]>
    [-<<[<]+>[->]>]
    <<<[->>+<<]

    shift in new result bit
    <<<<<<<<<<<<<<<<<[-]
    >>[-<<+>>]>>[-<<+>>]>>[-<<+>>]>>[-<<+>>]
    >>[-<<+>>]>>[-<<+>>]>>[-<<+>>]>>>>[-<<<<+>>>>]

  <<-]

  xor cipher byte with sector byte
  <[<[->-<]>[-<+>]]< <[<[->-<]>[-<+>]]<
  <[<[->-<]>[-<+>]]< <[<[->-<]>[-<+>]]<
  <[<[->-<]>[-<+>]]< <[<[->-<]>[-<+>]]<
  <[<[->-<]>[-<+>]]< <[<[->-<]>[-<+>]]

  combine bits into output byte
  > [-<<++>>] >>>> [-<<++>>] >>>> [-<<++>>] >>>> [-<<++>>]
  << [-<<<<++++>>>>] <<<<<<<< [-<<<<++++>>>>]
  >>>> [-<<<<<<<<++++++++++++++++>>>>>>>>]

  and write it out
  <<<<<<<<.[-]
>+10
 [>,11
   [     ;IF x == var02 THEN PRINT "ä"
    <<<<<<<<<2[<1+<0+>>-]<[>+<-]
    >>>>>>>>>>
    [<<<<<<<<<<1+<0->>>>>>>>>>>11-]
    <<<<<<<<<<1[>>>>>>>>>>11+<<<<<<<<<<1-]
    >>>>>>>>>>
    >12+>13+<<<<<<<<<<<<<0[>>>>>>>>>>>>-<<<<<<<<<<<<0[-]]
    >>>>>>>>>>>11
    >12[>>++++++[>++++++<-]>++.
        <+++++++[>++++++++<-]>+++.
        <++++[>+++++<-]>.
        <++[>----<-]>.
        <+[>-<-]>.
        <+++++++[>-------<-]>15.[-]+
        <<13!-<<11[-]
        >12-
       ]
    >13[    ;ELSE IF x == var03 THEN PRINT "ö"
        <<<<<<<<<<3[<<+<+>>>-]<<1[>>3+<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<1[>>>>>>>>>>11+<<<<<<<<<<1-]
        >>>>>>>>>>
        >12+>>14+<<<<<<<<<<<<<<0[>>>>>>>>>>>>12-<<<<<<<<<<<<0[-]]
        >>>>>>>>>>>11
        >12[>>>>16++++++[<++++++>-]<++.
            >++++++++[<+++++++++>-]<+.
            >++[<+++>-]<.
            >++[<---->-]<.
            >+[<->-]<.
            >+++++++[<------->-]<15.[-]+
            <14!-<<<11[-]
            >12-
           ]
        >13-
       ]
    >14[    ;ELSE IF x == var04 THEN PRINT "ü"
        <<<<<<<<<<4[<<<1+<0+>>>>4-]<<<1[>>>+<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >12+>13+<<<<<<<<<<<<<0[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>
        >12[>>>>16++++++[<++++++>-]<++.
            >++++++++[<+++++++++>-]<+++++++..
            >++[<---->-]<.
            >+[<->-]<.
            >+++++++[<------->-]<15.[-]+
            <<13!-<<11[-]
            >12-
           ]
        >>14-
       ]
    <13[    ;ELSE IF x == var05 THEN PRINT "Ä"
        <<<<<<<<[<<<<+<+>>>>>-]<<<<[>>>>+<<<<-]
        >>>>>>>>>>11
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<1[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >12+>>14+<<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>11
        >12[>>>>++++++[<++++++>-]<++.
            >+++++[<+++++>-]<++.
            >+++++++[<+++++++>-]<+++.
            >++[<---->-]<.
            >+[<->-]<.
            >+++++++[<------->-]<15.[-]+
            <14!-<<<11[-]
            >12-
           ]
        >13-
       ]
    >14[    ;ELSE IF x == var06 THEN PRINT "Ö"
        <<<<<<<<[<<<<<+<+>>>>>>-]<<<<<[>>>>>+<<<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >12+>13+<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>11
        >12[>>>>++++++[<++++++>-]<++.
            >++++++[<++++++>-]<+++++.
            >++++++[<++++++>-]<++.
            >++[<---->-]<.
            >+[<->-]<.
            >+++++++[<------->-]<15.[-]+
            <<13!-<<11[-]
            >12-
           ]
        >>14-
       ]
    <13[    ;ELSE IF x == var07 THEN PRINT "Ü"
        <<<<<<[<<<<<<+<+>>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >12+>>14+<<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>11
        >12[>>>>++++++[<++++++>-]<++.
            >++++++[<+++++++>-]<+++++.
            >+++++[<++++++>-]<++.
            >++[<---->-]<.
            >+[<->-]<.
            >+++++++[<------->-]<.[-]+
            <!-<<<[-]
            >-
           ]
        >13-
       ]
    >14[    ;ELSE IF x == var08 THEN PRINT ">"
        <<<<<<[<<<<<<<+<+>>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >+>13+<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>
        >12[>>>>++++++[<++++++>-]<++.
            >++++++++[<++++++++>-]<+.
            >+++[<++++>-]<+.
            >+++++++[<-------->-]<-.[-]+
            <<!-<<[-]
            >-
           ]
        >>-
       ]
    <13[    ;ELSE IF x == var09 THEN PRINT "<"
        <<<<[<<<<<<<<+<+>>>>>>>>>-]<<<<<<<<[>>>>>>>>+<<<<<<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<0->>>>>>>>>>>11-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >+>>14+<<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>
        >12[>>>>++++++[<++++++>-]<++.
            >++++++++[<++++++++>-]<++++++.
            >++[<++++>-]<.
            >+++++++[<-------->-]<-.[-]+
            <!-<<<[-]
            >-
           ]
        >-
       ]
    >14[    ;ELSE IF x == var10 THEN PRINT "ß"
        >>>>18[<<<<<<<<<<<<<<<<<+<+>>>>>>>>>>>>>>>>>>-]
          <<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<-]
        >>>>>>>>>>
        [<<<<<<<<<<+<->>>>>>>>>>>-]
        <<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]
        >>>>>>>>>>
        >+>13+<<<<<<<<<<<<<[>>>>>>>>>>>>-<<<<<<<<<<<<[-]]
        >>>>>>>>>>>
        >12[>>>>++++++[<++++++>-]<++.
            >++++++++[<+++++++++>-]<+++++.
            >++[<+++>-]<+.
            >+++[<---->-]<--.
            >+[<--->-]<.
            >+[<-->-]<.
            >++++++[<------->-]<--.[-]+
            <<!-<<[-]
            >-
           ]
        >>-
       ]
    <13[    ;ELSE PRINT x
        <<.[-]
        >>>>[-]+
        <<-
       ]
    <<11
   ]
  >>>>>>+<<[<<<<<[-]+>>>>>->>-<<]>>[<<<<<<<[-]>>>>>>>-]
  <<<<<<<
 ]



end of decryption loop
<<]<]<]<] >>>>>

end of decryption; if the encryption bit was clear:
]<[

then just copy the rest of the sector (2027 bytes)
>+++++[->+++++[->+++++++++[->+++++++++[->,.<]<]<]<],.,.>

end of plaintext copy
]
+++.+++++++++++.>++++++++[<----------->-]<++++
.>+++++[<+++++++++++++>-]<.>+++[<++++++>-]<-.---.++++++.----
---.----------.>++++++++[<----------->-]<+.---.[-]<<<->[-]>[
-]<<[>+>+<<-]>>[<<+>>-]>>>[-]<<<+++++++++<[>>>+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]+++++++++>[<->-]>>+>[<[-]<
<+>>>-]>[-]+<<[>+>-<<-]<<<[>>+>+<<<-]>>>[<<<+>>>-]<>>[<+>-]<
<-[>[-]<[-]]>>+<[>[-]<-]<++++++++[<++++++<++++++>>-]>>>[>+>+
<<-]>>[<<+>>-]<[<<<<<.>>>>>-]<<<<<<.>>[-]>[-]++++[<++++++++>
-]<.>++++[<++++++++>-]<++.>+++++[<+++++++++>-]<.><+++++..---
-----.-------.>>[>>+>+<<<-]>>>[<<<+>>>-]<[<<<<++++++++++++++
.>>>>-]<<<<[-]>++++[<++++++++>-]<.>+++++++++[<+++++++++>-]<-
-.---------.>+++++++[<---------->-]<.>++++++[<+++++++++++>-]
<.+++..+++++++++++++.>++++++++[<---------->-]<--.>+++++++++[
<+++++++++>-]<--.-.>++++++++[<---------->-]<++.>++++++++[<++
++++++++>-]<++++.------------.---.>+++++++[<---------->-]<+.
>++++++++[<+++++++++++>-]<-.>++[<----------->-]<.+++++++++++
..>+++++++++[<---------->-]<-----.---.+++.---.[-]<<<]

                                                                                               .
                                                                                                            +++.
                               -------------------------------------------------------------------------------.
                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++.
                                                                                       ++++++++++++++++++++++++.
                                                                                                               +++.
                                                                                                           ------.  
                                                                                                   --------.
                                -------------------------------------------------------------------.   

              ++++[>++++++++<-]>


Matrix.gif

Brainfuck is part of a series on Programming.

[2 L337 4 MEEnter the Matrix]