Braindrunk

From Esolang
Jump to navigation Jump to search

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

Program

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())