v0.1 · initial

Retrobench — AI model decompilation benchmark and leaderboard

Byte-identical or it doesn't count.

Retrobench measures whether an AI agent can genuinely reverse-engineer compiled code. Each task hands the agent the raw MIPS assembly of an N64-era game function; the agent must write C that, recompiled with the original 1990s IDO compiler, reproduces the original machine code byte for byte. The score is the byte-match percentage against the original object — 100% means a perfect match.

Results

Mean byte-match across 5 targets. Iterative mode: agents compile, diff, and retry against the target binary.

#
Model
Byte match (%)
Score
1
Claude Fable 5Claude Code
82.2
2=
GPT-5.6 SolCodex CLI
≈61
2=
GPT-5.6 TerraCodex CLI
≈61
4
Claude Opus 4.8Claude Code
57.4
5
Claude Sonnet 5Claude Code
51.3
6
Claude Haiku 4.5Claude Code
30.1

Sol and Terra (=) are a tie for 2nd — their 0.3-point gap is within single-run noise (one run each, same model family and effort), so they're shown as ≈61. Effort was not normalized: GPT-5.6 ran at high reasoning effort, Claude models at defaults. The two hardest non-leaked targets have no demonstrated 100% solution, so their ceilings are unproven.

Why trust this benchmark?

Retrobench asks an agent to do what human decompilers do: read the compiled assembly of a real N64 game function and write C that rebuilds to the original object, byte for byte.

Why it's a sound benchmark

The grader is a byte comparison, not an opinion.

A submission scores 100 only if the recompiled object is bit-identical to the original. No LLM judge to sweet-talk, no tests to overfit, no partial credit for "plausible" code — the check can't be argued with or reward-hacked.

Contamination is measured, not assumed away.

Targets split into leaked (decompiled source in training data) and non-leaked (a title that isn't). The gap between them directly quantifies how much of a score is memory versus skill.

Memorization is actively punished.

One leaked target is a non-canonical variant, so recalling the famous source produces the wrong answer. Regurgitators score 16; models that verify against the binary and self-correct reach 76–100.

It separates capability tiers cleanly.

Suite means run 82.2 · ≈61 · 57.4 · 51.3 · 30.1 with clear gaps between tiers — sibling models within a family land within run-to-run noise of each other, but the tiers don't overlap. On the key non-leaked target the spread runs 19 → 63 → 68 → 76 → 77 → 100.

There is proven headroom.

The best model's overall score is 82.2, and the two hardest targets top out at 86.7% and 24.2% with no known 100% solution. Future models have room to demonstrate improvement, not just shuffle within a ceiling.

A perfect score is a real artifact.

Decompilation is genuine work — preservation, security research, modding — and a matched function is code that could merge into an actual project. With a deterministic compiler and exact byte compare, every score reproduces anywhere.

What it measures — and how well

Reverse-engineering optimized codegenmeasured sharply

Reconstructing register allocation, instruction scheduling, and stack layout from -O2 assembly with no source to lean on. The non-leaked frontier target spreads six models 19→100 with no ties.

Resistance to recall biasmeasured directly

Trusting the binary in front of you over a memorized source. On the non-canonical leaked target, pure recall scores 16; verification-driven models score 76–100.

Long-horizon endurancemeasured · small-N

Keeping a large module coherent across many compile-diff-fix cycles. On a ~1,600-instruction target the field collapses to ~0–2% and only the best model grinds out 24.2%. One target carries this signal today.

Iteration disciplinemeasured secondarily

Using the compile/diff loop efficiently instead of thrashing. Retries-to-match separate models even on targets everyone eventually solves — though it isn't yet a headline metric.

Calibrated self-reportingenforced by construction

A byte-identical oracle auto-falsifies any "it works" claim. Bluffing is impossible — though honesty isn't yet quantified as its own number.

Limitations & scope

These results come from a five-target, six-model reference run — enough to show the suite discriminates, not enough to call it a definitive leaderboard, and per-model effort settings were not normalized across vendors. The two hardest targets have no proven 100% solution, so their true ceilings are unknown. Everything here is one compiler and one architecture (N64/MIPS/IDO); generalization to other toolchains — GameCube/PowerPC, GBA/ARM, PS1 — is planned but not yet measured, and neither is anything outside decompilation itself.

Target games and function names are never disclosed, to keep future training runs from contaminating the benchmark.

The 5 targets

Codenames only; games and functions are undisclosed. Bars are byte-match % by model; ✓ marks a perfect byte-identical match.

PEBBLELeakedUnoptimizedDifficulty: Baseline

A tiny leaf function with no calls — the sanity floor of the suite.

Probes: the basic loop — read assembly, write C, compile, diff, match.

Haiku 4.5
Sonnet 5
Opus 4.8
GPT-5.6 Sol
GPT-5.6 Terra
Fable 5

Best: 100% · all models

ATLASLeakedUnoptimizedDifficulty: Moderate

A large ~37-function module from a title in training data — but a non-canonical variant, so the memorized source is wrong.

Probes: sustained multi-function work and verifying against the binary instead of trusting recall.

Haiku 4.5
16.3
Sonnet 5
75.9
Opus 4.8
GPT-5.6 Sol
GPT-5.6 Terra
99.8
Fable 5

Best: 100% · Opus 4.8, GPT-5.6 Sol, Fable 5

FORGENon-leaked-O2Difficulty: Hard

A mid-size optimized function with many external calls, from a title absent from training data — the suite's main discriminator.

Probes: genuine reverse-engineering of optimizer output and reconstructing call interfaces with no source to lean on.

Haiku 4.5
19.2
Sonnet 5
63.0
Opus 4.8
68.1
GPT-5.6 Sol
76.1
GPT-5.6 Terra
77.3
Fable 5

Best: 100% · Fable 5

TEMPESTNon-leaked-O2Difficulty: Very hard

A larger optimized function mixing floating-point math and spatial logic.

Probes: reasoning about FP code generation, register allocation, and instruction scheduling in aggressively optimized code.

Haiku 4.5
14.7
Sonnet 5
16.5
Opus 4.8
16.6
GPT-5.6 Sol
27.0
GPT-5.6 Terra
28.3
Fable 5
86.7

Best: 86.7% · Fable 5 (no proven 100%)

COLOSSUSNon-leaked-O2Difficulty: Extreme

A very large (~1,600-instruction) graphics-pipeline module; the suite's headroom target.

Probes: long-horizon endurance — holding a large optimized module coherent across many compile-diff-fix iterations.

Haiku 4.5
0.4
Sonnet 5
1.1
Opus 4.8
2.2
GPT-5.6 Sol
0.8
GPT-5.6 Terra
0.1
Fable 5
24.2

Best: 24.2% · Fable 5 (no proven 100%)

Built by Sinan Onur Altınuç

LinkedIn@sinanonurPrometheusAIContact