All models as a static table

Chart controls

Models

The 12 highest-ranked models are shown at first; All shows every model with an official Overall rank. Partial results keep their rank; the icon explains what evidence is incomplete.

Reasoning view applies to every chart; Reasoning effect and Economics per reasoning setting always show all three settings. Click or tap a bar, point or cell, or press Enter on it, to pin its details.

Compare two entries

Select two models to inspect their evidence together.

Who leads on the chosen metric?

Selected models, ordered by the Rank by choice above; on the leaderboard score the number is each model's official rank

How to read this chart

Headline score is the public leaderboard score; the other Rank by choices show diagnostic views when the selected models have that data.

How consistent is each model from game to game?

All settings: each dot is one game (averaged across settings); the ring is the model's headline score, where each failed generation attempt counts as 0

What does a score cost to generate?

Generation cost per player against headline score; the line marks the best value

How to read this chart

Cost is the generation cost per player program: the equal-weight mean over each model's unique game and reasoning-setting cells, on economics-eligible games only. Each tooltip names its evidence basis (billed, provider-reported, or an estimate from list prices, which is not an invoice) with the median and run count. The score is the headline score on the same games: each failed generation attempt counts as 0, and its cost is included. Every model on this page is a point; the selected models are named. The best-value line runs through the points with complete cost evidence that no other such point matches or beats, that is, none costs the same or less and scores as high, in Per reasoning setting over every model and setting; hollow markers have incomplete cost evidence (known charges only), never join the line and are left out of that comparison. The cost axis is logarithmic, so a cost of $0 sits in its own lane left of the axis break: filled when no charge was recorded on complete evidence, hollow when the evidence is incomplete and the true cost unknown. “All settings” combines the public reasoning settings; Baseline, Balanced and Intensive each select the provider setting assigned to that role for each model, and Per reasoning setting always shows all three. Output-token and API-latency views are under More charts.

How much does more reasoning help each model?

Each row shows one model's three settings (headline score, 0–100; each failed generation attempt counts as 0); Gain is Intensive minus Baseline.

How to read this chart

Baseline, Balanced and Intensive are each model's own lowest, middle and highest tested provider settings, so the literal setting differs between models; hover a marker or open the numbers to see it. A heavier setting can score lower than a lighter one.

How often does each model write a player program that works?

How each model's generation attempts ended, all reasoning settings pooled

How to read this chart

Each bar counts one model's generation attempts in the active reasoning view. Each failed attempt counts as 0 in the headline score, so a model with failures has a headline score below its working-program strength. A program rejected only for being too slow does not play and does not count; attempts that failed for reasons outside the model's code, such as provider, API or test-machine faults, are left out. Working gives the working programs out of the counted attempts.

Does code that works also play well?

Each point is one model on this page; selected models are named

How to read this chart

Program success rate is working programs divided by counted attempts, from the same counts as Program reliability: an attempt counts when it produced a working program or failed in the model's own code; a program rejected only for being too slow, and an attempt lost to a provider, API or test-machine fault, does not count. Working-program strength is the score of the programs that worked, with failed attempts left out (the leaderboard's column of the same name); All settings pools the three settings' attempts and averages the strengths of the settings that have one, as the Overall score averages its setting scores. Marker area shows how many counted attempts a rate rests on, so 100% from eight attempts reads as weaker evidence than 100% from 24. A model without a rated working program has no strength: it is listed under the chart, not drawn.

Where is each model strong or weak?

Headline score per game, averaged across reasoning settings; each failed generation attempt counts as 0

How to read this chart

Values use one colour, faint for low and strong for high. Difference from a model shows each value minus the chosen model's value in the same game, setting and score type, on a scale centred on 0: above 0 (blue) the row model scores higher, below 0 (orange) lower; it compares two published values and ranks nothing. A cell without a value says why: fail, every counted attempt failed (the headline score counts it as 0); slow, rejected by the speed check and not counted; excl, lost to a provider, API or test-machine fault and not counted; wait, a working program not rated yet; –, not tested; and in difference mode n/a, the chosen model has no value for that game.

Who beats whom?

Combined view across tested provider settings.

How to read this chart

Each cell is the row model's score against the column opponent: wins plus half the draws, as a share of their matches (W-L-D in the tooltip), so the two cells of a pair add up to 100. Use Reasoning view to show one reasoning setting.

Less-used views open on demand, so the page stays short.

Game spread Which games separate the selected models most
How to read this chart

Each row is one game; dots are the selected models' working-program strength in the active reasoning view (failed generation attempts left out). Games are ordered by the standard deviation of those scores, shown at the right: a wide spread means the game separates stronger from weaker programs, a narrow one that the selected models play it about equally well.

Cycle detector Non-transitive matchups between selected models
How to read this chart

What it finds: Leaderboard averages can hide matchup loops. The detector searches the currently selected models and reasoning view for cases where A outperforms B, B outperforms C, and C outperforms A.

How to read it: In A → B → C → A, each arrow points from the model with the higher pair score to the model it outscored. Each result lists its three edges with their pair score and win-loss-draw record.

Each arrow requires at least four matches and a pair score above 50%, with a draw counting as half a win. Results are ordered by the cycle’s weakest edge: weakest edge +x pp is the smallest of the three margins above 50%, while n is the total match count across all three edges. The detector shows up to ten cycles. These are descriptive matchup patterns, not tests of statistical significance. “No cycles” means none met these rules in the current selection and reasoning view; it does not prove that the matchups are transitive.

Output tokens and API latency How much each model wrote, and how fast
How to read this chart

Output tokens and API latency are generated-code and repair response telemetry on economics-eligible games; latency excludes local validation and compile probe time. These axes are logarithmic.

Static rankings — current page release

This table remains available without chart scripts. It describes this page's release; restoring a requested comparison and its filters requires JavaScript. Open benchmark rankings for the detailed tables.

Overall leaderboard scores

All officially ranked Overall models from the same data as the interactive charts. Partial rows keep their official rank and show that their evidence is incomplete.

Model Evidence status Rank Mean Min Max
Claude Fable 5.2Complete evidence195.078.899.8
Gemini 4 CarbonComplete evidence290.162.799.1
GPT-6 AstraComplete evidence388.871.598.9
Claude Opus 5.5Complete evidence487.650.999.4
Claude Fable 5.1Complete evidence587.163.398.0
GPT-6.1 SolComplete evidence684.950.297.8
GPT-6.1 Terra ProComplete evidence782.433.395.7
Gemini 4 ArgonComplete evidence881.657.796.6
GPT-6.1 TerraComplete evidence981.160.396.5
Kimi K3.1 ProComplete evidence1078.315.094.9
Gemini 4 HydrogenComplete evidence1178.338.899.1
Claude Opus 5Complete evidence1276.646.294.6
GPT-6 SolComplete evidence1373.010.293.2
GLM-5.3Complete evidence1467.438.793.5
GPT-5.6 SolComplete evidence1567.039.088.0
Claude Fable 5Complete evidence1665.720.893.4
Muse WonderComplete evidence1764.817.391.8
Grok 4.7Complete evidence1863.70.092.5
Nex N2.6Complete evidence1962.026.589.4
DeepSeek V4.1 Flash 1017Complete evidence2061.432.581.3
Claude Sonnet 5.5Complete evidence2160.414.299.4
Grok 4.6Complete evidence2259.512.384.1
Gemini 3.8 FlashComplete evidence2359.038.786.6
Particle-1Complete evidence2458.024.491.6
Muse Spark 1.3Complete evidence2557.624.981.3
GLM-5.3 FlashX LegalComplete evidence2657.10.093.1
Grok 4.5Complete evidence2756.815.389.3
GLM-5.3 FlashXComplete evidence2856.217.182.3
Claude Haiku 5.5Complete evidence2956.015.391.3
Muse Spark OpenComplete evidence3055.231.490.5
GLM-5.3 FlashComplete evidence3154.916.379.2
Qwen3.8 Max 0902Complete evidence3254.225.790.7
GPT-5.4Complete evidence3353.50.096.8
Qwen3.8 2.4T A95BComplete evidence3452.831.387.6
DeepSeek V4.1 FlashComplete evidence3552.723.979.9
Muse EmberComplete evidence3651.70.085.4
Muse Spark 1.2Complete evidence3751.418.584.1
Gemini 3.6 FlashComplete evidence3850.617.981.3
Ox AlphaComplete evidence3950.518.072.4
Hy4 PreviewComplete evidence4050.50.085.6
Ember-1Complete evidence4150.110.086.8
Qwen3.8 MaxComplete evidence4249.621.688.7
Claude Opus 4.8Complete evidence4349.50.084.8
Gemini 3.5 FlashComplete evidence4449.411.789.6
GPT-5.5Complete evidence4549.40.084.6
Mistral Large 4 (Oct 29)Complete evidence4648.30.084.6
Kimi K3Complete evidence4747.90.092.1
GPT-6 LunaComplete evidence4847.515.983.7
Claude Opus 4.5Complete evidence4947.131.974.9
Claude Sonnet 5Complete evidence5046.522.078.2
GPT-5.6 TerraComplete evidence5145.60.076.7
Mercury 3Complete evidence5245.10.076.0
Gemini 3.1 Pro PreviewComplete evidence5344.513.987.3
GLM-5.2Complete evidence5443.110.575.3
Beam 1.0 501B A23BComplete evidence5542.80.080.2
DeepSeek V4 Pro 0813Complete evidence5641.90.076.9
GPT-5Coverage incomplete: one or more documented settings are untested or ineligible5741.30.072.3
DeepSeek V4 ProComplete evidence5841.00.080.5
GPT-5.6 LunaComplete evidence5940.36.681.2
Minimax M3.1 FlashCoverage incomplete: the provider capability record is unavailable6036.70.070.5
Seed 2.0 CodeComplete evidence6134.90.084.8
o3Complete evidence6234.10.056.4
DeepSeek V4 FlashComplete evidence6334.10.079.0
Qwen3.8 27BCoverage incomplete: generation quality is below the publication threshold6433.10.075.7
Space Bunny AlphaComplete evidence6532.40.072.1
Nemotron 3 Ultra 550B A55BCoverage incomplete: one or more documented settings are untested or ineligible6631.80.086.4
Gemini 3.5 Flash LiteComplete evidence6731.010.560.1
Inkling SmallComplete evidence6829.25.255.1
Muse Glimmer 30BComplete evidence6928.60.048.6
GPT-OSS 120BComplete evidence7028.50.056.0
InklingComplete evidence7125.60.047.8
Step 3.7 FlashComplete evidence7223.20.047.0
Mercury 2.5 PreviewComplete evidence7321.00.044.9
Hy4Coverage incomplete: every generation attempt of a reasoning setting reached the model's own output-token limit before finishing a program, so that setting scores 07416.20.078.9
Gemini 3.1 Flash LiteCoverage incomplete: one or more documented settings are untested or ineligible7515.10.041.7
Solar Mini 4Coverage incomplete: generation quality is below the publication threshold; some games need a new attempt: their only generation attempts failed because of our test setup or the provider, not the model767.80.044.0
Granite 4.2 8BCoverage incomplete: every generation attempt of a reasoning setting failed, so that setting scores 0; generation quality is below the publication threshold771.60.037.4