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.
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.
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 model | our tests | up 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 F | 97%1 | $42,0002 | $19,3832 | $100,0002 | $46,2902 |
| Open-weight B | 100%1 | $74,0002 | $34,4322 | $190,0002 | $88,2462 |
| Open-weight D | 100%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 retention3 | 92 to 100%4 | $0 | $700 to $5,7505 | $0 | $2,800 to $23,0005 |
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.
| row | deployable 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 A | server, multi-GPU | 100% | 100% | 100% | 100% | 100% | 15% | not evaluable |
| Open-weight B | server, multi-GPU | 100% | 100% | 100% | 33% | 100% | 15% | 14 s / 116 s |
| Open-weight C | server, multi-GPU | 100% | 100% | 100% | 100% | 100% | 15% | 1,105 s / 2,053 s |
| Open-weight D | one 24 GB card | 100% | 100% | 100% | 100% | 100% | 17% | 275 s / 724 s |
| Open-weight E | server, multi-GPU | 96% | 100% | 93% | 100% | 89% | 14% | 96 s / 442 s |
| Open-weight F | one 24 GB card | 97% | 96% | 97% | 33% | 100% | 15% | 11 s / 55 s |
| Open-weight G | one 24 GB card | 98% | 100% | 97% | 0% (1 graded) | 100% | 19% | 16 s / 42 s |
| Open-weight H | one 24 GB card | 95% | 100% | 100% | unmeasured | 50% | 19% | 7 s, one answer |
| Open-weight J | two cards or 128 GB | 78% | 72% | 77% | unmeasured | 100% | 18% | 5 s / 8 s, capped |
| Open-weight K | server, multi-GPU | 63% | 56% | 60% | 100% | 100% | 17% | not evaluable |
| All ten open-weight rows, every trial counted | 17 of 30 | 81 of 90 | ||||||
| Closed reference 1 | hosted only | 100% | 100% | 100% | 100% | 100% | 4% | hosted only |
| Closed reference 2 | hosted only | 92% | 100% | 100% | 100% | 0% | 4% | hosted only |
| Closed reference 3 | hosted only | 100% | 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.
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.
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 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.
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
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.
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.
| model | published | ours, October 2026 |
|---|---|---|
| AnalogCoder (2024): first-try pass rate on 15 transistor-level design tasks | ||
| GPT-4o (2024) | 87%1 | 79%2 |
| DeepSeek-V2 (2024) | 62%1 | not run |
| Llama 3 70B (2024) | 46%1 | not run |
| GPT-3.5 | 34%1 | not run |
| o3 (2025) | not in paper | pending2 |
| GPT-6.1 Sol (2026) | not in paper | pending2 |
| Buck converter design workflows (2025): tasks solved within 5%, the model alone | ||
| GPT-4o (2024) | 14.4%3 | 42%4 |
| o3 (2025) | 25.4%3 | 67%4 |
| GPT-6.1 Sol (2026) | not in paper | 100%4 |
| The same study, with the simulator in the loop | ||
| GPT-4o (2024) | 46.4%3 | 92%4 |
| o3 (2025) | 84.9%3 | 100%4 |
| GPT-6.1 Sol (2026) | not in paper | 100%4 |
| CIRCUIT (2025): final numerical answers right, 510 analog circuit questions | ||
| GPT-4o (2024) | 48.0%5 | pending6 |
| GPT-4 Turbo (2024) | 38.2%5 | pending6 |
| Gemini 1.5 Pro (2024) | 34.7%5 | 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.
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.
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 conversationTwenty-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.
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.
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.
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.
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.
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.
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.
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.
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.
Every reply lands in one of five classes, and each is counted apart because each costs something different.
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.
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.
| configuration | cards | capital | annual cost | weeks each engineer must gain per year to break even |
|---|---|---|---|---|
| Open-weight F | 5 | 100,000 USD | 46,290 USD | 0.07 |
| Open-weight B | 10 | 190,000 USD | 88,246 USD | 0.14 |
| Open-weight D | 5 | 237,500 USD | 105,873 USD | 0.16 |
| Open-weight E | 15 | 280,000 USD | 130,203 USD | 0.20 |
| Open-weight C | 102 | 1,892,000 USD | 880,179 USD | 1.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.
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.
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.
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.
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.
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 conversationSources 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.