Braindrunk
Braindrunk is an esolang invented by User:None1, inspired by Entropy and brainfuck. It is like brainfuck, except the cell at the pointer is slightly modified after an instruction. It is named Braindrunk because its behavior seems drunken.
There are two rates: increment rate and decrement rate, which are the probabilities to increment the cell or decrement the cell It is recommended to set both rates to 0.001, which means that there is a one thousandth chance to increment and one thousandth chance to decrement (otherwise do nothing) after each instruction.
Even though the recommended rate is very low, it highly affects the behavior of the program, to show this, let's do some experiments.
Experiments
Note: the recommended rates are used, experiences may vary due to random.
Hello World
My hello world program:
++++++++[>++++++++<-]>++++++++.>++++++++[>++++++++++++<-]>+++++.+++++++..+++.>++++++++[>+++++<-]>++++.------------.<<<<+++++++++++++++.>>.+++.------.--------.>>+.
prints out:
Pello, _orld!
The more classic hello world
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
behaves like this:
Hdkkn Wnqkc!
but sometimes it is crazier:
@X__b�Lbe_W�
The shorter Hello, World!
--<-<<+[+[<+>--->->->-<<<]>]<<--.<++++++.<<-..<<.<+.>>.>>.<<<.+++.>>.>>-.<<<+.
prints a lot of nonASCII characters:
f///êém¢/.ê
99 bottles of beer
At first, it seems quite normal, except that the characters are obfuscated and the counting is wrong:
98"\inmfao i`�\_`m hf ob_�r[ff, 98"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk bn�`lhoh`!-!97"\inmfao i`�\_`m hf ob_�r[ff. 97"\inmfao i`�\_`m hf ob_�r[ff, 97"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk bn�`lhoh`!-!96"\inmfao i`�\_`m hf ob_�r[ff. 96"\inmfao i`�\_`m hf ob_�r[ff, 96"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk!bn�`lhoh`!-!95"\inmfao i`�\_`m hf ob_�r[ff. 95"\inmfao i`�\_`m hf ob_�r[ff, 95"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk!bn�`lhoh`!-!94"\inmfao i`�\_`m hf ob_�r[ff. 94"\inmfao i`�\_`m hf ob_�r[ff, 94"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!93"\inmfao i`�\_`m hf ob_�r[ff. 93"\inmfao i`�\_`m hf ob_�r[ff, 93"\inmfao i`�\_`m. L[g_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!92"\inmfao i`�\_`m hf ob_�r[ff. 92"\inmfao i`�\_`m hf ob_�r[ff, 92"\inmfao i`�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!91"\inmfao j`�\_`m hf ob_�r[ff. 91"\inmfao j`�\_`m hf ob_�r[ff, 91"\inmfao ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!90"\inmfao ja�\_`m hf ob_�r[gf. 90"\inmfao ja�\_`m hf ob_�r[gf, 90"\inmfao ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!9/"\inmfao ja�\_`m hf ob_�r[gf. 9/"\inmfao ja�\_`m hf ob_�r[gf, 9/"\inmfao ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!88"\inmfao ja�\_`m hf ob_�r[gf. 88"\inmfao ja�\_`m hf ob_�r[gf, 88"\inmfao ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!87"\inmfap ja�\_`m hf ob_�r[gf. 87"\inmfap ja�\_`m hf ob_�r[gf, 87"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!86"\inmfap ja�\_`m hf ob_�r[gf. 86"\inmfap ja�\_`m hf ob_�r[gf, 86"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!85"\inmfap ja�\_`m hf ob_�r[gf. 85"\inmfap ja�\_`m hf ob_�r[gf, 85"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!84"\inmfap ja�\_`m hf ob_�r[gf. 84"\inmfap ja�\_`m hf ob_�r[gf, 84"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!83"\inmfap ja�\_`m hf ob_�r[gf. 83"\inmfap ja�\_`m hf ob_�r[gf, 83"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!82"\inmfap ja�\_`m hf ob_�r[gf. 82"\inmfap ja�\_`m hf ob_�r[gf, 82"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!81"\inmfap ja�\_`m hf ob_�r[gf. 81"\inmfap ja�\_`m hf ob_�r[gf, 81"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!80"\inmfap ja�\_`m hf ob_�r[gf. 80"\inmfap ja�\_`m hf ob_�r[gf, 80"\inmfap ja�\_`m. L[f_!ih`#_iph Zg_ j\mk!bn�`lhoi`!-!8/"\inmfap ja�\_`m�hf ob_�r[gf.
Then the number disappeared!
30"[immeap i^�]^`m�jf sc]�r[hf,�30"[immeap i^�]^`m. LZf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!29"[immeap i^�]^`m�jf sc]�r[hf. 29"[immeap i^�]^`m�jf sd]�r[hf,�29"[immeap i^�]^`m. LZf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!28"[immeap i^�]^`m�jf sd]�r[hf. 28"[immeap i^�]^`m�jf sd]�r[hf,�28"[immeap i^�]^`m. LZf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!27"[immeap i^�]^`m�jf sd]�r[hf. 27"[immeap i^�]^`m�jf sd]�r[hf,�27"[immeap i^�]^`m. LZf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!26"[immeap i^�]^`m�jf sd]�r[hf. ��[immeap i^�]^`m�jf sd]�r[hf,.L��[immeap i^�]^`m� �Zf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!h��[immeap i^�]^`m�jf sd]�r[hf, ��immeap i^�]^`m�jf sd]�r[hf,. Zimmeap i^�]^`m�j�Lf_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!hjÿ immeap i^�]^`m�jf�sd]�r[hf,.�LLþmmeap i^�]^`m�jf�sd]�r[hf,. �fþmmeap i^�]^`m�jfLZ_"ih`#^ipg Zh_!k\mk!an�`lhoi` -!hj"ÿ�mmeap i^�]^`m�jf�sd]�r[hf,. LZZ!meap i^�]^`m�jf�sd] r[hf,. �L_!meap i^�]^`m�jf�Zf"ih`#^ipg Zh_!k\mk!an�`lhoi` -!hj"gÿ*meap i^�]^`m�jf�sd] r[hf,. �ZffÿZeap i^�]^`m�jf�sd] r[hf,. �LZ"ÿZeap i^�]^`m�jf�sf_ih`#^ipg Zh_!k\mk!an�`lhoi` -!hj"giþceap i^�]^`m�jf�sd] r[hf,. �Lf__hap i^�]^`m�jf�sd] r[hf,. �LZfihap i^�]^`m�jf�sd_"h`#^ipg Zh_!k\mk!an�`lhoi` -!hj"gilÿqap i^�]^`m�jf�sd] r[hf,. �LZ_""lp i^�]^`m�jf�sd] r[hf,. �LZf_hlp i^�]^`m�jf�sd]"i`#^ipg Zh_!k\mk!an�`lhoi` -!hj"gil_ÿtp i^�]^`m�jf�sd] r[hf,. �LZf"iil i^�]^`m�jf�sd] r[hf,. �LZf_"`l i^�]^`m�jf�sd] ih#^ipf Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿu i^�]^`m�jf�sd] r[hf,. �LZf_ihhdi^�]^`m�jf�sd] r[hf,. �LZf_"i#di^�]^`m�jf�sd] rh`^ipf Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿmi^�]^`m�jf�sd] r[hf,. �LZf_"h``_^�]^`m�jf�sd] r[hf,. �LZf_"ih^_^�]^`m�jf�sd] r[`#ipf Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿh^�]^`m�jf�sd] r[hf,. �LZf_"i`##o�]^`m�jf�sd] r[hf,. �LZf_"ih`io�]^`m�jf�sd] r[h#^pf Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿx�]^`m�jf�sd] r[hf,. �LZf_"ih#^^�]^`m�jf�sd] r[hf,. �LZf_"ih`#p�]^`m�jf�sd] r[hf^if Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿ(]^`m�jf�sd] r[hf,. �LZf_"ih`^iih^`m�jf�sd] r[hf,. �LZf_"ih`#^fh^`m�jf�sd] r[hf,ip Zh_!k\mk!an�`lhoi` -!hj"gil_ ÿq^`m�jf�sd] r[hf,. LZf_"ih`#ipp]`m�jg�sd] r[hf,. LZf_"ih`#^i ]`m�jg�sd] r[hf,.pfZh_!k\mk!an�`lhoi` -!hj"gil_ ÿf`m�jg�sd] r[hf,. LZf_"ih`#^pff�m�jg�sd] r[hf,. LZf_"ih`#^ipZ�m�jg�sd] r[hf,. f h_!k\mk!an�`lhoj` -!hj"gil_ ÿ%m�jg�sd] r[hf,. LZf_"ih`#^if \�jg�sd] r[hf,. LZf_"ih`#^ipfh\�jg�sd] r[hf,. Z_!k\lk!an�`lhoj` -!hj"gil_ ÿe�jg�sd] r[hf,. LZf_"ih`#^ip ZZ]jg�sd] r[hf,. LZf_"ih`#^ipf _]jg�sd] r[hf,. LZh!k\lk!an�`lhoj` -!hj"gil_ ÿfjg�sd] r[hf,. LZf_"ih`#^hpfZhh_g�sd] r[hf,. LZf_"ih`#^hpf Z!_g�sd] r[hf,. LZh_k\lk!an�`lhoj` ,!hj"gil_ ÿhg�sd] r[hf,. LZf_"ih`#^hpg h__l�sd] r[hf,. LZf_"ih`#^hpg Zhkl�sd] r[hf,. LZf_!\lk!an�`lhoj` ,!hj"gil_ ÿu�sd] r[hf,. LZf_"ih`#^hpg Z_!!�sd] r[hf,. LZf_"ih`#^hpg Zh_\�sd] r[hf,. LZf_!klk!`n�`lhoj` ,!hj"gil_ �ÿ'sd] r[hf,. LZf_"ih`#^hpg Zh!kkid] r[hf,. LZf_"ih`#^hpg Zh_!lid] r[hf,. LZf_"k\k!`n�`lhoj` ,!hj"gil_ �ÿrd] r[hf,. LZf_"ih`#^hpg Zh_k\\f] r[hf,. LZf_"ih`#^hpg Zh_!kkf] r[hf,. LZf_"i\l!`n�`lhoj` ,!hj"gil_ �ÿo] r[hf,. LZf_"ih`#^hpg Zh_!\ll� r[hf,. LZf_"ih`#^hpg Zh_!k\!� r[hf,. LZf_"ihlk`n�`lhoj` ,!hj"gil_ �ÿ& r[hf,. LZf_"ih`#^hph Zh^!klkkrr[hf,. LZf_"ih`#^hph Zh^!k\l`rr[hf,. LZf_"ih`k!n�`lhoj` ,!hj"gil_ �ÿ{r[hf,. LZf_"ih`#^hph Zh^!k\k!!c[hf,. LZf_"ih`#^hph Zh^!k\lknc[hf,. LZf_"ih`#!`�`lhoj` ,!hj"gil_ �ÿl[hf,. LZf_"ih`#^hph Zh^!k\l!``\hf,.� LZf_"ih
Finally it becomes completely nonsense, it seems to go forever, so I aborted it:
`#^hph Zh^!k\lk!�\hf,.� LZf_"ih`#^`n`lhoj` ,!hj"gil_ �ÿehf,.� LZf_"ih`#^hph Zh^!k\lk`nn�f,.� LZf_"ih`#^hph Zh^!k\lk!``�f,.� LZf_"ih`#^hn�lhoj` ,!hk"gil_ �ÿ(f,.� LZf_"ih`#^hph Zh^!k\lk!n��q,.� LZf_"ih`#^hph Zh^!k\lk!`nlq,.� LZf_"ih`#^hp�`hoj` ,!hk"gil_ �ÿz,.� LZf_"ih`#^hph Zh^!k\lk!`�``ÿZ.� LZf_"ih`#^hph Zh^!k\lk!`n�hÿZ.� LZf_"ih`#^hph`loj` ,!hk"gil_ �c.� LZf_"ih`#^hph Zh^!k\lk!`n`llh� LZf_"ih`#^gph Zh^!k\lk!`n�`oh� LZf_"ih`#^gph lhj` ,!hk"gil_ �q� LZf_"ih`#^gph Zh^!k\lk!`n�lhhf LZf_"iha#^gph Zh^!k\lk!`n�`ljf LZf_"iha#^gph Zho` ,!hk"gil_ �o LZf_"iha#^gph Zh^"k\lk!`n�`hooy,LZf_"iha#^gph Zh^"k\lk!`n�`lh`y,LZf_"iha#^gph Zhoj ,!hk"gil` �5LZf_"iha#^gph Zh^"k\lk!`n�`lojjb.Zf_"iha#^gph Zh^"k\lk!`n `lho b.Zf_"iha#^gph Zh^j`,!hk"gil` �7Zf_"iha#^gph Zh^"k\lk!`n `lhj``p�f_"iha#^gph Zh^"k\lk!`n `lhoj,p�f_"iha#^gph Zh^"` !hk"gil` ��ÿ�f_"iha#^gph Zh^"k\lk!`n `lho` n _"iha#^gph Zh^"k\lk!`n `lhoj`!n _"iha#^gph Zh^"k ,hk"gil` ��ÿ)_"iha#^gph Zh^"k\lk!`n `lhoj ,,4L"iha#^gph Zh^"k\lk!`n `lhoj` h4L"iha#^gph [h^"k\,!k"gil` ��ÿU"iha#^gph [h^"k\lk!`n `lhoj`,!!6Ziha#^gph [h^"k\lk!`n `lhoj` ,k6Ziha#^gph [h^"k\l!h"gil` ��ÿciha#^gph [h^"k\lk!`n `lhoj` !hh�fha#^gph [h^"k\lk!`n `lhoj` ,!"�fha#^gph [h^"k\lkhkgil` ��ÿoha#^gph [h^"k\lk!`n `lhoj` ,hkk(_a#^gph [h^"k\lk!`n `lhoj` ,!hg(_a#^gph [h^"k\lk!k"il` ��ÿÿha#^gph [h^"k\lk!`n `lhoj` ,!k""T!#^gph![h^"k\lk!`n `lhoj` ,!hkiT!#^gph![g^"k\lk!`"gl` ��ÿÿ*#^gph![g^"k\lk!`n `lhoj`!,!h"ggbi^gph![g^"k\lk!`n `lhoj`!,!hk"lbi^gph![g^"k\lk!`ngi` ��ÿÿr^gph![g^"k\lk!`n `lhoj`!,!hkgiinhgph![g^"k\lk!`n `lhoj`!,!hk"g`nhgph![g^"k\lk!`n il ��ÿÿqgph![g^"k\lk!`n `lhoj`!,!hk"illgaph![g^"k\lk!`n `lhoj`!,!hk"gi gaph![g^"k\lk!`n `l`��ÿÿjph![g^"k\lk!`n `lhoj`!,!hk"gl``)"h![g^"k\lk!`n `lhoj`!,!hk"gil)"h![g^"k\lk!`n `l` ��ÿÿ+h![g^"k\lk!`n `lhoj`!,!hk"gi` q^![g^"k\lk!`n `lhoj`!,!hk"gil`q^![g^"k\lk!`n `lh ��ÿÿg![g^"k\lk!`n `lhoja!,!hk"gil pg[g^"k\lk!`n
Truth Machine
,.[->+>+<<]++++++[->--------<]>[>[.]]
This is a bit boring, when the input is 0, it prints 0, when the input is 1, it goes on forever switching numbers:
111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
Looping counter
The looping counter is the best to show its mutating features:
+[>>[>]++++++++++++++++++++++++++++++++++++++++++[<]>[.>]++++++++++.----------<[<]<]
It behaves like this:
* ** *** **** ***** ****** ******* ******** ********* ********** *********** ************ ************* *************+ *************+* *************+** *************+*** *************+**** *************+***** *************+****** *************+******* *************+******** *************+********+ *************+********+* *************++*******+** *************++*******+*** *************++*******+**** *************++*******+****) *************++*******+****)* *************+++******+****)** *************+++******+****)*** *************+++******+****)**** *************+++******+***+)***** *************+++******+***+)**+*** *************+++***)**+***+(**+**** ******)******+++***)**++**+(**+***** ******)******+++)**)**++**+(**+****** ******)******+++)**(**++**+(**+******* ******)******+++)**(**++**+(**+******** ******)******+++)**(**++**+(**+********* ******)******+++)**(**++*)+(**+********** ******)******+++)**(**+++)+(**+*********** ******)******+++)**(**+++)+(**+*)********** ******)******+++)**(**+++)+(**++)**********ÿ* ******)******+++)**(**+++(+(**++)**********ÿ** ******)******+++)**(**+++(+(**++)**********ÿ*** ******)*****)+++)**(**+++(+(**++)**********ÿ**** ******)*****)+++)**(**+++(+(**+,)****)*****ÿ***** ****+*)*****(+++)**(**++*(+(**+,)****)*****ÿ****** ****+*)*****(+++)+*(**++*(+(**+,)****)*****ÿ*****)* ****+*)*****(+++)+*(**++*(+(**+,))***)*****ÿ*****)*, ****+*)*****(+++)+*(**++*(+(**+,))***)*****ÿ*****)*,* ****+*)*****(+++)+*(**++*(+(**+,))***)***+*ÿ*****)*,** ****+*)*****(+++)+*(**++*)+(**+,)****)***+*ÿ****+)*,*** ****+*)*****(+++)+*(**++*)+(**+,)****)***+*ÿ****+)*,**** ****+*)*****(+++)+*(**++*)+(**+,)****)***+*ÿ****+)*,***** ****+*)*****(+++)+*(**++*)+(**+,)****)***+*ÿ****+)*,****)* ***)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ****+)*,****)** ***)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ****+)*,****)*** )**)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ****+)*,****)**** )**)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ***++)*,****)***** )**)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ***++)*,****)****** )**)+*)*****(+++)+*(**+,*)+(**+,)****)***+*ÿ***++)*,****)******* )**)+*)*****(+++)+)(**+,*)+(**+,)**)*)***+*ÿ***++)*,****)******** )**)+*))****(++,)+)(**+,*)+(**+,)**)*)***+*ÿ***++)*,****)********* )**)+*))****(++,)+)(**+,*)+(**+,)**)*)***+*ÿ***++)*,****)********** )**)+*))****(++,)+)(**+,*)+(**+,)**)*)*+*+*ÿ**)+,)*,****)*********** ))*)+*))****(++,)+)(**++*)+(**+,)**)))*+*+*ÿ**)+,)*,****)************ ))*)+*))****(+*,)+)(**++*)+(**+,)**)))*+*+* ))*)+*))****(+*,)+)(**++*)+(**+,)**)))*+*+***))+,)*,****)************* ))*)+*))****(+*,)+)(**++*)+(**+,)**)))*+*+***))+,)*,****)************** ))*)+*))****(+*,)+((**++*)+(**+,)**)))*+*+***))+,)*,*******************) ))*)+*))****(+*,)+((**++*)+(**+,)**)))*+*+***))+,)*,*******************)* ))*)+*))****(+*,)+((**++*)+(**+,)**)))*+*+*+*))+,)*,*******************)** ))*)+*))****(+*,)+(()*++*)+(**+,)**)))*+*+*+*))+,)*,*******************)*** ))*)+*()****(+*,)+(()*++*)+(**+,)**)))*+*+*+*))+,)*,*******************)**** ))*)+*()****(+*,)+(()*++*)+(**+,(**)))*+*+*+*))+,)*,**+**+*************)***** ))*)+*()****(+*,)+(()*++*)+(**+,()*)))*+*+*+*))+,)*,**+**+*************)****** ))*)+*()****(+*,)+(()*++*)+(**+,()*)))*+*+*+*))+,))+**+**+*************)**+**** ))*)+*()****(+*,)+(()*++*)+(**+,()*)))*+*+*+*))+,))+**+**+*************)**+***** ))*)+*()****(+*,)+(()*++*)+(**+,()*)))*+*+*+*))+,))+**+**+*************)**+****** ))*)+*()***)(+*,)+(()*++*)+(**+,()*)()*+*+*+*))+,))+**+**+*************)**+******* ))*)+*()***)(+*,)+(()*++*)+(**+,()*)()*+*+*+*))+,))+**,**+*************)**+******** ))*)+*()***)(+*,)+(()*++*)+(**+,()*)()*+*+*+*))+,))+**,**+*************)**+********* ))*)+*()***)(+*,)+(()*++*)+(**+,()*)()*+)+*+*))+,))+**,**+*********)***)**+********** ))*)+*((***)(+*,)+(()*++*)+(**+,()*)()*+)+*+*))+,))+**,**+*********)***)**+*********** *)*)+*()***)(+*,)+(()*++*)+(**+,()*)()*+)+*+*))+,))+**,**+*********)***)**+******+***** *)*)+*()***)(+*,)+(()*++*)+(*++,()*)()*+)+*+*))+,))+**,**+*********)***)**+******+****** *)*)+*()***)(+*,)+(()*++*)+(*++,()*)()*+)+*+*))+,))+**,**+*********)***)*********+)****** *)*)+*()***)(+*,)+(()*++*)+(+++,()*)()*+)+*+*))+,))+**,**+*********)*+*)*********+)******* *)*)+*()***)(+*,)+(()*++*)+(+++,()*)()*+)+*+**)+,))+**,**+*********)*+*)*********+)******** *)*)+*()***)(+*,)+(()*++*)+(+++,()*)()*+)+*+**)+,))+**,**+*********)++*)*********,)********* �ÿ*)*)+*()***)(+*,)+(()*++*)+(+++,()*)()*+)+*+**)+,)),**,**+*********)++*)*********,)*****)****
Then terminates.
A+B problem
Program is here:
>,[----------------------------- --->+<[>>+++++++++[>>>[<+>->[>]> [>]+[<]<[<]>]<<[->+<<]<-]>>>[>]+ [>]<-<[<]<<<<----------------[>> >>>[>]+[<]<<<<-]>>]>[->>>>[-<<<< <+>>>>>>]<<<<+>>]<<-<,]>>>>>[-<< <<<+>>>>>>]<<----------<<<<[[<]> ->[>]>>+[>[+<-]<[->---------<<]> +>[<-]<[->---------->>+<]>]>[<<< ]<]>>>>[>>>]<<<[++++++++++++++++ ++++++++++++++++++++++++++++++++ ++++++++++.<<<]
Supports any number of numbers adding.
The following output shows the output of input 123 45 67
.
;;;<;<;;; 29;;;;;;:;;<;;;;;;B 118;;<
Python interpreter
You can change the rates yourself to be crazier (or less crazier)!
import sys from random import uniform def bf(code): incrate=0.001 decrate=0.001 s1=[] s2=[] matches={} tape=[0]*1000000 for i,j in enumerate(code): if j=='[': s1.append(i) if j==']': m=s1.pop() matches[m]=i matches[i]=m cp=0 p=0 while cp<len(code): k=uniform(0,1) if k<incrate: tape[p]=(tape[p]+1)%256 elif k<incrate+decrate: tape[p]=(tape[p]-1)%256 if code[cp]=='+': tape[p]=(tape[p]+1)%256 if code[cp]=='-': tape[p]=(tape[p]-1)%256 if code[cp]==',': c=sys.stdin.read(1) tape[p]=(ord(c) if c else 0)%256 if code[cp]=='.': print(chr(tape[p]),end='') if code[cp]=='<': p-=1 if code[cp]=='>': p+=1 if code[cp]=='[': if not tape[p]: cp=matches[cp] if code[cp]==']': if tape[p]: cp=matches[cp] cp+=1 bf(sys.stdin.read())