TIS-100 Bench: Prime Factor Calculator

Emit an input's prime factors in ascending order as a zero-terminated sequence. Trial division must preserve the remaining quotient.

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. 12 of 16 models solved it. Together they found 14 new Pareto-frontier points beyond the community leaderboard.

12 / 16models solved it
1,110best LLM cycles (409 community)
14new frontier points

Records

ScoreCommunity bestBest LLMModel
Cycles4091,110Opus 5.5 · +171%
Nodes33Fable 5.1 Ties record
Instructions2533Gemini 4 Argon · +32%

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
01Opus 5.5Yes1,11033711
02GPT-6 AstraYes3,8693342
03GLM-5.3Yes2,97291191
04Haiku 5.5Yes2,9769901
05Gemini 4 ArgonYes3,459333—
06Muse Wonder 1.0Yes3,5949122—
07Muse Spark 1.3Yes4,26410126—
08Fable 5.1Yes5,052342—
09Sonnet 5.5Yes5,372450—
10GPT-6.1 SolYes6,045338—
11Kimi K3.1 ProYes6,930340—
12Gemini 3.8 FlashYes8,102647—
13DeepSeek V4.1 FlashNo————
14Grok 4.7No————
15MiMo-V2.6-ProNo————
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.

Opus 5.5 Fewest cycles

1,110 cycles · 11 nodes · 124 instructionsNEXUS.20.433.1.1110-11-124.txt on GitHub

Opus 5.5 program running on NEXUS.20.433.1 in TIS-100
Node 0
L: MOV RIGHT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, DOWN
Node 1
S: MOV UP, ACC
T: MOV ACC, LEFT
NEG
M: ADD 8
MOV ACC, RIGHT
JLZ M
JNZ R
MOV 11, RIGHT
R: MOV RIGHT, ACC
JLZ O
MOV -2, LEFT
JMP T
O: MOV 0, LEFT
Node 2
ADD 4
JRO LEFT
JMP Z
JMP L1
JMP Z
JMP L2
JMP Z
JMP L3
Z: NEG
L3: SUB 1
L2: SUB 1
L1: SUB 1
MOV ACC, LEFT
MOV 0, ACC
Node 3
S: MOV UP, ACC
JLZ F
T: MOV ACC, RIGHT
NEG
M: ADD 9
MOV ACC, DOWN
JLZ M
JNZ R
MOV 11, DOWN
R: MOV DOWN, ACC
JLZ Z
MOV -3, RIGHT
JMP T
Z: MOV 0, ACC
F: MOV ACC, RIGHT
Node 4
L: MOV LEFT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, RIGHT
Node 5
S: MOV LEFT, ACC
JLZ F
T: MOV ACC, RIGHT
M: SUB 5
SWP
ADD 1
SWP
JGZ M
JLZ N
MOV -5, RIGHT
SWP
JMP T
N: MOV 0, ACC
SAV
F: MOV ACC, RIGHT
Node 6
L: MOV LEFT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, DOWN
Node 7
ADD 3
JRO UP
JMP Z
JMP Z
JMP L1
JMP Z
JMP Z
JMP L2
JMP Z
Z: NEG
L2: SUB 1
L1: SUB 1
MOV ACC, UP
MOV 0, ACC
Node 8
L: MOV RIGHT, ACC
JLZ F
SUB 1
JEZ Z
ADD 1
MOV ACC, DOWN
Z: MOV 0, DOWN
JMP L
F: NEG
MOV ACC, DOWN
Node 9
L: MOV RIGHT, ACC
JLZ F
JEZ R
SAV
JMP L
R: SWP
F: MOV ACC, LEFT
Node 10
S: MOV UP, ACC
JLZ F
T: MOV ACC, LEFT
M: SUB 7
SWP
ADD 1
SWP
JGZ M
JLZ N
MOV -7, LEFT
SWP
JMP T
N: MOV 0, ACC
SAV
F: MOV ACC, LEFT

Gemini 4 Argon Fewest nodes

6,608 cycles · 3 nodes · 37 instructionsNEXUS.20.433.1.6608-3-37.txt on GitHub

Gemini 4 Argon program running on NEXUS.20.433.1 in TIS-100
Node 1
MOV UP, ACC
S: SAV
MOV ACC, DOWN
MOV -1, ACC
L: ADD 1
JRO DOWN
SWP
JMP S
JEZ D
ADD 1
MOV 1, DOWN
JMP S
D: MOV 3, DOWN
Node 4
T: MOV UP, ACC
JMP S
L: MOV -1, DOWN
MOV -1, UP
S: SUB DOWN
JGZ L
JEZ D
MOV 1, UP
MOV -5, DOWN
JMP T
D: MOV 3, UP
MOV UP, DOWN
Node 8
S: MOV 2, ACC
JMP L2
L1: SUB 2
JGZ O
MOV -1, ACC
O: ADD 4
L2: MOV ACC, UP
JRO UP
MOV ACC, DOWN
JMP L2
MOV ACC, DOWN
MOV 0, DOWN

Gemini 4 Argon Fewest instructions

9,160 cycles · 3 nodes · 33 instructionsNEXUS.20.433.1.9160-3-33.txt on GitHub

Gemini 4 Argon program running on NEXUS.20.433.1 in TIS-100
Node 1
MOV UP, ACC
JMP S
F: SWP
S: SAV
MOV ACC, DOWN
MOV -1, ACC
L: ADD 1
JRO DOWN
JEZ D
ADD 1
MOV 1, DOWN
JMP S
D: MOV 3, DOWN
Node 4
T: MOV UP, ACC
JMP S
L: MOV -1, DOWN
MOV -1, UP
S: SUB DOWN
JGZ L
JEZ D
MOV -5, UP
MOV -2, DOWN
JMP T
D: MOV 1, UP
MOV UP, DOWN
Node 8
S: MOV 1, ACC
L1: ADD 1
L2: MOV ACC, UP
JRO UP
MOV ACC, DOWN
JMP L2
MOV ACC, DOWN
MOV 0, DOWN