OverpayingForAIPricing desk

Code fix · 4 checks · max 600 tokens · benched 2026-09-16

Claude Opus 5 vs Claude Sonnet 5 vs Claude Sonnet 4.6 vs Claude Haiku 4.5 on fix an off-by-one in python

Anthropic models side by side on "Fix an off-by-one in Python": Claude Haiku 4.5 scores 10/10; Claude Haiku 4.5 is the cheapest answer scoring 8+ at $0.30 per 1,000 runs. Outputs, checks, judge reasons, latency and cost.

The prompt every model received

System

You are a senior engineer. Reply with code only unless asked otherwise.

User

This function should return the arithmetic mean of a non-empty list of numbers, but its result is wrong. Fix the bug with the smallest possible change and return the complete corrected function only, in a Python code block.

def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / (len(nums) - 1)

Rubric for the judge: Returns the full function with the divisor corrected to len(nums) and no other behavioural changes.

Side by side

Every cell is one OpenRouter call at temperature 0 with the prompt's token cap and reasoning effort "low" where the model supports it. Cost is usage × the catalogue rate in models.json. Quality is one judge call to anthropic/claude-haiku-4.5 against the prompt's rubric, cached per prompt version.

Claude Opus 5

anthropic/claude-opus-5

10/10
Latency
2.1s
Cost
$0.00173
Per 1,000
$1.73

136 in · 42 out · 18 words · checks 4/4

  • contains
  • regex
  • not_contains
  • not_contains
```python
def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / len(nums)
```

Judge: The output correctly fixes the bug by changing the divisor from len(nums) - 1 to len(nums), returns the complete function in a Python code block, and makes no other changes.

Claude Sonnet 5

anthropic/claude-sonnet-5

10/10
Latency
1.1s
Cost
$0.00069
Per 1,000
$0.69

136 in · 42 out · 18 words · checks 4/4

  • contains
  • regex
  • not_contains
  • not_contains
```python
def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / len(nums)
```

Judge: The output correctly fixes the bug by changing the divisor from len(nums) - 1 to len(nums), returns the complete function in a Python code block, and makes no other changes.

Claude Sonnet 4.6

anthropic/claude-sonnet-4.6

10/10
Latency
849ms
Cost
$0.00092
Per 1,000
$0.92

105 in · 40 out · 18 words · checks 4/4

  • contains
  • regex
  • not_contains
  • not_contains
```python
def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / len(nums)
```

Judge: The output correctly fixes the bug by changing the divisor from len(nums) - 1 to len(nums), returns the complete function in a Python code block, and makes no other changes.

Claude Haiku 4.5

anthropic/claude-haiku-4.5

10/10
top judge scorecheapest scoring 8+
Latency
722ms
Cost
$0.00030
Per 1,000
$0.30

104 in · 40 out · 18 words · checks 4/4

  • contains
  • regex
  • not_contains
  • not_contains
```python
def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / len(nums)
```

Judge: The output correctly fixes the bug by changing the divisor from len(nums) - 1 to len(nums), returns the complete function in a Python code block, and makes no other changes.

Frequently asked

What does this prompt test?

Code fix: Returns the full function with the divisor corrected to len(nums) and no other behavioural changes. The deterministic checks are contains, regex, not_contains, not_contains.

Which model should I pick for this task?

If the judge's bar of 8/10 is good enough for you, Claude Haiku 4.5 at $0.30 per 1,000 runs. If you need the top score, Claude Haiku 4.5 at $0.30 per 1,000 runs.

If our calculators helped you cut down on hidden AI wallet leaks, thanks for using them. A tiny fraction of your savings is what keeps our pricing indexes updated daily.

Not sure which AI is cheapest for your use case? Find out in 30 seconds — no signup required.

AI cost intelligence

Stop overpaying for AI tools

Join the OverpayingForAI list for pricing updates, cheaper alternatives, and practical buying guidance.

Now tracking 50+ AI tools, models, platforms, subscriptions, coding tools, and automation products.

We use your email only for OverpayingForAI updates. Unsubscribe anytime.