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.799.7
GPT-6 AstraComplete evidence288.871.799.0
Claude Opus 5.5Complete evidence387.650.799.4
Claude Fable 5.1Complete evidence487.163.297.9
GPT-6.1 SolComplete evidence584.948.897.9
GPT-6.1 Terra ProComplete evidence682.333.695.9
Gemini 4 ArgonComplete evidence781.757.797.0
GPT-6.1 TerraComplete evidence881.260.196.8
Kimi K3.1 ProComplete evidence978.314.795.0
Claude Opus 5Complete evidence1076.545.294.5
GPT-6 SolComplete evidence1173.010.193.3
GPT-5.6 SolComplete evidence1267.038.788.1
Claude Fable 5Complete evidence1365.820.693.0
Muse WonderComplete evidence1464.817.292.1
GLM-5.3Complete evidence1564.60.093.7
Grok 4.7Complete evidence1663.60.092.6
DeepSeek V4.1 Flash 1017Complete evidence1761.332.481.4
Claude Sonnet 5.5Complete evidence1860.414.099.3
Grok 4.6Complete evidence1959.412.183.9
Gemini 3.8 FlashComplete evidence2059.039.086.6
Particle-1Complete evidence2158.124.791.3
Muse Spark 1.3Complete evidence2257.725.282.0
GLM-5.3 FlashX LegalComplete evidence2357.10.093.3
Grok 4.5Complete evidence2456.715.289.2
GLM-5.3 FlashXComplete evidence2556.216.582.3
Claude Haiku 5.5Complete evidence2656.015.291.8
Muse Spark OpenComplete evidence2755.331.191.1
GLM-5.3 FlashComplete evidence2854.916.579.2
Qwen3.8 Max 0902Complete evidence2954.225.190.9
GPT-5.4Complete evidence3053.40.097.3
Qwen3.8 2.4T A95BComplete evidence3152.831.387.4
DeepSeek V4.1 FlashComplete evidence3252.624.179.9
Muse Spark 1.2Complete evidence3351.518.184.7
Gemini 3.6 FlashComplete evidence3450.717.981.5
Ox AlphaComplete evidence3550.618.172.5
Hy4 PreviewComplete evidence3650.40.085.7
Ember-1Complete evidence3750.210.087.2
Qwen3.8 MaxComplete evidence3849.621.188.6
Claude Opus 4.8Complete evidence3949.40.084.4
Gemini 3.5 FlashComplete evidence4049.411.689.8
GPT-5.5Complete evidence4149.20.084.9
Mistral Large 4 (Oct 29)Complete evidence4248.20.084.6
Kimi K3Complete evidence4348.00.092.2
GPT-6 LunaComplete evidence4447.516.283.5
Claude Opus 4.5Complete evidence4547.131.674.4
Claude Sonnet 5Complete evidence4646.621.978.1
GPT-5.6 TerraComplete evidence4745.60.077.2
Gemini 3.1 Pro PreviewComplete evidence4844.614.087.1
GLM-5.2Complete evidence4943.110.475.3
Beam 1.0 501B A23BComplete evidence5042.80.079.7
DeepSeek V4 Pro 0813Complete evidence5141.90.077.2
Mercury 3Complete evidence5241.40.076.4
GPT-5Coverage incomplete: one or more documented settings are untested or ineligible5341.30.072.4
DeepSeek V4 ProComplete evidence5441.00.080.2
GPT-5.6 LunaComplete evidence5540.25.781.1
Minimax M3.1 FlashCoverage incomplete: the provider capability record is unavailable5636.60.070.2
Seed 2.0 CodeComplete evidence5735.00.084.4
DeepSeek V4 FlashComplete evidence5834.10.079.3
o3Complete evidence5934.10.056.5
Qwen3.8 27BCoverage incomplete: generation quality is below the publication threshold6033.20.076.1
Space Bunny AlphaComplete evidence6132.30.072.2
Nemotron 3 Ultra 550B A55BCoverage incomplete: one or more documented settings are untested or ineligible6231.80.086.2
Gemini 3.5 Flash LiteComplete evidence6331.110.260.1
Inkling SmallComplete evidence6429.25.055.5
Muse Glimmer 30BComplete evidence6528.60.048.2
GPT-OSS 120BComplete evidence6628.50.055.8
InklingComplete evidence6725.60.047.5
Step 3.7 FlashComplete evidence6823.20.046.9
Mercury 2.5 PreviewComplete evidence6921.00.045.0
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 07016.20.079.1
Gemini 3.1 Flash LiteCoverage incomplete: one or more documented settings are untested or ineligible7115.10.041.8
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 model727.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 threshold731.50.037.2