TIS-100 Bench: Character Terminal

Render character codes into an image, treating zero as a newline. Character patterns and cursor position both need representation.

In TIS-100 Bench, 16 LLMs each had one attempt at this TIS-100 puzzle, with 45 minutes to find a working program and keep improving it, without seeing the community leaderboard. 11 of 16 models solved it. Together they found 11 new Pareto-frontier points beyond the community leaderboard.

11 / 16models solved it
654best LLM cycles (578 community)
11new frontier points

Records

ScoreCommunity bestBest LLMModel
Cycles578654Fable 5.1 · +13%
Nodes44GPT-6 Astra Ties record
Instructions2941GPT-6 Astra · +41%

Community records from the community leaderboard when we froze it. A record counts only after fresh-game replay and 100,000 passing random tests.

Pareto frontier

Pareto explorer

Lower is better ↙
Loading interactive Pareto explorer…
Community leaderboardModel frontier pointNew frontier point
Select a point with the mouse or keyboard to inspect its scores and program.

Search over time

Loading puzzle trajectories…

Every model

ModelSolvedBest cyclesBest nodesBest instructionsNew frontier points
01Gemini 4 ArgonYes6554434
02GPT-6.1 SolYes6704464
03Opus 5.5Yes6864434
04GPT-6 AstraYes6744412
05Fable 5.1Yes654767—
06Gemini 3.8 FlashYes721550—
07Haiku 5.5Yes852762—
08Sonnet 5.5Yes872547—
09Muse Wonder 1.0Yes919770—
10Kimi K3.1 ProYes1,032671—
11Grok 4.7Yes1,052666—
12DeepSeek V4.1 FlashNo————
13GLM-5.3No————
14MiMo-V2.6-ProNo————
15Muse Spark 1.3No————
16GPT-6 LunaNo————

Best scores can come from different programs. New frontier points are not matched or beaten on all three scores by any community program.

Best model programs

These programs are in TIS-100 save format and released under the MIT License. All of this puzzle’s model programs are on GitHub and Hugging Face.

Fable 5.1 Fewest cycles

654 cycles · 8 nodes · 71 instructionsNEXUS.14.781.3.654-8-71.txt on GitHub

Fable 5.1 program running on NEXUS.14.781.3 in TIS-100
Node 0
L: MOV UP, ACC
MOV ACC, DOWN
MOV ACC, RIGHT
JEZ R
SWP
ADD 1
SUB 10
JEZ NL
ADD 10
SWP
JMP L
NL: MOV 0, DOWN
MOV 0, RIGHT
R: SAV
Node 1
MOV LEFT, DOWN
Node 3
L: MOV UP, ACC
ADD ACC
ADD 1
JRO ACC
MOV 6, DOWN
JMP L
MOV 12, DOWN
JMP L
MOV 1, DOWN
JMP L
MOV 8, DOWN
JMP L
MOV 12, DOWN
Node 4
L: MOV UP, ACC
JEZ Z
MOV 3, RIGHT
SUB 4
JNZ N
MOV 1, DOWN
JMP L
N: MOV 2, DOWN
JMP L
Z: MOV 1, RIGHT
Node 5
MOV LEFT, DOWN
Node 6
L: JRO UP
MOV ACC, RIGHT
ADD 1
MOV ACC, RIGHT
ADD 2
JMP L
NL: SUB ACC
JMP L
ADD 1
MOV ACC, RIGHT
SUB 1
JMP A2
MOV ACC, RIGHT
A2: MOV ACC, RIGHT
ADD 3
Node 7
MOV LEFT, DOWN
MOV RIGHT, DOWN
MOV 3, DOWN
JRO UP
MOV 3, DOWN
MOV -1, DOWN
MOV LEFT, DOWN
MOV RIGHT, DOWN
MOV 3, DOWN
MOV -1, DOWN
Node 8
L: JRO UP
ADD 3
JMP L
MOV ACC, LEFT
ADD 1
MOV ACC, LEFT
SUB 1

Gemini 4 Argon Fewest nodes

794 cycles · 4 nodes · 53 instructionsNEXUS.14.781.3.794-4-53.txt on GitHub

Gemini 4 Argon program running on NEXUS.14.781.3 in TIS-100
Node 0
MOV UP, ACC
JEZ NL
MOV ACC, DOWN
SWP
MOV ACC, DOWN
SUB 27
JNZ OK
NL:MOV 0, DOWN
SUB 30
OK:ADD 30
SWP
Node 3
S: MOV UP, ACC
JEZ NL
SUB 3
JEZ C3
MOV UP, DOWN
ADD 3
MOV ACC, DOWN
JMP S
C3:MOV 1, ACC
ADD UP
MOV ACC, DOWN
MOV 6, DOWN
JMP S
NL:MOV -1, DOWN
Node 6
S: MOV UP, ACC
JLZ NL
MOV ACC, RIGHT
JRO UP
JMP P2
ADD 1
JMP P2
MOV 1, RIGHT
JMP B
SUB 1
P2:MOV 2, RIGHT
B: MOV ACC, RIGHT
JMP S
NL:MOV 0, RIGHT
MOV 9, RIGHT
Node 7
MOV LEFT, DOWN
MOV ACC, DOWN
JRO LEFT
MOV 3, DOWN
MOV 3, DOWN
MOV -1, DOWN
MOV LEFT, DOWN
ADD 1
MOV ACC, DOWN
MOV 3, DOWN
SUB 4
ADD 3
MOV -1, DOWN

GPT-6 Astra Fewest instructions

817 cycles · 5 nodes · 41 instructionsNEXUS.14.781.3.817-5-41.txt on GitHub

GPT-6 Astra program running on NEXUS.14.781.3 in TIS-100
Node 0
MOV UP DOWN
Node 3
L: MOV UP ACC
JNZ C
N: MOV 1 DOWN
SAV
JMP L
C: MOV ACC RIGHT
SWP
MOV 3 DOWN
MOV ACC DOWN
MOV ACC DOWN
SUB 27
JEZ N
ADD 30
SWP
Node 4
L: MOV LEFT ACC
SUB 3
JGZ W
MOV ACC DOWN
ADD 1
JGZ B
MOV ACC DOWN
JMP L
W: MOV 3 DOWN
B: MOV -1 DOWN
Node 6
L: JRO UP
ADD 3
JMP L
MOV UP RIGHT
MOV ACC RIGHT
MOV UP RIGHT
ADD 1
MOV ACC RIGHT
SUB 1
Node 7
MOV LEFT DOWN
MOV UP ACC
MOV LEFT DOWN
JLZ A
MOV ACC DOWN
A: MOV 3 DOWN
MOV -1 DOWN