BF言語を使って巨大数を記述するっていうのは鬼畜すぎるかな

使える命令は下の6つとする。
1.> ポインタをインクリメントし、次の命令へ
2.< ポインタをデクリメントし、次の命令へ
3.+ ポインタが指す値をインクリメントし、次の命令へ
4.- ポインタが指す値をデクリメントし、次の命令へ
5.[ ポインタが指す値が0なら、対応する ] の直後の命令までジャンプ
6.] ポインタが指す値が0でないなら、対応する [ にジャンプ
これら6つの命令を有限個、順番に並べたものをプログラムという。
参加者はプログラムPと、そのプログラムが終了するまでの
ステップ数の上限T(0以上の整数)を指定する。
メモリ番号は0以上T以下の整数、ポインタの初期値は0とする。
各メモリの値は0以上T以下の整数、初期値はすべて0とする。
プログラム終了後、ポインタが指す値を出力する。
(プログラム途中でポインタやポインタがさす値がマイナスになったり
 対応する括弧がなかっり、ステップ数がTを超えた場合は0を出力する。)
(出力値)÷(プログラムの長さ)をそのプログラムの評価値とする。
(ただし、プログラムの長さが0のときは、その評価値は0)
評価値のより高いプログラムを作成することを目標とする。

<長さがそれぞれ10,20,30のプログラムの中でおそらく最良と思われるもの>
長さ=10:プログラム=+10 出力値=10 評価値=1 ステップ数=10
長さ=20:プログラム=+7[>+7<-]> 出力値=49(=7*7) 評価値=2.45 ステップ数=92
長さ=30:プログラム=+5>+<[>[>+4<-]<-[>+<-]>]> 出力値=1024(=4^5) 評価値=34.133... ステップ数=3169
※ここで+nは+をn個並べたものを表す。