What open-weight models get wrong on analog and mixed-signal work, measured.

A design team considering an on-premises model wants one question answered: on our work, how often is it wrong, and how would we know. Published coding benchmarks do not answer it. They measure code that runs and is checked by tests, where a wrong answer throws an exception and announces itself. The published analog benchmarks score circuit questions and designs, and their results are in the second table below, with where we stand on repeating them. The failure that costs an analog team time is a different case, where nothing errors at all and a plausible wrong number goes downstream, and we found no benchmark that counts it separately.

So we built a harness that measures that case specifically, on analog and mixed-signal material, and we published its mistakes along with its results. The models we measured are not named on this page, and the section near the end says why. The published results keep the names their papers gave them.

Models change every few months and these numbers change with them. Keeping a team current on them is part of full support, the $2,500 monthly retainer, described after the second table.

The finding that should drive the decision Book a scoping conversation
17 of 30, then 90%
the same ten models and three questions. Asked to compute the number, with eight times the original reply budget, 17 of 30 came back right. Asked to write a script the harness runs, at the original budget, 81 of 90 were right
MEASURED
93% vs 97%
the ten open-weight models against the three closed references, correct over graded trials. Eight of the ten sit between 95 and 100 percent
MEASURED
11 s vs 275 s
estimated time to a correct answer for two models three accuracy points apart, on the same single card. Accuracy barely separates this field. Time separates it twenty-five fold
ESTIMATE
0.07 to 0.20 weeks
a year, per engineer, for a hundred-engineer fleet to break even on the workstation-class rows. The hardware is not what decides this
ESTIMATE

Every percentage on this page is a count over a count, and the counts are kept in the record behind it. A check that cannot decide returns not evaluable and never returns a pass. The thesis this work is held to: AI expands what one engineer can run and check. It does not change who decides.

The bottom line

On site, the cheapest setup we can recommend costs $42,000 up front and about $19,400 a year for a team of up to 25 engineers. Hosted behind the gate, the same team pays nothing up front and $700 to $5,750 a year.

route and modelour testsup front,
up to 25 engineers
a year,
up to 25 engineers
up front,
100 engineers
a year,
100 engineers
On site, open weights
Open-weight F97%1$42,0002$19,3832$100,0002$46,2902
Open-weight B100%1$74,0002$34,4322$190,0002$88,2462
Open-weight D100%1$116,0002$53,8142$237,5002$105,8732
Hosted, behind the gate
A frontier model in your own cloud account, or by API with zero data retention392 to 100%4$0$700 to $5,7505$0$2,800 to $23,0005
  1. Overall accuracy on our four tests, from the first table. These are the three open-weight models with the best accuracy that we can price. Row A also scored 100% on every test, but it publishes no parameter count, so its hardware cannot be costed yet. Row F's estimated median wait for a correct answer is 11 seconds, and its weak spot is arithmetic done in the reply (33%), which the script mode removes. Row B's wait is 14 seconds, on twice F's cards. Row D is right on all four tests, arithmetic included, and fits one card, but its wait is 275 seconds, so a team that wants faster answers buys more cards. AnalogCoder and the buck tasks run on these three next and can change the order.
  2. ESTIMATE from the break-even model under the third table: RTX PRO 6000 cards at $16,000 or H200 NVL at $31,500, plus hosts, sized for 20 answers per engineer per working day with the slowest tenth inside five minutes and one spare set, on whichever card comes out cheaper. A year means the capital spread over three years, plus power and upkeep. Up to about 25 engineers the fleet is one set of cards and the spare, so it costs the same for 5 engineers as for 25.
  3. Tiers 2 and 3 on The Offering. The gate, which I build with your team, holds back anything foundry-covered or design-identifying before a prompt leaves. Anthropic's commercial terms say it may not train models on customer content, and they treat that content as the customer's confidential information. Its API deletes inputs and outputs within 30 days by default, keeps content its safety systems flag or the law requires for longer, and offers zero data retention by agreement. Whether your foundry NDA allows any of it is your legal team's decision.
  4. The three closed references in the first table scored 92%, 100% and 100% overall, and the newest frontier model we ran solved all twelve of our buck tasks with no simulator.
  5. ESTIMATE from measured spend. Our hosted design tasks on 8 October 2026 cost $0.006 to $0.037 each, across three frontier models, alone and with the simulator. A datasheet-sized prompt of 20,000 tokens with a 1,000-token answer costs about $0.05 at the newest model's list price of $2 per million tokens in and $10 per million out. At the same 20 answers per engineer per working day over 230 working days, that is $28 to $230 per engineer a year.

Our measurements, in one table

Thirteen rows. Ten open-weight models that could in principle be installed on site, and three closed hosted models kept as reference and never treated as candidates, because a model whose weights are not released cannot be installed anywhere. Open-weight rows ran three replicates of every task, so 78 trials each. Reference rows ran one, so 26.

Every percentage below is correct answers over graded trials, and the column after the four tests is the share of trials that produced nothing to grade. Those two numbers have to be read together. A model that is right whenever it answers, and that fails to answer one trial in five, is a different purchase from a model that answers every time and is wrong more often. The last column is how long an engineer would wait for a correct answer on one workstation card, and it is the column that separates this field.

rowdeployable on overall
accuracy
reading a
datasheet
knowing when
to abstain
computing in
the reply
writing a
script
trials with
nothing to grade
seconds to a correct answer,
median / slowest tenth ESTIMATE
Open-weight Aserver, multi-GPU100%100%100%100%100%15%not evaluable
Open-weight Bserver, multi-GPU100%100%100%33%100%15%14 s / 116 s
Open-weight Cserver, multi-GPU100%100%100%100%100%15%1,105 s / 2,053 s
Open-weight Done 24 GB card100%100%100%100%100%17%275 s / 724 s
Open-weight Eserver, multi-GPU96%100%93%100%89%14%96 s / 442 s
Open-weight Fone 24 GB card97%96%97%33%100%15%11 s / 55 s
Open-weight Gone 24 GB card98%100%97%0% (1 graded)100%19%16 s / 42 s
Open-weight Hone 24 GB card95%100%100%unmeasured50%19%7 s, one answer
Open-weight Jtwo cards or 128 GB78%72%77%unmeasured100%18%5 s / 8 s, capped
Open-weight Kserver, multi-GPU63%56%60%100%100%17%not evaluable
All ten open-weight rows, every trial counted17 of 3081 of 90
Closed reference 1hosted only100%100%100%100%100%4%hosted only
Closed reference 2hosted only92%100%100%100%0%4%hosted only
Closed reference 3hosted only100%100%100%100%100%12%hosted only

MEASURED from the trial records, graded under the current harness rules. The first run, on 23 September 2026, gave every column except computing in the reply. That run's reply limit of 16,384 tokens cut the open-weight rows off while they were still reasoning, so the test was run again on 27 September at 131,072 tokens, eight times the budget, and that second run is what the column shows for the open-weight rows. Each of those figures rests on three trials or fewer, G's on one, and every wrong answer in the column was silently wrong. Rows H and J had every reply cut by their hosting before an answer appeared. J's three trials were run a third time on 7 October on an endpoint that allows longer replies, and each ended in a provider error after 6,344 to 27,656 tokens of reasoning, so J stays unmeasured in this test. The totals line counts every trial of the ten open-weight rows, graded or not: computing in the reply, 17 of the 30 came back right, five silently wrong and eight cut off; writing a script, at the first run's limit, 81 of the 90 came back right. The closed references answered it inside the first run's limit. Overall accuracy is the first run. "Reading a datasheet" is the ten questions the material can settle and "knowing when to abstain" is their ten twins, so a reply that could not be read counts against whichever of the two it answered. "Unmeasured" means no trial in that test produced an answer to grade; it is not a score of zero. The nothing-to-grade column counts trials that were cut at the limit, empty, filtered by the provider, or lost to a failed request after its retries.

ESTIMATE for the last column, derived as set out under accuracy and time below. Rows B, C and E need two, seventeen and three of the cards to hold their weights. Rows H and J had their reply budget capped by their hosting, so their figures rest on one and three correct answers and read low. A and K publish no parameter count, so no rate can be derived for them.

93%

the ten open-weight models, correct over 651 graded trials

Eight of the ten sit between 95 and 100 percent. The field is not separated by accuracy when these models answer.

97%

the three closed references, correct over 73 graded trials

Four points, and the reference figure rests on 73 trials against 651. The gap that matters is not here.

Where the open-weight rows lose is the nothing-to-grade column of the table. Between 14 and 19 percent of their trials produced nothing to grade, against 4 to 12 percent for the references. They were cut off before they could deliver the engineering, and that is a property of the harness around them rather than of the weights.

The finding that should drive the decision

The data reduction family asks the same three questions two ways. One mode says compute the quantities and return the numbers. The other says write a Python script, and the harness runs it in a sandbox and grades what it prints. Same models, same campaign, same definitions in the prompt, same grader, same tolerances. The only difference is whether the model does the arithmetic or writes the method and something else executes it.

17 of 30

compute it and give the number

trials right across the ten open-weight rows, at eight times the original reply budget. Five came back silently wrong and eight were cut off at the limit

90%

write a script the harness runs

81 of 90 trials correct at the original reply budget, the same ten rows, the same questions, the same grader

MEASURED from the campaign result files.

With the same models, questions and grader, writing a script beat computing the answer, even when computing had eight times the reply budget.

The compute-it mode needs a long reply. These models work through a 63-step array in their reasoning channel, and at the first run's limit of 16,384 tokens one row spent 16,382 of them on reasoning alone, so we raised the budget eightfold and ran the family again. Eight rows then produced at least one gradeable answer, and five got all three right. Three rows still had replies cut by their hosting, two of them every reply, and those trials are recorded as unmeasured rather than failed.

With eight times the budget, the compute-it mode got 17 of 30 right across the ten rows. Five of those 30 were silently wrong and eight were cut off. The script mode produced no silently wrong answers at all. Its failures announce themselves, one of them by calling a numpy function with a keyword argument it does not accept and stopping before printing anything. The compute-it mode's failures do not: a well-formed object, a plausible peak integral non-linearity outside tolerance, and nothing in the reply to say so.

The practical reading for a team buying this: what you install is more than cards.

A sandbox the model can run code in, a validator on the output contract, and a reference implementation to check against are worth more than the measured difference between any two models on this list.

We have measurements for the first and the third. The second is the one-character misspelling described under the first test below, and a validator that rejects and re-asks recovers most of that for no hardware at all.

Whether the same holds for driving a simulator is the next measurement. The nearest published work points the same way: in a 2025 study of buck converter design, putting the simulator in the loop raised a reasoning model's solve rate from 25 to 85 percent, and adding retrieval took it to 91. It is in the second table below.

The published results, and our remeasurement

Each published figure sits beside our own run of the same model. The numbered notes under the table say what each figure measures and where it comes from.

modelpublishedours, October 2026
AnalogCoder (2024): first-try pass rate on 15 transistor-level design tasks
GPT-4o (2024)87%179%2
DeepSeek-V2 (2024)62%1not run
Llama 3 70B (2024)46%1not run
GPT-3.534%1not run
o3 (2025)not in paperpending2
GPT-6.1 Sol (2026)not in paperpending2
Buck converter design workflows (2025): tasks solved within 5%, the model alone
GPT-4o (2024)14.4%342%4
o3 (2025)25.4%367%4
GPT-6.1 Sol (2026)not in paper100%4
The same study, with the simulator in the loop
GPT-4o (2024)46.4%392%4
o3 (2025)84.9%3100%4
GPT-6.1 Sol (2026)not in paper100%4
CIRCUIT (2025): final numerical answers right, 510 analog circuit questions
GPT-4o (2024)48.0%5pending6
GPT-4 Turbo (2024)38.2%5pending6
Gemini 1.5 Pro (2024)34.7%5not run
  1. AnalogCoder, Lai et al., 2024, and AAAI 2025. The model writes Python that builds one of fifteen transistor-level blocks (amplifiers, inverters, current mirrors, op-amps) and runs a SPICE simulator; a checker simulates the design and feeds any failure back for further rounds. The figure is the mean first-try pass rate over tasks 1 to 15, derived from the paper's per-task table, which we read twice and checked against the totals in the benchmark's repository. In the paper every model except GPT-4o also had the benchmark's circuit library, which plays no part in these fifteen tasks. On the four op-amp tasks the two open models scored 0 to 7%.
  2. Our rerun of GPT-4o, the 2024-05-13 snapshot, ran on 8 October 2026 with the paper's prompt, feedback loop and temperature of 0.5: 59 of 75 trials passed, 5 per task where the paper ran 15, a mean first-try pass rate of 78.7%. The gap to the paper is in the op-amp tasks 11, 13 and 14 and in task 4; tasks 12 and 15 failed every trial, close to the paper's 13.3% on each. The benchmark had to pass its own control first, and it did on 7 October 2026: 15 of 15 of its correct answers accepted and 4 of 4 deliberately broken ones rejected. That took pinning the simulator to ngspice 34, the version the benchmark's Python library supports; the paper does not say which version it ran. On ngspice 42 the op-amp checks reject the benchmark's own correct answers. o3 and GPT-6.1 Sol run next.
  3. Buck converter design workflows, Nau, Krummenauer and Zimmermann, 2025: 269 tasks that tune, adapt or optimise a buck converter, from a textbook buck to a two-phase synchronous step-down controller, with LTspice. A task is solved when the simulated result is within 5% of its target. The figures are the model alone and with LTspice in the loop without retrieval, from the paper's Table 2. With retrieval and LTspice together, o3 reached 90.7%. The paper does not release its tasks.
  4. The paper's tasks are not released, so we wrote twelve of our own: set the duty cycle, inductor, output capacitor or switching frequency of three bucks, one of them two-phase, solved when SIMPLIS puts the result within 5% of its target. With the simulator in the loop a model may run up to four simulations before it answers. Before any model ran, the 36-deck control held: every exact answer passed and every answer 12% off failed. Run on 8 October 2026, each model on OpenAI's own endpoint. Counts: GPT-4o 5 of 12 alone and 11 with the simulator, o3 8 and 12, GPT-6.1 Sol 12 and 12. Twelve tasks give wide intervals: 8 of 12 is anywhere from 39% to 86% at 95% confidence. Our tasks differ from the paper's, so compare the direction of change between the two columns; the levels do not carry over.
  5. CIRCUIT, Skelic et al., 2025: 510 analog circuit questions with numerical answers, right when the final number is within 0.001 of the key. The figures are zero-shot with netlists, the paper's best setting for GPT-4o, from its Table 1. The question set is not public.
  6. Ours is a question set of the same shape, written here, each answer computed two independent ways. A 120-question pilot on the paper's two OpenAI models tunes its difficulty to these figures; the full set is then frozen and run on this year's models. Gemini 1.5 Pro has no endpoint on the aggregator we use, so it is not run.

We found no published benchmark that scores a model driving SIMPLIS; ours is described under What is being measured next.

DOCUMENTED for the published figures, from each paper as read on 7 and 8 October 2026. DERIVED for the AnalogCoder means. MEASURED for ours. AMSbench (Shi et al., 2025, about 8,000 questions across eight models) is the largest published set, and it is left out of the table because its per-model figures have not been read for this page.

Where this harness differs from the published benchmarks

The coding benchmarks (HumanEval, MBPP and MultiPL-E, SWE-bench, and VerilogEval, RTLLM and CVDP for digital RTL) score code that runs against tests, where a wrong answer throws an error and announces itself. This harness counts the reply that is well formed and wrong apart from the reply that cannot be read, because the first one goes downstream unnoticed.

Most benchmarks give an abstention no more credit than a wrong answer, so guessing pays. AbstentionBench and AA-Omniscience address that on general questions and recall. We found no abstention test built on datasheets, tool release notes or simulator output, so each question here has a twin with the one necessary fact removed.

For digital place and route, EDA Corpus pairs prompts with OpenROAD scripts and iScript-Bench scores Tcl written for a commercial tool. We found no public benchmark that scores Verilog-AMS, VHDL-AMS, SKILL, OCEAN or Spectre work, or the reduction of measured converter data.

Reproducibility and the cost to deploy are seldom part of a published score. Here eight of thirteen rows changed at least one answer between identical runs, reported row by row, and the hardware and break-even are priced further down.

AI changes every few months. I keep track of it for you.

The published results in the table above come from 2024 and 2025, and every model named in them has had a newer release since. Our own table was measured in September and October 2026, and it will date the same way.

A design team cannot spend its weeks following which model now handles which job, and it should not have to take a vendor's word for it. Working with me, you know where things stand. On a monthly retainer I keep track of it for you: when a model worth considering is released, it goes through the tests on this page, the published benchmark is rerun where that is possible, and you hear from me when something changes what your team should use.

This is part of full support, Maintained and extended on The Offering, $2,500 a month. It carries everything in the $1,000 tier: release tracking against your installed versions, the whitelist and retrieval index rebuilt when your tools or PDK move, regression tests on the delivered tooling, bug fixes, and the recipe library as it is built. On top of that come two days a month of development against your own priorities, the reference cards updated for each new tool version, and early access to new recipes with the right to ask for one. Twelve-month minimum, and annual prepayment attracts a discount.

Book a scoping conversation

The four tests, and a real question from each

Twenty-six tasks in two families, graded by code with no human judgement in the loop. Every question below is the real one, as the model received it. Ground truth for the data reduction family is a published converter model, exact by construction, with tolerances derived from the printed precision of the inputs and propagated through each definition.

1. Reading a datasheet

Can it pull the right fact out of supplied material and return it in the exact shape a program downstream can read. When it fails, it is usually the envelope that is wrong and seldom the fact.

QUESTION: What is the name of pin 7? Answer with the pin name. UNIT FOR THE ANSWER: label MATERIAL: pin name type 1 VIN+ analog in 2 VIN- analog in 3 GND supply 4 VS supply 5 REF analog in 6 OUT analog out 7 SHDN digital in

The reply must be one JSON object with three fields: the answer, a boolean saying whether the material can settle it, and a one-sentence reason. Eight of the ten open-weight rows scored 96 to 100 percent here. The two that did not, rows J and K at 72 and 56 percent, mostly failed the contract rather than the question. Row K misspelled one field name on 26 of its 60 replies across this test and the next. Its answers were largely right. Read as intended, by the same grader, that one field moves it from 33 right of 60 to 54. One character cost it the bottom of the table.

2. Knowing when to abstain

Each of the ten questions above has a twin of the same form and length with the one necessary fact removed. The generator writes each material both ways, so the correct abstention is known before any model sees the task. A model that answers the twin anyway is confidently wrong, and that is the only failure on this page with a hard exclusion gate.

QUESTION: According to these release notes alone, was the command 'Export /csv' added in SIMX 8.4? Answer with the string 'yes' if the notes list it; if the notes do not settle the question, set not_evaluable. UNIT FOR THE ANSWER: label MATERIAL: SIMX 8.4 release notes - script commands added in this release Show /plain /file <path> write a tabulated result to a file Netlist /raw emit the flat netlist SetPrecision <digits> printed precision for Show

A list that may be partial does not settle whether something is absent, so the right answer is an abstention. The gate, written before the runs: a row answering more than one tenth of its unanswerable questions is excluded whatever else it scores. The worst row managed 2 of 30, which is 0.067. We wrote this gate expecting it to exclude somebody, it excluded nobody, and we are reporting that. The abstain column in the table is stricter than the gate, because it counts every reply to a twin and a reply that could not be read counts against it. Row K's 60 percent is ten unreadable replies and two confident answers in thirty.

3. Computing in the reply

The data is in the question and the answer comes straight back as numbers. The trap is a definition whose wrong-but-valid twin sits one line away. An endpoint integral non-linearity is a real quantity, and giving it where best-fit was asked is a silent wrong answer.

Definitions (use exactly these): LSB = Vref / 2^N; thresholds th[0..2^N-2] ascending for Vref = 1.2 V. Best-fit line: ordinary least squares of th[j] against j over ALL thresholds j = 0..2^N-2. inl_bf[j] = (th[j] - (slope*j + intercept)) / LSB for every j. peak_inl_bestfit = max |inl_bf[j]|; slope_LSB_per_code = slope / LSB. TASK: Reply with exactly one JSON object, no prose, no code fence, with these numeric fields: peak_inl_bestfit_LSB, slope_LSB_per_code. DATA (CSV, 63 rows, N = 6 bits): index,threshold_V 0,0.018037529 1,0.035987874 ... 61 more rows

The open-weight rows work the 63-step array through in their reasoning channel, so this test ran at eight times the first run's reply limit. At that budget 17 of the 30 trials came back right, five came back silently wrong and eight were cut off. Those are the figures in the table. This is the mode to avoid in production.

4. Writing a script

The same three questions, over a 4,095-row file the message only samples. The reply is a Python script, which the harness runs in a fresh folder with a timeout, and its printed output is graded exactly as the numbers above are.

Definitions (use exactly these): LSB = Vref / 2^N (not Vref / (2^N - 1)). dnl[0] = th[0]/LSB - 1; dnl[k] = (th[k] - th[k-1])/LSB - 1; dnl[2^N-1] = (Vref - th[2^N-2])/LSB - 1. The two end codes are bounded by the rails, not by two thresholds: peak and rms are taken over the interior codes 1..2^N-2 only. TASK: Reply with exactly one Python 3 script in a fenced block and nothing else. It reads the CSV at sys.argv[1] and prints one JSON object with these numeric fields: peak_dnl_LSB, rms_dnl_LSB, peak_inl_LSB, dnl_at_msb_LSB. Standard library and numpy only; no file writes; no network. The CSV has 4095 data rows for an N = 12-bit array.

Nine of the ten open-weight rows scored 89 to 100 percent here, on harder data than test 3, at the same reply budget that defeated every one of them in test 3. Nothing about the model changed between the two. What changed was whether something else was allowed to do the arithmetic.

How a reply is scored

Every reply lands in one of five classes, and each is counted apart because each costs something different.

  • Right is the correct answer inside a derived tolerance, in the form asked for, or a correct abstention on a question the material cannot settle.
  • Silently wrong is well formed and wrong. It parses, it fills the template, and the number is wrong. This is the one that costs real time, because nothing downstream says so.
  • Unreadable is malformed, so something says so: no object in the reply, a missing contract field, a script that stops with an error. It costs time, and a program reading it fails visibly, so nobody is misled.
  • Confidently wrong is an answer to a question the material cannot answer. It is the worst case and the only one with a hard exclusion gate.
  • Nothing to grade is a reply that came back empty, was cut off at the length limit or filtered by the provider, or a request that failed after its retries. It is never scored as right or wrong, and it has its own column.

Accuracy, and the time to get a correct answer

Two numbers decide this purchase: how often the model is right, and how long you wait for it. The first table gives both. Accuracy barely separates the field, and the time column separates it by a factor of twenty-five, on the same card.

ESTIMATE The time column in the first table and everything below are estimated from published parameter counts, and they stay estimates until a finalist runs on a card in this office. Tokens per correct answer are measured, from the correct trials only of the second run. Seconds are those tokens divided by the single-stream rate one card can sustain: efficiency times memory bandwidth, over the active parameters read for every token. One RTX PRO 6000 Blackwell, 96 GB at 1,792 GB/s, 16,000 USD.

The three rows to compare are F, G and D, which ran at the full budget on one card.

Open-weight D and Open-weight F are three points apart on accuracy and twenty-five times apart on time, on the same card.

D is dense, so all 27 billion of its parameters are read for every token it writes, and it writes long answers. F activates 3 billion per token and writes shorter ones. That comparison carries the hardware argument: a more accurate but slower model is a larger purchase, either in cards or in the time an engineer spends waiting. A team that wants both buys D and more cards; a team that wants an answer inside a minute on one card buys F and gives up three accuracy points.

What a hundred-engineer fleet would have to return

Sized for the busiest hour with one spare set of cards. The assumptions that dominate are twenty answers per engineer per working day, eight concurrent answers per set of cards, a five-minute target for the slowest tenth, and a loaded cost per engineer. All four are assumptions. The engineer count and the expected benefit are the client's input rather than our measurement, so the output is a break-even and not a return. Each row is priced on the cheaper of two fleets, the workstation card above or a data-centre card, and row D is the one that comes out cheaper on the data-centre card.

configurationcardscapitalannual costweeks each engineer must gain per year to break even
Open-weight F5100,000 USD46,290 USD0.07
Open-weight B10190,000 USD88,246 USD0.14
Open-weight D5237,500 USD105,873 USD0.16
Open-weight E15280,000 USD130,203 USD0.20
Open-weight C1021,892,000 USD880,179 USD1.35

The weeks column uses a loaded cost of $300,000 per engineer and 46 working weeks a year, the break-even model's own base. At the $400,000 the Executive Summary uses, every figure in it falls by a quarter, so row F breaks even at 0.05 weeks and row C at 1.0.

Across every sensitivity case we ran, moving one assumption at a time, the workstation-class rows stay between 0.04 and 0.32 weeks and the 2.4 T row between 0.72 and 2.25.

That table says the hardware does not decide this: for the workstation-class rows the break-even is under a tenth of the 2.6 to 4.8 weeks a year the Executive Summary's conservative model recovers per engineer, and smaller again against the four to eight weeks I expect a team to reach. Neither figure is a measurement. What decides it is whether the time saved is real, and that turns on the measurements above. A silently wrong answer costs checking and rework that this break-even leaves out entirely. A confidently wrong answer to an unanswerable question costs more.

These weeks are throughput per engineer, meaning what one engineer can run and check. They are not headcount.

What we have not tested

Stating this plainly is part of the method.

Every number on this page came from models running on somebody else's hardware, reached through an aggregator. That screens candidates and it is not deployment evidence, because the serving stack, the quantisation loaded and the batching are all the provider's. Nothing here has run on a card in this office.

Eight of thirteen rows changed at least one answer between identical runs at temperature zero with a seed set, on pinned endpoints, and four more could not be compared because a probe came back empty. Our own comparison rule once counted a capital letter and a multiplication sign as changes. It was corrected, and under the corrected rule the count is still eight. The changes look like real nondeterminism in serving, concentrated on borderline questions where the model is deciding whether to answer at all. The re-run those rows are owed has not happened yet, so the figures from the second run are one sample per cell on rows shown not to repeat.

No open-weight model has yet been asked to drive a simulator. We have the controls built for it: a pair of circuits where the same checker returns opposite verdicts, and on the faulty one the simulator's own records and the circuit geometry agree with each other perfectly and both describe the wrong circuit, with no error reported anywhere in the tool. Only comparison against stated intent caught it. That control reproduced a week later on a rebuilt circuit with identical figures. What has not happened is a model producing the build commands, and that is the next measurement.

The code-writing family, where the finding above suggests these models are strongest, is built and has no measurement at all.

What is being measured next

Three measurements are next. Each appears here once it has a number.

Can a model drive SIMPLIS at all, and what each kind of help is worth. The same task asked four ways, each adding one thing: a syntax guide, then standing instructions, then a sandbox with a checker. The differences between the arms are the measured value of each, which is the part of a deployment that can be bought and the number a prospective client cares about. This is the first measurement on the work the site is about, which is driving a tool to a design rather than answering questions about one.

AnalogCoder on this year's models. The fifteen transistor-level tasks with the paper's settings, so the second table gets a 2026 figure beside each 2024 one.

The compute-in-the-reply test, rebuilt so a cut reply still yields something to grade. A shorter array, the first intermediate values in the reply so the definition can be graded before the arithmetic finishes, and one continuation when a reply is cut. This can lower the accuracy figures above and cannot raise them, because trials that return nothing today will come back right or wrong.

How the measurement is kept honest

The parts of the method that matter more than any individual score.

Predictions are written into a file and hashed before the first trial of a campaign, then scored mechanically in the result. Nineteen such predictions were scored across the two campaigns. Twelve held, four failed and three could not be evaluated. We publish the failures, because a prediction written after the run is a rationalisation.

Rosters that have run are never edited, because their hash sits in a pre-registration.

The harness checks itself before each campaign, and a campaign refuses to start unless that self-test passes and the harness version matches what the test kit expects. Older harness versions are kept, because the test suite uses them as negative controls: a control that reproduces the fix is not a control.

A grader change is tested by mutation. We deliberately break the grader and confirm it then fails exactly the cases it should.

Our own defects are numbered, published, and reported with the mechanism that caught each one. The count passed forty on the harness alone. Several reached the engineer before being caught, including a passing test suite that crashed its own runner, a manifest that omitted its own failures, and twice a result true of one folder stated as a fact about the machine. The verification discipline surfaced those and a person judged them. We think that record is worth more to a prospective client than a page of clean results would be.

The same discipline produced the evidence cases: predictions hashed before the run, mechanical scoring, defects published with the mechanism that caught each.

Why the models are not named

Two reasons, and one limitation.

A named league table dates fast. These releases turn over in weeks, and a page that ranks ten of them by name is wrong within a quarter and invites an argument with whichever vendor came last. What does not date is the structural finding: that giving a model a sandbox mattered more than which model it was, that nobody failed the abstention gate, and that bandwidth rather than memory sets the card count for a dense model writing long answers.

The second reason is that a single misspelled field name moved one model from mid-table to last. Publishing that against a name would be a claim about a product. Publishing it against a label is a claim about output contracts, which is the useful version and the one that will still be true next year.

The published results in the second table keep the names their papers used. Those are citations of someone else's figures, and the names are how a reader checks them. Our remeasurements beside them name their models too, because each one repeats a paper's comparison on the paper's own models and a later release of the same family, and that comparison needs the names.

The limitation: the parameter counts and deployment classes are kept because the hardware argument cannot be made without them, and anyone who follows open-weight releases could narrow several of these rows down from those columns alone. The labels remove the vendor framing rather than making the rows unidentifiable. The named version of every table exists, and we will walk a serious prospect through it.

On this material, the sandbox mattered more than the model.

If you are choosing a model to put on site, the measurements above are the ones to ask for, and the ones to ask any vendor for. The named version of every table exists for a scoping conversation.

Book a scoping conversation

Sources for the published benchmarks, as read in October 2026. HumanEval: Chen et al., arXiv 2107.03374, 2021. MBPP: Austin et al., arXiv 2108.07732, 2021. MultiPL-E: Cassano et al., IEEE TSE 2023. SWE-bench: Jimenez et al., ICLR 2024. VerilogEval: Liu et al., ICCAD 2023, and its revisited edition, ACM TODAES. RTLLM: Lu et al., ASP-DAC 2024. CVDP: NVIDIA, arXiv 2506.14074, 2025. CIRCUIT: Skelic et al., arXiv 2502.07980, 2025. AMSbench: Shi et al., arXiv 2505.24138, 2025. AnalogCoder: Lai et al., arXiv 2405.14918, AAAI 2025. Buck converter design workflows: Nau, Krummenauer and Zimmermann, "Evaluating LLM-based Workflows for Switched-Mode Power Supply Design", arXiv 2507.10639, 2025. Abstention given no credit: Kalai et al., "Why Language Models Hallucinate", arXiv 2509.04664, 2025. AbstentionBench: Kirichenko et al., arXiv 2506.09038, 2025. AA-Omniscience: Jackson et al., arXiv 2511.13029, 2025. EDA Corpus: Wu et al., arXiv 2405.06676, 2024. iScript-Bench: arXiv 2603.04476, 2026. Where this page says we found no benchmark, that rests on a coverage survey run for PJ Crawley LLC on 2026-10-05 and on searches repeated on 2026-10-07 and 2026-10-08. Those searches missed the buck converter study until 2026-10-08, so a benchmark we missed would be welcome and would be added here.

Every figure in the first and third tables is taken from the output of one script that reads the trial records of the two campaigns, graded under the current harness rules, and row J's third run is read from its own record. The time column and the fleet table are estimates with their assumptions listed. The second table's published figures are the papers' own, and its buck remeasurement is read from the result file of that run. Edition 4 of this page, 2026-10-08.

PJ Crawley LLC. Corp-to-corp. On site for the kickoff and as often as the work needs, remote in between.
phil@pjcrawleyllc.com