GPT-4o MinivsGrok 4

Head-to-head comparison across 25 high-difficulty extraction tasks spanning e-commerce, legal, medical, finance, and logic domains.

GPT-4o Mini

OpenAIeco
Accuracy
79.5%
Cost / 1k Tasks
$0.26
Latency
5849ms

Grok 4

xAIultra
★ Higher Accuracy
Accuracy
92.6%
Cost / 1k Tasks
$6.00
Latency
34573ms

How we test

Last benchmarked: February 27, 2026

25 Extraction Tasks

Hand-crafted extraction tasks across 5 domains (E-commerce, Legal, Medical, Finance, Logic). Each rated difficulty 4–5, designed to expose ambiguous entities, nested structures, multi-step reasoning, and type coercion.

Deterministic Scoring

Every response is scored with field-level deterministic comparison - booleans and numbers checked exactly (5 % tolerance for numbers), strings compared via embedding cosine similarity. A field is marked correct when similarity ≥ 80%. Arrays are matched element-by-element. Scores range 0–100 per task.

Consistent & Reproducible

Each model runs every task once under identical conditions (same prompts, same schema). Results are timestamped and versioned so you can track changes over time.

Task Results

Each task shows the input, both model outputs, and the accuracy score.

25 tasks · 5 domains
01E-commerceAmbiguous Color Extraction
92vs92
Input
Nike Air Max 97 OG QS "Metallic Gold" Bullet — Titanium Violet / Varsity Red — Men's US 10.5 — 2018 Retro Release
Expected Output
{
  "brand": "Nike",
  "model": "Air Max 97 OG QS",
  "colorway": "Metallic Gold",
  "color_1": "Titanium Violet",
  "color_2": "Varsity Red",
  "size": "US 10.5",
  "gender": "Men's",
  "year": "2018",
  "edition": "Retro Release"
}
GPT-4o Mini
2111ms92/100

Incorrect/missing fields: colorway, color_1, color_2

brandNike
modelAir Max 97 OG QS
colorwayMetallic Gold / Titanium Violet / Varsity Red(expected: Metallic Gold)
color_1Metallic Gold(expected: Titanium Violet)
color_2Titanium Violet(expected: Varsity Red)
sizeUS 10.5
genderMen's
year2018
editionRetro Release
6/9 fields correct
Grok 4
79568ms92/100

Incorrect/missing fields: edition

brandNike
modelAir Max 97
colorwayMetallic Gold Bullet
color_1Titanium Violet
color_2Varsity Red
sizeUS 10.5
genderMen's
year2018
editionOG QS(expected: Retro Release)
8/9 fields correct
Why this is hard: All 9 fields must be exact. 'Titanium Violet' must be extracted as a single compound color, NOT split into material + color. 'Metallic Gold' is the colorway nickname, not color_1.
02E-commerceNested Size & Variant Parsing
99vs100
Input
Apple MacBook Pro 14" M3 Max (16-core CPU / 40-core GPU) — 48GB Unified Memory — 1TB SSD — Space Black — AppleCare+ Bundle — Open Box Like New
Expected Output
{
  "brand": "Apple",
  "model": "MacBook Pro 14\"",
  "chip": "M3 Max",
  "cpu_cores": 16,
  "gpu_cores": 40,
  "memory_gb": 48,
  "storage": "1TB SSD",
  "color": "Space Black",
  "condition": "Open Box Like New",
  "includes_warranty": true
}
GPT-4o Mini
1978ms99/100

All fields correct

brandApple
modelMacBook Pro 14" M3 Max
chipM3 Max
cpu_cores16
gpu_cores40
memory_gb48
storage1TB SSD
colorSpace Black
conditionOpen Box Like New
includes_warrantytrue
10/10 fields correct
Grok 4
8577ms100/100

All fields correct

brandApple
modelMacBook Pro 14"
chipM3 Max
cpu_cores16
gpu_cores40
memory_gb48
storage1TB SSD
colorSpace Black
conditionOpen Box Like New
includes_warrantytrue
10/10 fields correct
Why this is hard: Numeric fields (cpu_cores, gpu_cores, memory_gb) must be integers, not strings. 'includes_warranty' must be boolean true (AppleCare+ = warranty). 'condition' must not be just 'New' — it is specifically 'Open Box Like New'.
03E-commerceMulti-pack Unit Price Trap
95vs100
Input
Olaplex Hair Perfector No. 3 — 100ml (3.3 fl oz) × 3 Pack — $89.97 ($29.99/each) — Sulfate Free — Salon Professional — Ships from Authorized Dealer
Expected Output
{
  "brand": "Olaplex",
  "product_name": "Hair Perfector No. 3",
  "volume_ml": 100,
  "volume_oz": 3.3,
  "pack_quantity": 3,
  "total_price_usd": 89.97,
  "unit_price_usd": 29.99,
  "is_sulfate_free": true,
  "seller_type": "Authorized Dealer"
}
GPT-4o Mini
1886ms95/100

Incorrect/missing fields: seller_type

brandOlaplex
product_nameHair Perfector No. 3
volume_ml100
volume_oz3.3
pack_quantity3
total_price_usd89.97
unit_price_usd29.99
is_sulfate_freetrue
seller_typeSalon Professional(expected: Authorized Dealer)
8/9 fields correct
Grok 4
13368ms100/100

All fields correct

brandOlaplex
product_nameHair Perfector No. 3
volume_ml100
volume_oz3.3
pack_quantity3
total_price_usd89.97
unit_price_usd29.99
is_sulfate_freetrue
seller_typeAuthorized Dealer
9/9 fields correct
Why this is hard: Must distinguish total_price_usd (89.97) from unit_price_usd (29.99). pack_quantity must be integer 3. volume must reflect SINGLE unit, not total. is_sulfate_free must be boolean.
04E-commerceJapanese Electronics with Voltage
99vs98
Input
Sony WH-1000XM5 ワイヤレスノイズキャンセリングヘッドホン ブラック — Bluetooth 5.3 / LDAC — 30hr Battery — 100V-240V AC Adapter — JAN: 4548736132351 — Japan Domestic Model
Expected Output
{
  "brand": "Sony",
  "model": "WH-1000XM5",
  "type": "Wireless Noise Cancelling Headphones",
  "color": "Black",
  "bluetooth_version": "5.3",
  "audio_codec": "LDAC",
  "battery_hours": 30,
  "voltage_range": "100V-240V",
  "jan_code": "4548736132351",
  "region": "Japan Domestic"
}
GPT-4o Mini
2567ms99/100

All fields correct

brandSony
modelWH-1000XM5
typeWireless Noise Cancelling Headphones
colorBlack
bluetooth_version5.3
audio_codecLDAC
battery_hours30
voltage_range100V-240V
jan_code4548736132351
regionJapan Domestic Model
10/10 fields correct
Grok 4
11232ms98/100

All fields correct

brandSony
modelWH-1000XM5
typeWireless Noise Cancelling Headphones
colorBlack
bluetooth_version5.3
audio_codecLDAC
battery_hours30
voltage_range100V-240V
jan_code4548736132351
regionJapan
10/10 fields correct
Why this is hard: The Japanese text ワイヤレスノイズキャンセリングヘッドホン must be translated to 'Wireless Noise Cancelling Headphones'. Color 'ブラック' = 'Black'. battery_hours must be integer. jan_code must be string (not number — leading zeros matter).
05E-commerceJewelry with Carat vs Karat
99vs100
Input
Tiffany & Co. Soleste Round Brilliant Diamond Engagement Ring — 1.52ct E/VVS2 — Platinum Setting with 18K Rose Gold Accent Band — GIA #2215847290 — Size 6.5 — Retail $42,800
Expected Output
{
  "brand": "Tiffany & Co.",
  "collection": "Soleste",
  "stone_type": "Round Brilliant Diamond",
  "carat_weight": 1.52,
  "color_grade": "E",
  "clarity_grade": "VVS2",
  "primary_metal": "Platinum",
  "accent_metal": "18K Rose Gold",
  "gia_report_number": "2215847290",
  "ring_size": 6.5,
  "retail_price_usd": 42800
}
GPT-4o Mini
2294ms99/100

All fields correct

brandTiffany & Co.
collectionSoleste
stone_typeDiamond
carat_weight1.52
color_gradeE
clarity_gradeVVS2
primary_metalPlatinum
accent_metal18K Rose Gold
gia_report_number2215847290
ring_size6.5
retail_price_usd42800
11/11 fields correct
Grok 4
15827ms100/100

All fields correct

brandTiffany & Co.
collectionSoleste
stone_typeRound Brilliant Diamond
carat_weight1.52
color_gradeE
clarity_gradeVVS2
primary_metalPlatinum
accent_metal18K Rose Gold
gia_report_number2215847290
ring_size6.5
retail_price_usd42800
11/11 fields correct
Why this is hard: carat_weight is gemstone weight (1.52ct), NOT gold purity. accent_metal includes '18K' (karat = gold purity). ring_size must be numeric 6.5, not string. gia_report_number is string. retail_price_usd is integer with no comma.
06LegalIndemnification Cap Extraction
0vs81
Input
MASTER SERVICES AGREEMENT dated January 15, 2026. Section 8.2 (Limitation of Liability): Except for Vendor's indemnification obligations under Section 9.1 and breaches of Section 12 (Confidentiality), in no event shall either party's aggregate liability under this Agreement exceed the greater of (a) the total fees paid or payable by Client in the twelve (12) month period immediately preceding the event giving rise to the claim, or (b) Five Hundred Thousand Dollars ($500,000). Notwithstanding the foregoing, Vendor's aggregate liability for indemnification claims under Section 9.1 shall not exceed Two Million Dollars ($2,000,000). Section 8.3: IN NO EVENT SHALL EITHER PARTY BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, REGARDLESS OF THE CAUSE OF ACTION OR THEORY OF LIABILITY, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. The foregoing limitation shall not apply to breaches of Section 12 (Confidentiality) or willful misconduct.
Expected Output
{
  "general_liability_cap": "$500,000",
  "general_liability_basis": "Greater of 12-month fees or $500,000",
  "indemnification_cap": "$2,000,000",
  "indemnification_section": "9.1",
  "consequential_damages_excluded": true,
  "consequential_damages_exceptions": [
    "Confidentiality breaches",
    "Willful misconduct"
  ],
  "liability_cap_exceptions": [
    "Indemnification under Section 9.1",
    "Confidentiality under Section 12"
  ]
}
GPT-4o Mini
6201ms0/100

Incorrect/missing fields: general_liability_cap, general_liability_basis, indemnification_cap, indemnification_section, consequential_damages_excluded, consequential_damages_exceptions, liability_cap_exceptions

general_liability_cap-(expected: $500,000)
general_liability_basis-(expected: Greater of 12-month fees or $500,000)
indemnification_cap-(expected: $2,000,000)
indemnification_section-(expected: 9.1)
consequential_damages_excluded-(expected: true)
consequential_damages_exceptions-(expected: ["Confidentiality breaches","Willful misconduct"])
liability_cap_exceptions-(expected: ["Indemnification under Section 9.1","Confidentiality under Section 12"])
0/7 fields correct
Grok 4
18407ms81/100

Incorrect/missing fields: general_liability_cap, general_liability_basis

general_liability_capthe greater of (a) the total fees paid or payable by Client in the twelve (12) month period immediately preceding the event giving rise to the claim, or (b) Five Hundred Thousand Dollars ($500,000)(expected: $500,000)
general_liability_basisaggregate(expected: Greater of 12-month fees or $500,000)
indemnification_capTwo Million Dollars ($2,000,000)
indemnification_section9.1
consequential_damages_excludedtrue
consequential_damages_exceptions["breaches of Section 12 (Confidentiality)","willful misconduct"]
liability_cap_exceptions["Vendor's indemnification obligations under Section 9.1","breaches of Section 12 (Confidentiality)"]
5/7 fields correct
Why this is hard: Must correctly distinguish the GENERAL liability cap ($500,000) from the INDEMNIFICATION cap ($2,000,000). Must identify both exceptions to the consequential damages waiver. Models often conflate the two caps or miss the 'notwithstanding' override.
07LegalTermination Clause Parsing
91vs91
Input
Section 14 — TERMINATION. 14.1 Termination for Convenience: Either party may terminate this Agreement upon ninety (90) days' prior written notice to the other party. 14.2 Termination for Cause: Either party may terminate this Agreement immediately upon written notice if the other party: (a) materially breaches this Agreement and fails to cure such breach within thirty (30) days after receiving written notice; (b) becomes insolvent, files for bankruptcy under Title 11, or has a receiver appointed for substantially all of its assets; or (c) is acquired by a direct competitor of the non-breaching party ('Change of Control'). 14.3 Effect of Termination: Upon termination under 14.1, all prepaid but unused fees shall be refunded pro rata. Upon termination under 14.2(a), the breaching party shall forfeit any unused prepaid fees. Upon termination under 14.2(b) or 14.2(c), fees shall be handled in accordance with Section 7.4.
Expected Output
{
  "termination_for_convenience.notice_period_days": 90,
  "termination_for_convenience.available_to": "Either party",
  "termination_for_cause.triggers": [
    {
      "type": "Material breach",
      "cure_period_days": 30
    },
    {
      "type": "Insolvency/Bankruptcy",
      "cure_period_days": 0
    },
    {
      "type": "Change of Control",
      "cure_period_days": 0
    }
  ],
  "termination_effects.convenience": "Pro rata refund of prepaid unused fees",
  "termination_effects.cause_breach": "Breaching party forfeits unused prepaid fees",
  "termination_effects.cause_insolvency_or_change_of_control": "Per Section 7.4"
}
GPT-4o Mini
3611ms91/100

Incorrect/missing fields: termination_effects.cause_insolvency_or_change_of_control

termination_for_convenience.notice_period_days90
termination_for_convenience.available_toeither party
termination_for_cause.triggers[{"type":"material breach","cure_period_days":30},{"type":"insolvency or bankruptcy","cure_period_days":0},{"type":"Change of Control","cure_period_days":0}]
termination_effects.convenienceAll prepaid but unused fees shall be refunded pro rata.
termination_effects.cause_breachThe breaching party shall forfeit any unused prepaid fees.
termination_effects.cause_insolvency_or_change_of_controlFees shall be handled in accordance with Section 7.4.(expected: Per Section 7.4)
5/6 fields correct
Grok 4
15221ms91/100

Incorrect/missing fields: termination_effects.cause_insolvency_or_change_of_control

termination_for_convenience.notice_period_days90
termination_for_convenience.available_toEither party
termination_for_cause.triggers[{"type":"material breach","cure_period_days":30},{"type":"insolvency","cure_period_days":0},{"type":"change of control","cure_period_days":0}]
termination_effects.convenienceall prepaid but unused fees shall be refunded pro rata
termination_effects.cause_breachthe breaching party shall forfeit any unused prepaid fees
termination_effects.cause_insolvency_or_change_of_controlfees shall be handled in accordance with Section 7.4(expected: Per Section 7.4)
5/6 fields correct
Why this is hard: Must correctly map each termination trigger to its cure period (only material breach has 30 days). Must distinguish fee treatment across all three termination scenarios. Insolvency and Change of Control have NO cure period (immediate).
08LegalIP Assignment vs License Distinction
76vs84
Input
Section 6 — INTELLECTUAL PROPERTY. 6.1 Work Product: All deliverables, work product, and inventions conceived, created, or developed by Vendor in the performance of this Agreement ("Work Product") shall be considered "works made for hire" as defined by the U.S. Copyright Act. To the extent any Work Product does not qualify as a work made for hire, Vendor hereby irrevocably assigns to Client all right, title, and interest in and to such Work Product, including all intellectual property rights therein. 6.2 Pre-Existing IP: Notwithstanding Section 6.1, Vendor retains all right, title, and interest in and to any tools, frameworks, libraries, methodologies, and know-how that: (a) existed prior to this Agreement; (b) were developed independently outside the scope of this Agreement; or (c) are of general applicability and not specific to Client's business (collectively, "Pre-Existing IP"). To the extent any Pre-Existing IP is incorporated into the Work Product, Vendor grants Client a perpetual, irrevocable, worldwide, royalty-free, non-exclusive license to use, reproduce, and modify such Pre-Existing IP solely as embedded in the Work Product. 6.3 Residual Knowledge: Nothing in this Agreement shall restrict Vendor's right to use general skills, knowledge, experience, and ideas retained in the unaided memories of Vendor's personnel, provided such use does not infringe Client's patents or copyrights in the Work Product.
Expected Output
{
  "work_product_ownership": "Assigned to Client",
  "assignment_mechanism": "Work made for hire + irrevocable assignment fallback",
  "pre_existing_ip_ownership": "Retained by Vendor",
  "pre_existing_ip_categories": [
    "Prior tools/frameworks",
    "Independently developed",
    "General applicability"
  ],
  "pre_existing_ip_license_to_client.type": "Non-exclusive license",
  "pre_existing_ip_license_to_client.scope": "Use, reproduce, modify as embedded in Work Product",
  "pre_existing_ip_license_to_client.duration": "Perpetual",
  "pre_existing_ip_license_to_client.royalty": "Royalty-free",
  "pre_existing_ip_license_to_client.territory": "Worldwide",
  "residual_knowledge_clause": true,
  "residual_knowledge_limitation": "Must not infringe Client's patents or copyrights"
}
GPT-4o Mini
6531ms76/100

Incorrect/missing fields: pre_existing_ip_categories, work_product_ownership, assignment_mechanism, pre_existing_ip_ownership, pre_existing_ip_license_to_client.type, pre_existing_ip_license_to_client.scope, residual_knowledge_limitation

work_product_ownershipAll deliverables, work product, and inventions conceived, created, or developed by Vendor in the performance of this Agreement shall be considered "works made for hire" as defined by the U.S. Copyright Act. To the extent any Work Product does not qualify as a work made for hire, Vendor hereby irrevocably assigns to Client all right, title, and interest in and to such Work Product, including all intellectual property rights therein.(expected: Assigned to Client)
assignment_mechanismVendor irrevocably assigns to Client all right, title, and interest in and to such Work Product.(expected: Work made for hire + irrevocable assignment fallback)
pre_existing_ip_ownershipVendor retains all right, title, and interest in and to any tools, frameworks, libraries, methodologies, and know-how that existed prior to this Agreement, were developed independently outside the scope of this Agreement, or are of general applicability and not specific to Client's business.(expected: Retained by Vendor)
pre_existing_ip_categories["tools","frameworks","libraries","methodologies","know-how"](expected: ["Prior tools/frameworks","Independently developed","General applicability"])
pre_existing_ip_license_to_client.typeperpetual, irrevocable, worldwide, royalty-free, non-exclusive license(expected: Non-exclusive license)
pre_existing_ip_license_to_client.scopeto use, reproduce, and modify such Pre-Existing IP solely as embedded in the Work Product.(expected: Use, reproduce, modify as embedded in Work Product)
pre_existing_ip_license_to_client.durationperpetual
pre_existing_ip_license_to_client.royaltyroyalty-free
pre_existing_ip_license_to_client.territoryworldwide
residual_knowledge_clausetrue
residual_knowledge_limitationVendor's right to use general skills, knowledge, experience, and ideas retained in the unaided memories of Vendor's personnel provided such use does not infringe Client's patents or copyrights in the Work Product.(expected: Must not infringe Client's patents or copyrights)
4/11 fields correct
Grok 4
30917ms84/100

Incorrect/missing fields: pre_existing_ip_categories, work_product_ownership, pre_existing_ip_ownership, pre_existing_ip_license_to_client.type, residual_knowledge_limitation

work_product_ownershipClient(expected: Assigned to Client)
assignment_mechanismworks made for hire with irrevocable assignment fallback
pre_existing_ip_ownershipVendor(expected: Retained by Vendor)
pre_existing_ip_categories["existed prior to this Agreement","were developed independently outside the scope of this Agreement","are of general applicability and not specific to Client's business"](expected: ["Prior tools/frameworks","Independently developed","General applicability"])
pre_existing_ip_license_to_client.typenon-exclusive(expected: Non-exclusive license)
pre_existing_ip_license_to_client.scopeuse, reproduce, and modify solely as embedded in the Work Product
pre_existing_ip_license_to_client.durationperpetual, irrevocable
pre_existing_ip_license_to_client.royaltyroyalty-free
pre_existing_ip_license_to_client.territoryworldwide
residual_knowledge_clausetrue
residual_knowledge_limitationprovided such use does not infringe Client's patents or copyrights in the Work Product(expected: Must not infringe Client's patents or copyrights)
6/11 fields correct
Why this is hard: Must distinguish IP assignment (Work Product → Client) from IP licensing (Pre-Existing IP → non-exclusive license). Must capture all three categories of Pre-Existing IP. Residual knowledge clause is a separate carve-out. Models often incorrectly say ALL IP is assigned.
09LegalForce Majeure Scope Extraction
0vs95
Input
Section 15 — FORCE MAJEURE. 15.1 Neither party shall be liable for any failure or delay in performing its obligations under this Agreement (other than payment obligations, which shall not be excused) where such failure or delay results from Force Majeure Events including, but not limited to: acts of God, fire, flood, earthquake, epidemic, pandemic, war, terrorism, civil unrest, government sanctions, embargoes, strikes or labor disputes (excluding those involving a party's own employees), power grid failures, or internet backbone outages. 15.2 The affected party must provide written notice within five (5) business days of the Force Majeure Event's commencement, including a reasonable estimate of the expected duration. The affected party shall use commercially reasonable efforts to mitigate the impact. 15.3 If a Force Majeure Event continues for more than one hundred and twenty (120) consecutive calendar days, either party may terminate this Agreement upon written notice without penalty.
Expected Output
{
  "payment_obligations_excused": false,
  "notice_period_business_days": 5,
  "notice_requirements": [
    "Written notice",
    "Reasonable duration estimate"
  ],
  "mitigation_standard": "Commercially reasonable efforts",
  "termination_threshold_days": 120,
  "termination_penalty": false,
  "excluded_events": [
    "Strikes involving own employees"
  ],
  "included_events": [
    "Acts of God",
    "Fire",
    "Flood",
    "Earthquake",
    "Epidemic",
    "Pandemic",
    "War",
    "Terrorism",
    "Civil unrest",
    "Government sanctions",
    "Embargoes",
    "Strikes/labor disputes",
    "Power grid failures",
    "Internet backbone outages"
  ]
}
GPT-4o Mini
6917ms0/100

Incorrect/missing fields: payment_obligations_excused, notice_period_business_days, notice_requirements, mitigation_standard, termination_threshold_days, termination_penalty, excluded_events, included_events

payment_obligations_excused-(expected: false)
notice_period_business_days-(expected: 5)
notice_requirements-(expected: ["Written notice","Reasonable duration estimate"])
mitigation_standard-(expected: Commercially reasonable efforts)
termination_threshold_days-(expected: 120)
termination_penalty-(expected: false)
excluded_events-(expected: ["Strikes involving own employees"])
included_events-(expected: ["Acts of God","Fire","Flood","Earthquake","Epidemic","Pandemic","War","Terrorism","Civil unrest","Government sanctions","Embargoes","Strikes/labor disputes","Power grid failures","Internet backbone outages"])
0/8 fields correct
Grok 4
21603ms95/100

All fields correct

payment_obligations_excusedfalse
notice_period_business_days5
notice_requirements["written","reasonable estimate of expected duration"]
mitigation_standardcommercially reasonable efforts
termination_threshold_days120
termination_penaltyfalse
excluded_events["strikes or labor disputes involving a party's own employees"]
included_events["acts of God","fire","flood","earthquake","epidemic","pandemic","war","terrorism","civil unrest","government sanctions","embargoes","strikes or labor disputes (excluding those involving a party's own employees)","power grid failures","internet backbone outages"]
8/8 fields correct
Why this is hard: Critical: payment_obligations_excused must be FALSE. The key exclusion (own-employee strikes) is often missed. notice_period must be 5 BUSINESS days (not calendar). termination_threshold is 120 CALENDAR days.
10LegalNon-Compete Geographic Scope
94vs92
Input
Section 11 — RESTRICTIVE COVENANTS. 11.1 Non-Competition: For a period of eighteen (18) months following termination of employment for any reason, Employee shall not, directly or indirectly, engage in, own, manage, operate, consult for, or be employed by any Competing Business within the Restricted Territory. "Competing Business" means any entity that derives more than twenty percent (20%) of its annual revenue from products or services substantially similar to those offered by Company. "Restricted Territory" means the United States, the United Kingdom, and any country in which Company generated more than $5,000,000 in revenue during the twelve (12) months preceding termination. 11.2 Non-Solicitation of Employees: For a period of twenty-four (24) months following termination, Employee shall not recruit, solicit, or induce any person employed by Company (or who was employed within the six (6) months preceding such solicitation). 11.3 Non-Solicitation of Customers: For a period of twelve (12) months following termination, Employee shall not solicit any customer or prospective customer with whom Employee had material contact during the last twenty-four (24) months of employment. 11.4 Non-Disparagement: For a period of thirty-six (36) months following termination, Employee shall not make any public statements that disparage or defame Company, its officers, directors, or products. This obligation is mutual — Company shall instruct its officers and directors to refrain from disparaging Employee.
Expected Output
{
  "non_compete.duration_months": 18,
  "non_compete.scope": "Engage, own, manage, operate, consult, or be employed",
  "non_compete.competing_business_threshold": "20% of annual revenue from similar products/services",
  "non_compete.restricted_territory": [
    "United States",
    "United Kingdom",
    "Countries with >$5M Company revenue in prior 12 months"
  ],
  "non_solicitation_employees.duration_months": 24,
  "non_solicitation_employees.lookback_months": 6,
  "non_solicitation_customers.duration_months": 12,
  "non_solicitation_customers.contact_lookback_months": 24,
  "non_disparagement.duration_months": 36,
  "non_disparagement.is_mutual": true,
  "non_disparagement.company_scope": "Officers and directors"
}
GPT-4o Mini
5623ms94/100

Incorrect/missing fields: non_compete.scope, non_disparagement.company_scope

non_compete.duration_months18
non_compete.scopeEngage in, own, manage, operate, consult for, or be employed by any Competing Business(expected: Engage, own, manage, operate, consult, or be employed)
non_compete.competing_business_thresholdMore than twenty percent (20%) of annual revenue from similar products or services
non_compete.restricted_territory["United States","United Kingdom","Any country where Company generated more than $5,000,000 in revenue during the last twelve (12) months"]
non_solicitation_employees.duration_months24
non_solicitation_employees.lookback_months6
non_solicitation_customers.duration_months12
non_solicitation_customers.contact_lookback_months24
non_disparagement.duration_months36
non_disparagement.is_mutualtrue
non_disparagement.company_scopeCompany, its officers, directors, or products(expected: Officers and directors)
9/11 fields correct
Grok 4
40374ms92/100

Incorrect/missing fields: non_compete.scope, non_disparagement.company_scope

non_compete.duration_months18
non_compete.scopedirectly or indirectly, engage in, own, manage, operate, consult for, or be employed by any Competing Business(expected: Engage, own, manage, operate, consult, or be employed)
non_compete.competing_business_thresholdderives more than twenty percent (20%) of its annual revenue from products or services substantially similar to those offered by Company
non_compete.restricted_territory["United States","United Kingdom","any country in which Company generated more than $5,000,000 in revenue during the twelve (12) months preceding termination"]
non_solicitation_employees.duration_months24
non_solicitation_employees.lookback_months6
non_solicitation_customers.duration_months12
non_solicitation_customers.contact_lookback_months24
non_disparagement.duration_months36
non_disparagement.is_mutualtrue
non_disparagement.company_scopeCompany, its officers, directors, or products(expected: Officers and directors)
9/11 fields correct
Why this is hard: Each covenant has a DIFFERENT duration (18/24/12/36 months). Models frequently assign a single duration to all. The geographic scope has a dynamic '$5M revenue' threshold — not just static countries. Non-disparagement is MUTUAL. Non-solicitation of employees has a 6-month lookback.
11MedicalAcute vs Chronic Symptom Classification
87vs89
Input
Patient: Female, 67yo, presents to ED with acute onset chest pain (started 2 hours ago, 8/10 severity, substernal, radiating to left arm), on a background of chronic stable angina (diagnosed 2019, managed with isosorbide mononitrate 60mg QD). History of Type 2 DM (HbA1c 7.2%, on metformin 1000mg BID + empagliflozin 25mg QD), hypertension (BP 168/94 on arrival, home meds: amlodipine 10mg + lisinopril 40mg), and previous NSTEMI (March 2023). Allergies: Aspirin (urticaria), Atorvastatin (myalgia — switched to rosuvastatin 20mg). Current vitals: HR 96 bpm, RR 22, SpO2 94% on RA, Temp 36.8°C.
Expected Output
{
  "demographics.sex": "Female",
  "demographics.age": 67,
  "chief_complaint": "Acute onset chest pain",
  "presenting_symptoms": [
    {
      "symptom": "Chest pain",
      "onset": "Acute",
      "duration": "2 hours",
      "severity": "8/10",
      "location": "Substernal",
      "radiation": "Left arm"
    }
  ],
  "chronic_conditions": [
    {
      "condition": "Chronic stable angina",
      "diagnosed": "2019",
      "status": "Managed"
    },
    {
      "condition": "Type 2 Diabetes Mellitus",
      "marker": "HbA1c 7.2%"
    },
    {
      "condition": "Hypertension",
      "current_bp": "168/94"
    },
    {
      "condition": "Previous NSTEMI",
      "date": "March 2023"
    }
  ],
  "medications": [
    {
      "name": "Isosorbide mononitrate",
      "dose": "60mg",
      "frequency": "QD",
      "indication": "Angina"
    },
    {
      "name": "Metformin",
      "dose": "1000mg",
      "frequency": "BID",
      "indication": "Diabetes"
    },
    {
      "name": "Empagliflozin",
      "dose": "25mg",
      "frequency": "QD",
      "indication": "Diabetes"
    },
    {
      "name": "Amlodipine",
      "dose": "10mg",
      "frequency": "QD",
      "indication": "Hypertension"
    },
    {
      "name": "Lisinopril",
      "dose": "40mg",
      "frequency": "QD",
      "indication": "Hypertension"
    },
    {
      "name": "Rosuvastatin",
      "dose": "20mg",
      "frequency": "QD",
      "indication": "Cholesterol"
    }
  ],
  "allergies": [
    {
      "drug": "Aspirin",
      "reaction": "Urticaria"
    },
    {
      "drug": "Atorvastatin",
      "reaction": "Myalgia",
      "note": "Switched to rosuvastatin"
    }
  ],
  "vitals.hr_bpm": 96,
  "vitals.rr": 22,
  "vitals.spo2_percent": 94,
  "vitals.temp_celsius": 36.8
}
GPT-4o Mini
13064ms87/100

Incorrect/missing fields: presenting_symptoms, chronic_conditions, medications, allergies

demographics.sexFemale
demographics.age67
chief_complaintacute onset chest pain
presenting_symptoms[{"symptom":"chest pain","onset":"2 hours ago","duration":"acute","severity":"8/10","location":"substernal","radiation":"to left arm"}](expected: [{"symptom":"Chest pain","onset":"Acute","duration":"2 hours","severity":"8/10","location":"Substernal","radiation":"Left arm"}])
chronic_conditions[{"condition":"chronic stable angina","diagnosed":"2019","status":"managed with isosorbide mononitrate 60mg QD"},{"condition":"Type 2 DM","diagnosed":"N/A","status":"HbA1c 7.2%, on metformin 1000mg BID + empagliflozin 25mg QD"},{"condition":"hypertension","diagnosed":"N/A","status":"BP 168/94 on arrival, home meds: amlodipine 10mg + lisinopril 40mg"},{"condition":"previous NSTEMI","diagnosed":"March 2023","status":"N/A"}](expected: [{"condition":"Chronic stable angina","diagnosed":"2019","status":"Managed"},{"condition":"Type 2 Diabetes Mellitus","marker":"HbA1c 7.2%"},{"condition":"Hypertension","current_bp":"168/94"},{"condition":"Previous NSTEMI","date":"March 2023"}])
medications[{"name":"isosorbide mononitrate","dose":"60mg","frequency":"QD","indication":"chronic stable angina"},{"name":"metformin","dose":"1000mg","frequency":"BID","indication":"Type 2 DM"},{"name":"empagliflozin","dose":"25mg","frequency":"QD","indication":"Type 2 DM"},{"name":"amlodipine","dose":"10mg","frequency":"N/A","indication":"hypertension"},{"name":"lisinopril","dose":"40mg","frequency":"N/A","indication":"hypertension"},{"name":"rosuvastatin","dose":"20mg","frequency":"N/A","indication":"hyperlipidemia (switched from atorvastatin due to myalgia)"}](expected: [{"name":"Isosorbide mononitrate","dose":"60mg","frequency":"QD","indication":"Angina"},{"name":"Metformin","dose":"1000mg","frequency":"BID","indication":"Diabetes"},{"name":"Empagliflozin","dose":"25mg","frequency":"QD","indication":"Diabetes"},{"name":"Amlodipine","dose":"10mg","frequency":"QD","indication":"Hypertension"},{"name":"Lisinopril","dose":"40mg","frequency":"QD","indication":"Hypertension"},{"name":"Rosuvastatin","dose":"20mg","frequency":"QD","indication":"Cholesterol"}])
allergies[{"drug":"Aspirin","reaction":"urticaria"},{"drug":"Atorvastatin","reaction":"myalgia - switched to rosuvastatin 20mg"}](expected: [{"drug":"Aspirin","reaction":"Urticaria"},{"drug":"Atorvastatin","reaction":"Myalgia","note":"Switched to rosuvastatin"}])
vitals.hr_bpm96
vitals.rr22
vitals.spo2_percent94
vitals.temp_celsius36.8
7/11 fields correct
Grok 4
46307ms89/100

Incorrect/missing fields: chronic_conditions, chief_complaint

demographics.sexFemale
demographics.age67
chief_complaintchest pain(expected: Acute onset chest pain)
presenting_symptoms[{"symptom":"chest pain","onset":"started 2 hours ago","duration":"2 hours","severity":"8/10","location":"substernal","radiation":"to left arm"}]
chronic_conditions[{"condition":"chronic stable angina","diagnosed":"2019","status":"stable"},{"condition":"Type 2 diabetes mellitus","diagnosed":"unknown","status":"managed"},{"condition":"hypertension","diagnosed":"unknown","status":"managed"},{"condition":"NSTEMI","diagnosed":"March 2023","status":"previous"}](expected: [{"condition":"Chronic stable angina","diagnosed":"2019","status":"Managed"},{"condition":"Type 2 Diabetes Mellitus","marker":"HbA1c 7.2%"},{"condition":"Hypertension","current_bp":"168/94"},{"condition":"Previous NSTEMI","date":"March 2023"}])
medications[{"name":"isosorbide mononitrate","dose":"60mg","frequency":"QD","indication":"angina"},{"name":"metformin","dose":"1000mg","frequency":"BID","indication":"Type 2 diabetes mellitus"},{"name":"empagliflozin","dose":"25mg","frequency":"QD","indication":"Type 2 diabetes mellitus"},{"name":"amlodipine","dose":"10mg","frequency":"QD","indication":"hypertension"},{"name":"lisinopril","dose":"40mg","frequency":"QD","indication":"hypertension"},{"name":"rosuvastatin","dose":"20mg","frequency":"QD","indication":"dyslipidemia"}]
allergies[{"drug":"Aspirin","reaction":"urticaria"},{"drug":"Atorvastatin","reaction":"myalgia"}]
vitals.hr_bpm96
vitals.rr22
vitals.spo2_percent94
vitals.temp_celsius36.8
9/11 fields correct
Why this is hard: Chest pain is ACUTE (2 hours), angina is CHRONIC (2019). Models must not merge these. All 6 medications must be extracted with correct frequency. Atorvastatin is an ALLERGY not a current medication. Rosuvastatin is the replacement. Vitals must be numeric.
12MedicalLab Results with Reference Ranges
97vs60
Input
COMPREHENSIVE METABOLIC PANEL — Collected: 02/15/2026 07:30. Glucose: 187 mg/dL (ref: 70-100, FLAG: HIGH). BUN: 42 mg/dL (ref: 7-20, FLAG: HIGH). Creatinine: 2.1 mg/dL (ref: 0.7-1.3, FLAG: HIGH). eGFR: 28 mL/min/1.73m² (ref: >60, FLAG: LOW — Stage 4 CKD). Sodium: 138 mEq/L (ref: 136-145). Potassium: 5.6 mEq/L (ref: 3.5-5.0, FLAG: HIGH — CRITICAL). Chloride: 102 mEq/L (ref: 98-106). CO2: 19 mEq/L (ref: 23-29, FLAG: LOW). Calcium: 8.2 mg/dL (ref: 8.5-10.5, FLAG: LOW). Total Protein: 6.8 g/dL (ref: 6.0-8.3). Albumin: 3.1 g/dL (ref: 3.5-5.5, FLAG: LOW). Bilirubin, Total: 0.9 mg/dL (ref: 0.1-1.2). ALT: 24 U/L (ref: 7-56). AST: 31 U/L (ref: 10-40). Alk Phos: 98 U/L (ref: 44-147).
Expected Output
{
  "panel_type": "Comprehensive Metabolic Panel",
  "collected": "2026-02-15T07:30",
  "results": [
    {
      "test": "Glucose",
      "value": 187,
      "unit": "mg/dL",
      "ref_low": 70,
      "ref_high": 100,
      "flag": "HIGH"
    },
    {
      "test": "BUN",
      "value": 42,
      "unit": "mg/dL",
      "ref_low": 7,
      "ref_high": 20,
      "flag": "HIGH"
    },
    {
      "test": "Creatinine",
      "value": 2.1,
      "unit": "mg/dL",
      "ref_low": 0.7,
      "ref_high": 1.3,
      "flag": "HIGH"
    },
    {
      "test": "eGFR",
      "value": 28,
      "unit": "mL/min/1.73m²",
      "ref_low": 60,
      "ref_high": null,
      "flag": "LOW",
      "note": "Stage 4 CKD"
    },
    {
      "test": "Sodium",
      "value": 138,
      "unit": "mEq/L",
      "ref_low": 136,
      "ref_high": 145,
      "flag": null
    },
    {
      "test": "Potassium",
      "value": 5.6,
      "unit": "mEq/L",
      "ref_low": 3.5,
      "ref_high": 5,
      "flag": "HIGH",
      "critical": true
    },
    {
      "test": "Chloride",
      "value": 102,
      "unit": "mEq/L",
      "ref_low": 98,
      "ref_high": 106,
      "flag": null
    },
    {
      "test": "CO2",
      "value": 19,
      "unit": "mEq/L",
      "ref_low": 23,
      "ref_high": 29,
      "flag": "LOW"
    },
    {
      "test": "Calcium",
      "value": 8.2,
      "unit": "mg/dL",
      "ref_low": 8.5,
      "ref_high": 10.5,
      "flag": "LOW"
    },
    {
      "test": "Total Protein",
      "value": 6.8,
      "unit": "g/dL",
      "ref_low": 6,
      "ref_high": 8.3,
      "flag": null
    },
    {
      "test": "Albumin",
      "value": 3.1,
      "unit": "g/dL",
      "ref_low": 3.5,
      "ref_high": 5.5,
      "flag": "LOW"
    },
    {
      "test": "Bilirubin Total",
      "value": 0.9,
      "unit": "mg/dL",
      "ref_low": 0.1,
      "ref_high": 1.2,
      "flag": null
    },
    {
      "test": "ALT",
      "value": 24,
      "unit": "U/L",
      "ref_low": 7,
      "ref_high": 56,
      "flag": null
    },
    {
      "test": "AST",
      "value": 31,
      "unit": "U/L",
      "ref_low": 10,
      "ref_high": 40,
      "flag": null
    },
    {
      "test": "Alk Phos",
      "value": 98,
      "unit": "U/L",
      "ref_low": 44,
      "ref_high": 147,
      "flag": null
    }
  ],
  "critical_values": [
    "Potassium 5.6 mEq/L"
  ],
  "abnormal_count": 7,
  "normal_count": 8
}
GPT-4o Mini
12215ms97/100

All fields correct

panel_typeCOMPREHENSIVE METABOLIC PANEL
collected02/15/2026 07:30
results[{"test":"Glucose","value":187,"unit":"mg/dL","ref_low":70,"ref_high":100,"flag":"HIGH"},{"test":"BUN","value":42,"unit":"mg/dL","ref_low":7,"ref_high":20,"flag":"HIGH"},{"test":"Creatinine","value":2.1,"unit":"mg/dL","ref_low":0.7,"ref_high":1.3,"flag":"HIGH"},{"test":"eGFR","value":28,"unit":"mL/min/1.73m²","ref_low":60,"ref_high":100,"flag":"LOW - Stage 4 CKD"},{"test":"Sodium","value":138,"unit":"mEq/L","ref_low":136,"ref_high":145,"flag":""},{"test":"Potassium","value":5.6,"unit":"mEq/L","ref_low":3.5,"ref_high":5,"flag":"HIGH - CRITICAL"},{"test":"Chloride","value":102,"unit":"mEq/L","ref_low":98,"ref_high":106,"flag":""},{"test":"CO2","value":19,"unit":"mEq/L","ref_low":23,"ref_high":29,"flag":"LOW"},{"test":"Calcium","value":8.2,"unit":"mg/dL","ref_low":8.5,"ref_high":10.5,"flag":"LOW"},{"test":"Total Protein","value":6.8,"unit":"g/dL","ref_low":6,"ref_high":8.3,"flag":""},{"test":"Albumin","value":3.1,"unit":"g/dL","ref_low":3.5,"ref_high":5.5,"flag":"LOW"},{"test":"Bilirubin, Total","value":0.9,"unit":"mg/dL","ref_low":0.1,"ref_high":1.2,"flag":""},{"test":"ALT","value":24,"unit":"U/L","ref_low":7,"ref_high":56,"flag":""},{"test":"AST","value":31,"unit":"U/L","ref_low":10,"ref_high":40,"flag":""},{"test":"Alk Phos","value":98,"unit":"U/L","ref_low":44,"ref_high":147,"flag":""}]
critical_values["Potassium: 5.6 mEq/L"]
abnormal_count7
normal_count8
6/6 fields correct
Grok 4
122080ms60/100

Incorrect/missing fields: abnormal_count, normal_count, critical_values

panel_typeCOMPREHENSIVE METABOLIC PANEL
collected02/15/2026 07:30
results[{"test":"Glucose","value":187,"unit":"mg/dL","ref_low":70,"ref_high":100,"flag":"HIGH"},{"test":"BUN","value":42,"unit":"mg/dL","ref_low":7,"ref_high":20,"flag":"HIGH"},{"test":"Creatinine","value":2.1,"unit":"mg/dL","ref_low":0.7,"ref_high":1.3,"flag":"HIGH"},{"test":"eGFR","value":28,"unit":"mL/min/1.73m²","ref_low":60,"ref_high":999,"flag":"LOW - Stage 4 CKD"},{"test":"Sodium","value":138,"unit":"mEq/L","ref_low":136,"ref_high":145,"flag":""},{"test":"Potassium","value":5.6,"unit":"mEq/L","ref_low":3.5,"ref_high":5,"flag":"HIGH - CRITICAL"},{"test":"Chloride","value":102,"unit":"mEq/L","ref_low":98,"ref_high":106,"flag":""},{"test":"CO2","value":19,"unit":"mEq/L","ref_low":23,"ref_high":29,"flag":"LOW"},{"test":"Calcium","value":8.2,"unit":"mg/dL","ref_low":8.5,"ref_high":10.5,"flag":"LOW"},{"test":"Total Protein","value":6.8,"unit":"g/dL","ref_low":6,"ref_high":8.3,"flag":""},{"test":"Albumin","value":3.1,"unit":"g/dL","ref_low":3.5,"ref_high":5.5,"flag":"LOW"},{"test":"Bilirubin, Total","value":0.9,"unit":"mg/dL","ref_low":0.1,"ref_high":1.2,"flag":""},{"test":"ALT","value":24,"unit":"U/L","ref_low":7,"ref_high":56,"flag":""},{"test":"AST","value":31,"unit":"U/L","ref_low":10,"ref_high":40,"flag":""},{"test":"Alk Phos","value":98,"unit":"U/L","ref_low":44,"ref_high":147,"flag":""}]
critical_values["Potassium"](expected: ["Potassium 5.6 mEq/L"])
abnormal_count8(expected: 7)
normal_count7(expected: 8)
3/6 fields correct
Why this is hard: All 15 lab tests must be extracted. Potassium must be flagged as CRITICAL (not just HIGH). eGFR has a one-sided reference range (>60) — ref_high should be null. Numeric values must be numbers, not strings. Count of abnormal (7) and normal (8) must sum to 15.
13MedicalMedication Reconciliation with Conflicts
51vs65
Input
MEDICATION RECONCILIATION — Inpatient Day 3. Current Orders: (1) Warfarin 5mg PO QD (for AFib — INR target 2.0-3.0, last INR 2.4 on 02/13). (2) Metoprolol Succinate 100mg PO QD. (3) Diltiazem ER 240mg PO QD. (4) Amiodarone 200mg PO QD (started 02/12 for rate-refractory AFib). (5) Fluconazole 400mg IV QD (Day 5 of 14 for candidemia). (6) Enoxaparin 80mg SQ Q12H (DVT prophylaxis — started before warfarin was therapeutic). (7) Acetaminophen 1000mg PO Q6H PRN. (8) Omeprazole 40mg PO QD. Home Medications NOT continued: Aspirin 81mg QD (held due to warfarin + enoxaparin = triple antithrombotic risk).
Expected Output
{
  "active_medications": [
    {
      "name": "Warfarin",
      "dose": "5mg",
      "route": "PO",
      "frequency": "QD",
      "indication": "AFib"
    },
    {
      "name": "Metoprolol Succinate",
      "dose": "100mg",
      "route": "PO",
      "frequency": "QD"
    },
    {
      "name": "Diltiazem ER",
      "dose": "240mg",
      "route": "PO",
      "frequency": "QD"
    },
    {
      "name": "Amiodarone",
      "dose": "200mg",
      "route": "PO",
      "frequency": "QD",
      "indication": "Rate-refractory AFib",
      "start_date": "02/12"
    },
    {
      "name": "Fluconazole",
      "dose": "400mg",
      "route": "IV",
      "frequency": "QD",
      "indication": "Candidemia",
      "day": 5,
      "total_days": 14
    },
    {
      "name": "Enoxaparin",
      "dose": "80mg",
      "route": "SQ",
      "frequency": "Q12H",
      "indication": "DVT prophylaxis"
    },
    {
      "name": "Acetaminophen",
      "dose": "1000mg",
      "route": "PO",
      "frequency": "Q6H",
      "prn": true
    },
    {
      "name": "Omeprazole",
      "dose": "40mg",
      "route": "PO",
      "frequency": "QD"
    }
  ],
  "held_medications": [
    {
      "name": "Aspirin",
      "dose": "81mg",
      "reason": "Triple antithrombotic risk with warfarin + enoxaparin"
    }
  ],
  "potential_interactions": [
    {
      "drugs": [
        "Warfarin",
        "Fluconazole"
      ],
      "severity": "Major",
      "effect": "Fluconazole inhibits CYP2C9, significantly increasing warfarin levels and bleeding risk"
    },
    {
      "drugs": [
        "Warfarin",
        "Amiodarone"
      ],
      "severity": "Major",
      "effect": "Amiodarone inhibits CYP2C9/1A2/3A4, increasing warfarin effect — typical dose reduction 30-50%"
    },
    {
      "drugs": [
        "Metoprolol",
        "Diltiazem"
      ],
      "severity": "Major",
      "effect": "Additive AV nodal blockade — risk of severe bradycardia or heart block"
    },
    {
      "drugs": [
        "Warfarin",
        "Enoxaparin"
      ],
      "severity": "High",
      "effect": "Dual anticoagulation increases bleeding risk"
    }
  ],
  "therapeutic_duplications": [
    {
      "category": "Rate control",
      "drugs": [
        "Metoprolol",
        "Diltiazem",
        "Amiodarone"
      ],
      "note": "Triple rate control — assess need for all three"
    }
  ]
}
GPT-4o Mini
10470ms51/100

Incorrect/missing fields: potential_interactions, therapeutic_duplications

active_medications[{"name":"Warfarin","dose":"5mg","route":"PO","frequency":"QD","indication":"AFib - INR target 2.0-3.0, last INR 2.4 on 02/13"},{"name":"Metoprolol Succinate","dose":"100mg","route":"PO","frequency":"QD","indication":""},{"name":"Diltiazem ER","dose":"240mg","route":"PO","frequency":"QD","indication":""},{"name":"Amiodarone","dose":"200mg","route":"PO","frequency":"QD","indication":"started 02/12 for rate-refractory AFib"},{"name":"Fluconazole","dose":"400mg","route":"IV","frequency":"QD","indication":"Day 5 of 14 for candidemia"},{"name":"Enoxaparin","dose":"80mg","route":"SQ","frequency":"Q12H","indication":"DVT prophylaxis - started before warfarin was therapeutic"},{"name":"Acetaminophen","dose":"1000mg","route":"PO","frequency":"Q6H PRN","indication":""},{"name":"Omeprazole","dose":"40mg","route":"PO","frequency":"QD","indication":""}]
held_medications[{"name":"Aspirin","dose":"81mg","reason":"held due to warfarin + enoxaparin = triple antithrombotic risk"}]
potential_interactions[{"drugs":["Warfarin","Amiodarone"],"severity":"Major","effect":"Increased risk of bleeding."},{"drugs":["Warfarin","Fluconazole"],"severity":"Major","effect":"Increased INR and risk of bleeding."},{"drugs":["Diltiazem","Metoprolol"],"severity":"Moderate","effect":"Increased risk of hypotension and bradycardia."}](expected: [{"drugs":["Warfarin","Fluconazole"],"severity":"Major","effect":"Fluconazole inhibits CYP2C9, significantly increasing warfarin levels and bleeding risk"},{"drugs":["Warfarin","Amiodarone"],"severity":"Major","effect":"Amiodarone inhibits CYP2C9/1A2/3A4, increasing warfarin effect — typical dose reduction 30-50%"},{"drugs":["Metoprolol","Diltiazem"],"severity":"Major","effect":"Additive AV nodal blockade — risk of severe bradycardia or heart block"},{"drugs":["Warfarin","Enoxaparin"],"severity":"High","effect":"Dual anticoagulation increases bleeding risk"}])
therapeutic_duplications[](expected: [{"category":"Rate control","drugs":["Metoprolol","Diltiazem","Amiodarone"],"note":"Triple rate control — assess need for all three"}])
2/4 fields correct
Grok 4
57305ms65/100

Incorrect/missing fields: potential_interactions, therapeutic_duplications

active_medications[{"name":"Warfarin","dose":"5mg","route":"PO","frequency":"QD","indication":"for AFib"},{"name":"Metoprolol Succinate","dose":"100mg","route":"PO","frequency":"QD","indication":"for AFib rate control"},{"name":"Diltiazem ER","dose":"240mg","route":"PO","frequency":"QD","indication":"for AFib rate control"},{"name":"Amiodarone","dose":"200mg","route":"PO","frequency":"QD","indication":"for rate-refractory AFib"},{"name":"Fluconazole","dose":"400mg","route":"IV","frequency":"QD","indication":"for candidemia"},{"name":"Enoxaparin","dose":"80mg","route":"SQ","frequency":"Q12H","indication":"DVT prophylaxis"},{"name":"Acetaminophen","dose":"1000mg","route":"PO","frequency":"Q6H PRN","indication":"pain or fever"},{"name":"Omeprazole","dose":"40mg","route":"PO","frequency":"QD","indication":"acid suppression"}]
held_medications[{"name":"Aspirin","dose":"81mg","reason":"held due to warfarin + enoxaparin = triple antithrombotic risk"}]
potential_interactions[{"drugs":["Warfarin","Amiodarone"],"severity":"Major","effect":"Amiodarone potentiates the anticoagulant effect of warfarin, increasing the risk of bleeding."},{"drugs":["Warfarin","Fluconazole"],"severity":"Major","effect":"Fluconazole increases the anticoagulant effect of warfarin by inhibiting its metabolism."},{"drugs":["Warfarin","Enoxaparin"],"severity":"Major","effect":"Concurrent use increases the risk of bleeding due to additive anticoagulant effects."},{"drugs":["Amiodarone","Metoprolol Succinate"],"severity":"Moderate","effect":"Additive bradycardic effects, may lead to hypotension or heart block."},{"drugs":["Amiodarone","Diltiazem ER"],"severity":"Moderate","effect":"Additive effects on AV conduction, risk of bradycardia."},{"drugs":["Metoprolol Succinate","Diltiazem ER"],"severity":"Moderate","effect":"Additive negative effects on heart rate and contractility."},{"drugs":["Warfarin","Acetaminophen"],"severity":"Moderate","effect":"High doses of acetaminophen may increase INR and bleeding risk."}](expected: [{"drugs":["Warfarin","Fluconazole"],"severity":"Major","effect":"Fluconazole inhibits CYP2C9, significantly increasing warfarin levels and bleeding risk"},{"drugs":["Warfarin","Amiodarone"],"severity":"Major","effect":"Amiodarone inhibits CYP2C9/1A2/3A4, increasing warfarin effect — typical dose reduction 30-50%"},{"drugs":["Metoprolol","Diltiazem"],"severity":"Major","effect":"Additive AV nodal blockade — risk of severe bradycardia or heart block"},{"drugs":["Warfarin","Enoxaparin"],"severity":"High","effect":"Dual anticoagulation increases bleeding risk"}])
therapeutic_duplications[{"category":"Anticoagulants","drugs":["Warfarin","Enoxaparin"],"note":"Used for bridging therapy until warfarin is therapeutic, but increases bleeding risk."},{"category":"Rate control agents","drugs":["Metoprolol Succinate","Diltiazem ER","Amiodarone"],"note":"Multiple agents for rate control in AFib; monitor for excessive bradycardia."}](expected: [{"category":"Rate control","drugs":["Metoprolol","Diltiazem","Amiodarone"],"note":"Triple rate control — assess need for all three"}])
2/4 fields correct
Why this is hard: Must identify ALL 4 major drug interactions. The Warfarin-Fluconazole CYP2C9 interaction is frequently missed by smaller models. Metoprolol+Diltiazem dual AV nodal blockade must be flagged. Aspirin is HELD, not active. Acetaminophen must be marked PRN.
14MedicalSurgical Note Parsing
95vs95
Input
OPERATIVE REPORT. Date: 02/20/2026. Surgeon: Dr. Sarah Chen, MD, FACS. Assistant: Dr. James Park, MD. Anesthesia: General endotracheal (Dr. Reeves). Procedure: Laparoscopic cholecystectomy converted to open cholecystectomy. Indication: Acute cholecystitis with empyema, failed medical management. Findings: Gallbladder severely inflamed, gangrenous with empyema. Dense adhesions to duodenum and hepatic flexure of colon. Critical view of safety could NOT be obtained laparoscopically — decision to convert at 47 minutes. Common bile duct diameter 6mm, no stones, confirmed with intraoperative cholangiogram. Estimated blood loss: 350mL. Specimens: Gallbladder sent to pathology. Drain: 19-Fr Blake drain placed in Morrison's pouch. Complications: None intraoperative. Patient extubated and transferred to PACU in stable condition.
Expected Output
{
  "date": "2026-02-20",
  "surgeon.name": "Dr. Sarah Chen",
  "surgeon.credentials": "MD, FACS",
  "assistant.name": "Dr. James Park",
  "assistant.credentials": "MD",
  "anesthesiologist": "Dr. Reeves",
  "anesthesia_type": "General endotracheal",
  "procedure_planned": "Laparoscopic cholecystectomy",
  "procedure_actual": "Open cholecystectomy",
  "was_converted": true,
  "conversion_time_minutes": 47,
  "indication": "Acute cholecystitis with empyema",
  "findings.gallbladder_status": "Gangrenous with empyema",
  "findings.adhesions": "Dense, to duodenum and hepatic flexure",
  "findings.critical_view_obtained": false,
  "findings.cbd_diameter_mm": 6,
  "findings.cbd_stones": false,
  "findings.cholangiogram_performed": true,
  "ebl_ml": 350,
  "specimens": [
    "Gallbladder"
  ],
  "drain.type": "19-Fr Blake",
  "drain.location": "Morrison's pouch",
  "complications": "None",
  "disposition": "PACU, stable"
}
GPT-4o Mini
6820ms95/100

Incorrect/missing fields: complications

date02/20/2026
surgeon.nameDr. Sarah Chen
surgeon.credentialsMD, FACS
assistant.nameDr. James Park
assistant.credentialsMD
anesthesiologistDr. Reeves
anesthesia_typeGeneral endotracheal
procedure_plannedLaparoscopic cholecystectomy
procedure_actualOpen cholecystectomy
was_convertedtrue
conversion_time_minutes47
indicationAcute cholecystitis with empyema, failed medical management
findings.gallbladder_statusSeverely inflamed, gangrenous with empyema
findings.adhesionsDense adhesions to duodenum and hepatic flexure of colon
findings.critical_view_obtainedfalse
findings.cbd_diameter_mm6
findings.cbd_stonesfalse
findings.cholangiogram_performedtrue
ebl_ml350
specimens["Gallbladder"]
drain.type19-Fr Blake drain
drain.locationMorrison's pouch
complicationsNone intraoperative(expected: None)
dispositionPatient extubated and transferred to PACU in stable condition
23/24 fields correct
Grok 4
13147ms95/100

Incorrect/missing fields: complications, disposition

date02/20/2026
surgeon.nameDr. Sarah Chen
surgeon.credentialsMD, FACS
assistant.nameDr. James Park
assistant.credentialsMD
anesthesiologistDr. Reeves
anesthesia_typeGeneral endotracheal
procedure_plannedLaparoscopic cholecystectomy
procedure_actualOpen cholecystectomy
was_convertedtrue
conversion_time_minutes47
indicationAcute cholecystitis with empyema, failed medical management
findings.gallbladder_statusseverely inflamed, gangrenous with empyema
findings.adhesionsDense adhesions to duodenum and hepatic flexure of colon
findings.critical_view_obtainedfalse
findings.cbd_diameter_mm6
findings.cbd_stonesfalse
findings.cholangiogram_performedtrue
ebl_ml350
specimens["Gallbladder"]
drain.type19-Fr Blake drain
drain.locationMorrison's pouch
complicationsNone intraoperative(expected: None)
dispositionExtubated and transferred to PACU in stable condition(expected: PACU, stable)
22/24 fields correct
Why this is hard: was_converted must be true. critical_view_obtained must be false (this is WHY they converted). cbd_stones must be false (6mm diameter, no stones). conversion_time_minutes must be 47. Models often miss the conversion narrative or default critical_view_obtained to true.
15MedicalRadiology Report Structured Extraction
88vs93
Input
CT CHEST WITH CONTRAST — 02/18/2026. CLINICAL INDICATION: 67F with history of NSCLC s/p right upper lobectomy (2024), new cough, rule out recurrence. TECHNIQUE: Helical CT from thoracic inlet to adrenals with 80mL Omnipaque 350 IV contrast. COMPARISON: CT Chest 08/12/2025. FINDINGS: LUNGS: New 1.8 × 1.4 cm spiculated soft tissue nodule in the right lower lobe (series 4, image 187), suspicious for recurrence. No prior correlate. Stable 4mm ground-glass nodule in the left lower lobe (previously noted, unchanged from 08/2025). Post-surgical changes in the right upper lobe with expected fibrotic bands. MEDIASTINUM: New subcarinal lymph node measuring 1.6 cm short axis (previously 0.8 cm), concerning for metastatic adenopathy. Right hilar lymphadenopathy, largest node 1.2 cm (new). Heart size normal. No pericardial effusion. PLEURA: Small right-sided pleural effusion (new). No pneumothorax. BONES: No suspicious osseous lesions. Mild degenerative changes thoracic spine. UPPER ABDOMEN: Left adrenal gland 2.1 cm nodule with enhancement (not present on prior) — cannot exclude metastasis. Right adrenal normal. IMPRESSION: 1. New 1.8 cm spiculated RLL nodule — highly suspicious for recurrence of NSCLC. 2. New mediastinal and right hilar lymphadenopathy — concerning for nodal metastasis. 3. New left adrenal nodule — metastasis cannot be excluded; recommend dedicated adrenal CT or PET-CT. 4. New small right pleural effusion — may represent malignant effusion in this context. 5. Stable LLL 4mm GGN — recommend continued surveillance. RECOMMENDATION: PET-CT recommended. Multidisciplinary tumor board review.
Expected Output
{
  "study_type": "CT Chest with contrast",
  "date": "2026-02-18",
  "clinical_history": "67F, NSCLC s/p right upper lobectomy (2024), new cough",
  "comparison_study": "CT Chest 08/12/2025",
  "new_findings": [
    {
      "location": "Right lower lobe",
      "description": "1.8 × 1.4 cm spiculated soft tissue nodule",
      "concern": "Recurrence of NSCLC",
      "severity": "Highly suspicious"
    },
    {
      "location": "Subcarinal",
      "description": "Lymph node 1.6 cm short axis (was 0.8 cm)",
      "concern": "Metastatic adenopathy"
    },
    {
      "location": "Right hilum",
      "description": "Lymphadenopathy, largest 1.2 cm",
      "concern": "Metastatic adenopathy"
    },
    {
      "location": "Right pleura",
      "description": "Small pleural effusion",
      "concern": "Possible malignant effusion"
    },
    {
      "location": "Left adrenal",
      "description": "2.1 cm enhancing nodule",
      "concern": "Cannot exclude metastasis"
    }
  ],
  "stable_findings": [
    {
      "location": "Left lower lobe",
      "description": "4mm ground-glass nodule",
      "comparison": "Unchanged from 08/2025"
    }
  ],
  "post_surgical": "Right upper lobectomy changes with fibrotic bands",
  "impressions_count": 5,
  "recommendations": [
    "PET-CT",
    "Multidisciplinary tumor board review",
    "Continued surveillance of LLL GGN"
  ],
  "overall_concern": "Likely NSCLC recurrence with possible nodal and adrenal metastasis"
}
GPT-4o Mini
12208ms88/100

Incorrect/missing fields: new_findings, recommendations

study_typeCT CHEST WITH CONTRAST
date02/18/2026
clinical_history67F with history of NSCLC s/p right upper lobectomy (2024), new cough, rule out recurrence.
comparison_studyCT Chest 08/12/2025.
new_findings[{"location":"right lower lobe","description":"New 1.8 × 1.4 cm spiculated soft tissue nodule","concern":"suspicious for recurrence","severity":"highly suspicious"},{"location":"subcarinal lymph node","description":"New measuring 1.6 cm short axis (previously 0.8 cm)","concern":"concerning for metastatic adenopathy","severity":"concerning"},{"location":"right hilar lymphadenopathy","description":"Largest node 1.2 cm (new)","concern":"concerning for nodal metastasis","severity":"concerning"},{"location":"left adrenal gland","description":"2.1 cm nodule with enhancement (not present on prior)","concern":"cannot exclude metastasis","severity":"unclear"},{"location":"right pleural space","description":"Small right-sided pleural effusion (new)","concern":"may represent malignant effusion","severity":"possible concern"}](expected: [{"location":"Right lower lobe","description":"1.8 × 1.4 cm spiculated soft tissue nodule","concern":"Recurrence of NSCLC","severity":"Highly suspicious"},{"location":"Subcarinal","description":"Lymph node 1.6 cm short axis (was 0.8 cm)","concern":"Metastatic adenopathy"},{"location":"Right hilum","description":"Lymphadenopathy, largest 1.2 cm","concern":"Metastatic adenopathy"},{"location":"Right pleura","description":"Small pleural effusion","concern":"Possible malignant effusion"},{"location":"Left adrenal","description":"2.1 cm enhancing nodule","concern":"Cannot exclude metastasis"}])
stable_findings[{"location":"left lower lobe","description":"Stable 4mm ground-glass nodule","comparison":"unchanged from 08/2025"},{"location":"right upper lobe","description":"Post-surgical changes with expected fibrotic bands","comparison":"post-surgical"},{"location":"bones","description":"No suspicious osseous lesions, mild degenerative changes thoracic spine","comparison":"stable"},{"location":"heart","description":"Normal size","comparison":"no changes"},{"location":"pericardium","description":"No pericardial effusion","comparison":"no changes"},{"location":"right adrenal","description":"Normal","comparison":"no changes"}]
post_surgicalPost-surgical changes in the right upper lobe with expected fibrotic bands.
impressions_count5
recommendations["PET-CT recommended.","Multidisciplinary tumor board review."](expected: ["PET-CT","Multidisciplinary tumor board review","Continued surveillance of LLL GGN"])
overall_concernHigh concern for recurrence of NSCLC and possible metastasis.
8/10 fields correct
Grok 4
37869ms93/100

All fields correct

study_typeCT CHEST WITH CONTRAST
date02/18/2026
clinical_history67F with history of NSCLC s/p right upper lobectomy (2024), new cough, rule out recurrence
comparison_studyCT Chest 08/12/2025
new_findings[{"location":"right lower lobe","description":"1.8 × 1.4 cm spiculated soft tissue nodule","concern":"suspicious for recurrence of NSCLC","severity":"high"},{"location":"subcarinal","description":"lymph node measuring 1.6 cm short axis","concern":"metastatic adenopathy","severity":"concerning"},{"location":"right hilar","description":"lymphadenopathy, largest node 1.2 cm","concern":"nodal metastasis","severity":"concerning"},{"location":"right pleura","description":"small pleural effusion","concern":"may represent malignant effusion","severity":"concerning"},{"location":"left adrenal gland","description":"2.1 cm nodule with enhancement","concern":"metastasis cannot be excluded","severity":"concerning"}]
stable_findings[{"location":"left lower lobe","description":"4mm ground-glass nodule","comparison":"unchanged from 08/2025"},{"location":"thoracic spine","description":"mild degenerative changes","comparison":"no prior mention, assumed stable"}]
post_surgicalPost-surgical changes in the right upper lobe with expected fibrotic bands
impressions_count5
recommendations["PET-CT recommended","Multidisciplinary tumor board review","dedicated adrenal CT or PET-CT","continued surveillance for stable LLL GGN"]
overall_concernHighly suspicious for recurrence and metastasis
10/10 fields correct
Why this is hard: Must identify all 5 NEW findings and distinguish from the 1 STABLE finding. The subcarinal node GREW (0.8→1.6cm) — this is new/changed, not stable. Left adrenal nodule 'cannot exclude metastasis' — models must preserve the uncertainty language. Recommendations must include all three actions.
16FinanceEarnings Call P&L Extraction
98vs98
Input
Q4 2025 Earnings Call — TechCorp Inc. (Ticker: TCHK). CFO Maria Santos: "Total revenue for Q4 was $4.23 billion, up 18% year-over-year. Breaking that down: Cloud Services revenue was $2.87 billion, growing 31% and now representing 68% of total revenue. Enterprise Software was $980 million, roughly flat. Professional Services contributed $380 million, down 12% as we continue the strategic shift away from lower-margin consulting. On the cost side, GAAP gross profit was $2.71 billion, for a gross margin of 64.1%. Non-GAAP gross margin, excluding $142 million in stock-based compensation allocated to cost of revenue, was 67.4%. Operating expenses: R&D was $890 million, up from $760 million — we've been investing heavily in our AI platform. Sales & Marketing was $620 million, and G&A was $210 million. GAAP operating income was $990 million, and non-GAAP operating income was $1.38 billion. The delta is primarily SBC of $310 million, restructuring charges of $47 million related to the EMEA headcount reduction, and $33 million in acquisition-related costs. GAAP net income was $742 million, or $2.47 per diluted share on 300.4 million shares. Non-GAAP EPS was $3.84."
Expected Output
{
  "period": "Q4 2025",
  "company": "TechCorp Inc.",
  "ticker": "TCHK",
  "total_revenue_billions": 4.23,
  "revenue_yoy_growth": "18%",
  "revenue_breakdown": [
    {
      "segment": "Cloud Services",
      "revenue_billions": 2.87,
      "growth": "31%",
      "pct_of_total": 68
    },
    {
      "segment": "Enterprise Software",
      "revenue_millions": 980,
      "growth": "~0%"
    },
    {
      "segment": "Professional Services",
      "revenue_millions": 380,
      "growth": "-12%"
    }
  ],
  "gaap_gross_profit_billions": 2.71,
  "gaap_gross_margin_pct": 64.1,
  "non_gaap_gross_margin_pct": 67.4,
  "sbc_in_cogs_millions": 142,
  "operating_expenses.rd_millions": 890,
  "operating_expenses.rd_prior_millions": 760,
  "operating_expenses.sales_marketing_millions": 620,
  "operating_expenses.ga_millions": 210,
  "gaap_operating_income_millions": 990,
  "non_gaap_operating_income_millions": 1380,
  "gaap_non_gaap_reconciliation": [
    {
      "item": "Stock-based compensation",
      "amount_millions": 310
    },
    {
      "item": "Restructuring charges",
      "amount_millions": 47
    },
    {
      "item": "Acquisition-related costs",
      "amount_millions": 33
    }
  ],
  "gaap_net_income_millions": 742,
  "gaap_eps": 2.47,
  "non_gaap_eps": 3.84,
  "diluted_shares_millions": 300.4
}
GPT-4o Mini
9087ms98/100

Incorrect/missing fields: revenue_breakdown

periodQ4 2025
companyTechCorp Inc.
tickerTCHK
total_revenue_billions4.23
revenue_yoy_growth18%
revenue_breakdown[{"segment":"Cloud Services","revenue_billions":2.87,"growth":"31%","pct_of_total":68},{"segment":"Enterprise Software","revenue_billions":0.98,"growth":"flat","pct_of_total":23},{"segment":"Professional Services","revenue_billions":0.38,"growth":"-12%","pct_of_total":9}](expected: [{"segment":"Cloud Services","revenue_billions":2.87,"growth":"31%","pct_of_total":68},{"segment":"Enterprise Software","revenue_millions":980,"growth":"~0%"},{"segment":"Professional Services","revenue_millions":380,"growth":"-12%"}])
gaap_gross_profit_billions2.71
gaap_gross_margin_pct64.1
non_gaap_gross_margin_pct67.4
sbc_in_cogs_millions142
operating_expenses.rd_millions890
operating_expenses.rd_prior_millions760
operating_expenses.sales_marketing_millions620
operating_expenses.ga_millions210
gaap_operating_income_millions990
non_gaap_operating_income_millions1380
gaap_non_gaap_reconciliation[{"item":"Stock-Based Compensation","amount_millions":310},{"item":"Restructuring Charges","amount_millions":47},{"item":"Acquisition-related Costs","amount_millions":33}]
gaap_net_income_millions742
gaap_eps2.47
non_gaap_eps3.84
diluted_shares_millions300.4
20/21 fields correct
Grok 4
37479ms98/100

Incorrect/missing fields: revenue_breakdown

periodQ4 2025
companyTechCorp Inc.
tickerTCHK
total_revenue_billions4.23
revenue_yoy_growth18%
revenue_breakdown[{"segment":"Cloud Services","revenue_billions":2.87,"growth":"31%","pct_of_total":68},{"segment":"Enterprise Software","revenue_billions":0.98,"growth":"0%","pct_of_total":23},{"segment":"Professional Services","revenue_billions":0.38,"growth":"-12%","pct_of_total":9}](expected: [{"segment":"Cloud Services","revenue_billions":2.87,"growth":"31%","pct_of_total":68},{"segment":"Enterprise Software","revenue_millions":980,"growth":"~0%"},{"segment":"Professional Services","revenue_millions":380,"growth":"-12%"}])
gaap_gross_profit_billions2.71
gaap_gross_margin_pct64.1
non_gaap_gross_margin_pct67.4
sbc_in_cogs_millions142
operating_expenses.rd_millions890
operating_expenses.rd_prior_millions760
operating_expenses.sales_marketing_millions620
operating_expenses.ga_millions210
gaap_operating_income_millions990
non_gaap_operating_income_millions1380
gaap_non_gaap_reconciliation[{"item":"SBC","amount_millions":310},{"item":"restructuring charges","amount_millions":47},{"item":"acquisition-related costs","amount_millions":33}]
gaap_net_income_millions742
gaap_eps2.47
non_gaap_eps3.84
diluted_shares_millions300.4
20/21 fields correct
Why this is hard: Must distinguish GAAP from non-GAAP figures throughout. The reconciliation items (SBC $310M + restructuring $47M + acquisition $33M = $390M delta) must all be captured. SBC in COGS ($142M) is SEPARATE from total SBC ($310M). Models frequently confuse these or sum them incorrectly.
17FinanceBalance Sheet Ratio Calculation
92vs97
Input
CONSOLIDATED BALANCE SHEET — December 31, 2025 (in millions). ASSETS: Cash and equivalents $3,420. Short-term investments $1,850. Accounts receivable, net $2,190 (allowance for doubtful accounts $68). Inventories $890. Prepaid expenses $340. Total Current Assets $8,690. Property and equipment, net $12,400. Goodwill $8,750. Intangible assets, net $3,200. Operating lease right-of-use assets $1,860. Other non-current assets $920. Total Assets $35,820. LIABILITIES: Accounts payable $1,640. Accrued expenses $2,180. Current portion of long-term debt $500. Deferred revenue, current $1,420. Total Current Liabilities $5,740. Long-term debt $8,200 (senior notes: $5B at 3.75% due 2030, $3.2B at 4.25% due 2033). Operating lease liabilities $1,680. Deferred tax liabilities $890. Other non-current liabilities $460. Total Liabilities $16,970. EQUITY: Common stock $30. Additional paid-in capital $12,840. Retained earnings $9,180. Treasury stock ($2,400). Accumulated other comprehensive loss ($800). Total Stockholders' Equity $18,850. Total Liabilities + Equity $35,820.
Expected Output
{
  "as_of": "2025-12-31",
  "currency": "USD millions",
  "current_assets": 8690,
  "total_assets": 35820,
  "current_liabilities": 5740,
  "total_liabilities": 16970,
  "total_equity": 18850,
  "cash_and_equivalents": 3420,
  "total_debt": 8700,
  "debt_breakdown": [
    {
      "instrument": "Senior notes 3.75%",
      "amount": 5000,
      "maturity": 2030
    },
    {
      "instrument": "Senior notes 4.25%",
      "amount": 3200,
      "maturity": 2033
    }
  ],
  "computed_ratios.current_ratio": 1.51,
  "computed_ratios.quick_ratio": 1.3,
  "computed_ratios.debt_to_equity": 0.46,
  "computed_ratios.debt_to_assets": 0.24,
  "computed_ratios.working_capital_millions": 2950,
  "balance_sheet_check": true
}
GPT-4o Mini
3895ms92/100

Incorrect/missing fields: computed_ratios.quick_ratio

as_of2025-12-31
currencymillions
current_assets8690
total_assets35820
current_liabilities5740
total_liabilities16970
total_equity18850
cash_and_equivalents3420
total_debt8700
debt_breakdown[{"instrument":"senior notes (3.75%) due 2030","amount":5000,"maturity":2030},{"instrument":"senior notes (4.25%) due 2033","amount":3200,"maturity":2033}]
computed_ratios.current_ratio1.51
computed_ratios.quick_ratio1.22(expected: 1.3)
computed_ratios.debt_to_equity0.46
computed_ratios.debt_to_assets0.24
computed_ratios.working_capital_millions2950
balance_sheet_checktrue
15/16 fields correct
Grok 4
72934ms97/100

Incorrect/missing fields: currency

as_ofDecember 31, 2025
currencyUSD(expected: USD millions)
current_assets8690
total_assets35820
current_liabilities5740
total_liabilities16970
total_equity18850
cash_and_equivalents3420
total_debt8700
debt_breakdown[{"instrument":"Current portion of long-term debt","amount":500,"maturity":2026},{"instrument":"Senior notes at 3.75%","amount":5000,"maturity":2030},{"instrument":"Senior notes at 4.25%","amount":3200,"maturity":2033}]
computed_ratios.current_ratio1.5139372822299653
computed_ratios.quick_ratio1.299651567944251
computed_ratios.debt_to_equity0.46153846153846156
computed_ratios.debt_to_assets0.2429379955329989
computed_ratios.working_capital_millions2950
balance_sheet_checktrue
15/16 fields correct
Why this is hard: Total debt = current portion ($500M) + long-term ($8,200M) = $8,700M. Current ratio = 8690/5740 = 1.514. Quick ratio = (8690 - 890 - 340)/5740 = 1.30. Working capital = 8690-5740 = 2950. balance_sheet_check confirms Assets = L+E (35820 = 16970 + 18850). Treasury stock is NEGATIVE equity.
18FinanceMulti-Currency FX Impact Analysis
96vs95
Input
GEOGRAPHIC REVENUE ANALYSIS — FY2025. Americas: Reported revenue $6.24B (up 22% YoY). Europe: Reported revenue €2.18B ($2.31B at avg rate 1.06 USD/EUR), up 14% in euros but only 9% in USD due to euro weakness (prior year avg rate was 1.11 USD/EUR). Asia-Pacific: Reported ¥412B ($2.78B at avg rate 148.1 JPY/USD), up 19% in yen but down 2% in USD — the yen depreciated from 128.4 to 148.1 JPY/USD. Japan alone was ¥298B ($2.01B), up 23% in local currency but flat in USD. Rest of World: $680M, up 8%. Total reported revenue: $12.01B, up 15.2% YoY. On a constant-currency basis (using FY2024 exchange rates), total revenue would have been $12.68B, representing 21.7% growth. FX headwind to reported revenue: approximately $670M or 5.6 percentage points of growth.
Expected Output
{
  "fiscal_year": "FY2025",
  "total_revenue_reported_billions": 12.01,
  "total_revenue_constant_currency_billions": 12.68,
  "reported_growth_pct": 15.2,
  "constant_currency_growth_pct": 21.7,
  "fx_headwind_millions": 670,
  "fx_headwind_growth_points": 5.6,
  "regions": [
    {
      "region": "Americas",
      "reported_usd_billions": 6.24,
      "yoy_reported_pct": 22
    },
    {
      "region": "Europe",
      "local_currency": "EUR",
      "local_revenue_billions": 2.18,
      "reported_usd_billions": 2.31,
      "avg_fx_rate": 1.06,
      "prior_year_fx_rate": 1.11,
      "yoy_local_pct": 14,
      "yoy_usd_pct": 9
    },
    {
      "region": "Asia-Pacific",
      "local_currency": "JPY",
      "local_revenue_billions_jpy": 412,
      "reported_usd_billions": 2.78,
      "avg_fx_rate": 148.1,
      "prior_year_fx_rate": 128.4,
      "yoy_local_pct": 19,
      "yoy_usd_pct": -2
    },
    {
      "region": "Rest of World",
      "reported_usd_millions": 680,
      "yoy_reported_pct": 8
    }
  ],
  "japan_subset.local_revenue_billions_jpy": 298,
  "japan_subset.reported_usd_billions": 2.01,
  "japan_subset.yoy_local_pct": 23,
  "japan_subset.yoy_usd_pct": 0
}
GPT-4o Mini
6539ms96/100

Incorrect/missing fields: regions

fiscal_yearFY2025
total_revenue_reported_billions12.01
total_revenue_constant_currency_billions12.68
reported_growth_pct15.2
constant_currency_growth_pct21.7
fx_headwind_millions670
fx_headwind_growth_points5.6
regions[{"region":"Americas","reported_usd_billions":6.24,"yoy_reported_pct":22},{"region":"Europe","reported_usd_billions":2.31,"yoy_reported_pct":9},{"region":"Asia-Pacific","reported_usd_billions":2.78,"yoy_reported_pct":-2},{"region":"Japan","reported_usd_billions":2.01,"yoy_reported_pct":0},{"region":"Rest of World","reported_usd_billions":0.68,"yoy_reported_pct":8}](expected: [{"region":"Americas","reported_usd_billions":6.24,"yoy_reported_pct":22},{"region":"Europe","local_currency":"EUR","local_revenue_billions":2.18,"reported_usd_billions":2.31,"avg_fx_rate":1.06,"prior_year_fx_rate":1.11,"yoy_local_pct":14,"yoy_usd_pct":9},{"region":"Asia-Pacific","local_currency":"JPY","local_revenue_billions_jpy":412,"reported_usd_billions":2.78,"avg_fx_rate":148.1,"prior_year_fx_rate":128.4,"yoy_local_pct":19,"yoy_usd_pct":-2},{"region":"Rest of World","reported_usd_millions":680,"yoy_reported_pct":8}])
japan_subset.local_revenue_billions_jpy298
japan_subset.reported_usd_billions2.01
japan_subset.yoy_local_pct23
japan_subset.yoy_usd_pct0
11/12 fields correct
Grok 4
22536ms95/100

Incorrect/missing fields: regions

fiscal_year2025
total_revenue_reported_billions12.01
total_revenue_constant_currency_billions12.68
reported_growth_pct15.2
constant_currency_growth_pct21.7
fx_headwind_millions670
fx_headwind_growth_points5.6
regions[{"region":"Americas","reported_usd_billions":6.24,"yoy_reported_pct":22},{"region":"Europe","reported_usd_billions":2.31,"yoy_reported_pct":9},{"region":"Asia-Pacific","reported_usd_billions":2.78,"yoy_reported_pct":-2},{"region":"Rest of World","reported_usd_billions":0.68,"yoy_reported_pct":8}](expected: [{"region":"Americas","reported_usd_billions":6.24,"yoy_reported_pct":22},{"region":"Europe","local_currency":"EUR","local_revenue_billions":2.18,"reported_usd_billions":2.31,"avg_fx_rate":1.06,"prior_year_fx_rate":1.11,"yoy_local_pct":14,"yoy_usd_pct":9},{"region":"Asia-Pacific","local_currency":"JPY","local_revenue_billions_jpy":412,"reported_usd_billions":2.78,"avg_fx_rate":148.1,"prior_year_fx_rate":128.4,"yoy_local_pct":19,"yoy_usd_pct":-2},{"region":"Rest of World","reported_usd_millions":680,"yoy_reported_pct":8}])
japan_subset.local_revenue_billions_jpy298
japan_subset.reported_usd_billions2.01
japan_subset.yoy_local_pct23
japan_subset.yoy_usd_pct0
11/12 fields correct
Why this is hard: APAC grew 19% in yen but SHRANK 2% in USD — models must correctly report negative USD growth. Japan is a SUBSET of APAC, not a separate region. FX headwind is $670M (constant_currency - reported). Prior year FX rates must be distinct from current year. Europe: 14% local growth but only 9% in USD.
19FinanceCash Flow Statement Extraction
89vs99
Input
CONSOLIDATED STATEMENT OF CASH FLOWS — FY2025 (in millions). OPERATING ACTIVITIES: Net income $2,890. Adjustments: Depreciation and amortization $1,420. Stock-based compensation $680. Deferred income taxes ($210). Changes in working capital: Accounts receivable ($340). Inventories $85. Accounts payable $220. Deferred revenue $190. Accrued expenses ($65). Net cash from operating activities $4,870. INVESTING ACTIVITIES: Capital expenditures ($2,180). Acquisitions, net of cash acquired ($3,400). Purchases of short-term investments ($2,800). Maturities of short-term investments $1,950. Proceeds from sale of assets $120. Net cash used in investing activities ($6,310). FINANCING ACTIVITIES: Proceeds from issuance of debt $3,000. Repayment of debt ($1,500). Share repurchases ($2,200). Dividends paid ($580). Proceeds from employee stock plans $340. Net cash used in financing activities ($940). Effect of exchange rate changes ($85). NET DECREASE IN CASH ($2,465). Cash at beginning of period $5,885. Cash at end of period $3,420.
Expected Output
{
  "fiscal_year": "FY2025",
  "operating_cash_flow": 4870,
  "investing_cash_flow": -6310,
  "financing_cash_flow": -940,
  "fx_effect": -85,
  "net_change_in_cash": -2465,
  "beginning_cash": 5885,
  "ending_cash": 3420,
  "free_cash_flow": 2690,
  "key_items.net_income": 2890,
  "key_items.depreciation_amortization": 1420,
  "key_items.sbc": 680,
  "key_items.capex": -2180,
  "key_items.acquisitions": -3400,
  "key_items.share_repurchases": -2200,
  "key_items.dividends": -580,
  "key_items.debt_issued": 3000,
  "key_items.debt_repaid": -1500,
  "cash_flow_check": true
}
GPT-4o Mini
4916ms89/100

Incorrect/missing fields: free_cash_flow, cash_flow_check

fiscal_year2025
operating_cash_flow4870
investing_cash_flow-6310
financing_cash_flow-940
fx_effect-85
net_change_in_cash-2465
beginning_cash5885
ending_cash3420
free_cash_flow-2010(expected: 2690)
key_items.net_income2890
key_items.depreciation_amortization1420
key_items.sbc680
key_items.capex-2180
key_items.acquisitions-3400
key_items.share_repurchases-2200
key_items.dividends-580
key_items.debt_issued3000
key_items.debt_repaid-1500
cash_flow_checkfalse(expected: true)
17/19 fields correct
Grok 4
18398ms99/100

All fields correct

fiscal_year2025
operating_cash_flow4870
investing_cash_flow-6310
financing_cash_flow-940
fx_effect-85
net_change_in_cash-2465
beginning_cash5885
ending_cash3420
free_cash_flow2690
key_items.net_income2890
key_items.depreciation_amortization1420
key_items.sbc680
key_items.capex-2180
key_items.acquisitions-3400
key_items.share_repurchases-2200
key_items.dividends-580
key_items.debt_issued3000
key_items.debt_repaid-1500
cash_flow_checktrue
19/19 fields correct
Why this is hard: Free cash flow = Operating CF ($4,870) - CapEx ($2,180) = $2,690. Cash flow check: 4870 + (-6310) + (-940) + (-85) = -2465, and 5885 + (-2465) = 3420. Negative values MUST have negative signs. Models often forget to negate outflows or miscalculate FCF by including acquisitions.
20FinanceConvertible Note Terms Extraction
93vs95
Input
SERIES B CONVERTIBLE NOTE TERM SHEET — Acme AI, Inc. Principal Amount: $25,000,000. Issuance Date: January 15, 2026. Maturity Date: January 15, 2028 (24 months). Interest Rate: 6% per annum, simple interest, compounded annually, payable at conversion or maturity (not current-pay). Conversion Discount: 25% discount to the price per share in the Next Qualified Financing (minimum $50M raise). Valuation Cap: $200,000,000 pre-money. Conversion Mechanics: Notes convert at the LOWER of (a) the Valuation Cap price or (b) the Discount Price. If no Qualified Financing occurs by maturity, noteholder may elect: (i) conversion at the Valuation Cap, (ii) repayment of principal plus accrued interest, or (iii) extension for 12 months at 8% interest. Anti-Dilution: Broad-based weighted average adjustment. Most Favored Nation: If the Company issues subsequent convertible instruments with more favorable terms (lower cap or higher discount), these notes shall automatically adjust to the more favorable terms. Pro Rata Rights: Noteholders have the right to participate in the Next Qualified Financing for up to 2× their original investment. Information Rights: Monthly financial statements, annual audited financials, and board observer seat for investors holding >$5M in notes.
Expected Output
{
  "instrument": "Series B Convertible Note",
  "company": "Acme AI, Inc.",
  "principal_amount": 25000000,
  "issuance_date": "2026-01-15",
  "maturity_date": "2028-01-15",
  "term_months": 24,
  "interest_rate_pct": 6,
  "interest_type": "Simple, compounded annually",
  "interest_payment": "At conversion or maturity (not current-pay)",
  "conversion_discount_pct": 25,
  "qualified_financing_minimum": 50000000,
  "valuation_cap": 200000000,
  "conversion_price": "Lower of cap price or discount price",
  "maturity_options": [
    {
      "option": "Convert at valuation cap"
    },
    {
      "option": "Repayment of principal plus accrued interest"
    },
    {
      "option": "Extension for 12 months at 8% interest"
    }
  ],
  "anti_dilution": "Broad-based weighted average",
  "most_favored_nation": true,
  "mfn_triggers": [
    "Lower valuation cap",
    "Higher discount"
  ],
  "pro_rata_rights.available": true,
  "pro_rata_rights.participation_limit": "2× original investment",
  "information_rights.monthly": "Financial statements",
  "information_rights.annual": "Audited financials",
  "information_rights.board_observer": true,
  "information_rights.board_observer_threshold": 5000000
}
GPT-4o Mini
6177ms93/100

Incorrect/missing fields: interest_type, information_rights.monthly

instrumentConvertible Note
companyAcme AI, Inc.
principal_amount25000000
issuance_date2026-01-15
maturity_date2028-01-15
term_months24
interest_rate_pct6
interest_typesimple interest(expected: Simple, compounded annually)
interest_paymentpayable at conversion or maturity
conversion_discount_pct25
qualified_financing_minimum50000000
valuation_cap200000000
conversion_pricethe LOWER of the Valuation Cap price or the Discount Price
maturity_options[{"option":"conversion at the Valuation Cap"},{"option":"repayment of principal plus accrued interest"},{"option":"extension for 12 months at 8% interest"}]
anti_dilutionbroad-based weighted average adjustment
most_favored_nationtrue
mfn_triggers["lower cap","higher discount"]
pro_rata_rights.availabletrue
pro_rata_rights.participation_limitup to 2× their original investment
information_rights.monthlymonthly financial statements(expected: Financial statements)
information_rights.annualannual audited financials
information_rights.board_observertrue
information_rights.board_observer_threshold5000000
21/23 fields correct
Grok 4
21232ms95/100

All fields correct

instrumentSERIES B CONVERTIBLE NOTE
companyAcme AI, Inc.
principal_amount25000000
issuance_dateJanuary 15, 2026
maturity_dateJanuary 15, 2028
term_months24
interest_rate_pct6
interest_typesimple interest, compounded annually
interest_paymentpayable at conversion or maturity (not current-pay)
conversion_discount_pct25
qualified_financing_minimum50000000
valuation_cap200000000
conversion_priceLOWER of (a) the Valuation Cap price or (b) the Discount Price.
maturity_options[{"option":"conversion at the Valuation Cap"},{"option":"repayment of principal plus accrued interest"},{"option":"extension for 12 months at 8% interest"}]
anti_dilutionBroad-based weighted average adjustment
most_favored_nationtrue
mfn_triggers["lower cap","higher discount"]
pro_rata_rights.availabletrue
pro_rata_rights.participation_limitup to 2× their original investment
information_rights.monthlyfinancial statements
information_rights.annualaudited financials
information_rights.board_observertrue
information_rights.board_observer_threshold5000000
23/23 fields correct
Why this is hard: Interest is 'simple, compounded annually' and NOT current-pay — this distinction matters. Extension option changes rate from 6% to 8%. board_observer_threshold is for investors >$5M (not all noteholders). MFN clause triggers must be specific. Conversion is at the LOWER of cap/discount, not either.
21Logic / SchemaConditional Array Extraction with camelCase
83vs100
Input
Extract ONLY the third item from the following list IF its price is greater than $100. Format all field names in camelCase. If the condition is not met, return {"result": null, "reason": "condition_not_met"}.

Items:
1. Widget Alpha — Price: $45.00 — Category: Hardware — In Stock: Yes
2. Widget Beta — Price: $220.00 — Category: Software — In Stock: No
3. Widget Gamma — Price: $189.50 — Category: Hardware — In Stock: Yes
4. Widget Delta — Price: $67.00 — Category: Electronics — In Stock: Yes
Expected Output
{
  "result.itemName": "Widget Gamma",
  "result.price": 189.5,
  "result.category": "Hardware",
  "result.inStock": true,
  "conditionMet": true,
  "extractedIndex": 3
}
GPT-4o Mini
1055ms83/100

Incorrect/missing fields: extractedIndex

result.itemNameWidget Gamma
result.price189.5
result.categoryHardware
result.inStocktrue
conditionMettrue
extractedIndex2(expected: 3)
5/6 fields correct
Grok 4
28368ms100/100

All fields correct

result.itemNameWidget Gamma
result.price189.5
result.categoryHardware
result.inStocktrue
conditionMettrue
extractedIndex3
6/6 fields correct
Why this is hard: Must extract the THIRD item (Widget Gamma at $189.50), NOT the most expensive or first >$100. Field names MUST be camelCase (itemName, inStock, conditionMet, extractedIndex). inStock must be boolean true, not string 'Yes'. price must be numeric without dollar sign.
22Logic / SchemaNested Object Flattening with Conflict Resolution
100vs100
Input
Flatten the following nested JSON into a single-level object. When key conflicts arise (same key name at different nesting levels), use dot notation with the full path. Preserve original data types. Do NOT flatten arrays — keep them as-is.

{"user": {"id": 42, "name": "Alice", "address": {"city": "Portland", "state": "OR", "zip": "97201"}}, "order": {"id": 1087, "items": [{"sku": "A1", "qty": 2}, {"sku": "B3", "qty": 1}], "total": 299.99, "address": {"city": "Seattle", "state": "WA", "zip": "98101"}}, "id": 999}
Expected Output
{
  "user.id": 42,
  "user.name": "Alice",
  "user.address.city": "Portland",
  "user.address.state": "OR",
  "user.address.zip": "97201",
  "order.id": 1087,
  "order.items": [
    {
      "sku": "A1",
      "qty": 2
    },
    {
      "sku": "B3",
      "qty": 1
    }
  ],
  "order.total": 299.99,
  "order.address.city": "Seattle",
  "order.address.state": "WA",
  "order.address.zip": "98101",
  "id": 999
}
GPT-4o Mini
1876ms100/100

All fields correct

user.id42
user.nameAlice
user.address.cityPortland
user.address.stateOR
user.address.zip97201
order.id1087
order.items[{"sku":"A1","qty":2},{"sku":"B3","qty":1}]
order.total299.99
order.address.citySeattle
order.address.stateWA
order.address.zip98101
id999
12/12 fields correct
Grok 4
13958ms100/100

All fields correct

user.id42
user.nameAlice
user.address.cityPortland
user.address.stateOR
user.address.zip97201
order.id1087
order.items[{"sku":"A1","qty":2},{"sku":"B3","qty":1}]
order.total299.99
order.address.citySeattle
order.address.stateWA
order.address.zip98101
id999
12/12 fields correct
Why this is hard: There are THREE 'id' fields (user.id=42, order.id=1087, id=999) — all must be preserved with correct paths. The top-level 'id' keeps its short name. Arrays must NOT be flattened (order.items stays as array). Two different addresses (Portland and Seattle) must be distinguished by path. Data types must be preserved (integers, floats, strings, arrays).
23Logic / SchemaMulti-step Date Reasoning
12vs100
Input
Calculate the number of BUSINESS DAYS between February 14, 2026 (Saturday) and March 6, 2026 (Friday), INCLUSIVE of both dates if they fall on business days. Exclude weekends (Saturday, Sunday) and the following US holidays: Presidents' Day (February 16, 2026 — Monday). Show your work by listing each business day.
Expected Output
{
  "start_date": "2026-02-14",
  "end_date": "2026-03-06",
  "start_is_business_day": false,
  "end_is_business_day": true,
  "holidays_excluded": [
    "2026-02-16"
  ],
  "business_days": [
    "2026-02-17",
    "2026-02-18",
    "2026-02-19",
    "2026-02-20",
    "2026-02-23",
    "2026-02-24",
    "2026-02-25",
    "2026-02-26",
    "2026-02-27",
    "2026-03-02",
    "2026-03-03",
    "2026-03-04",
    "2026-03-05",
    "2026-03-06"
  ],
  "total_business_days": 14
}
GPT-4o Mini
4816ms12/100

Incorrect/missing fields: start_date, end_date, start_is_business_day, end_is_business_day, holidays_excluded, total_business_days

start_date-(expected: 2026-02-14)
end_date-(expected: 2026-03-06)
start_is_business_day-(expected: false)
end_is_business_day-(expected: true)
holidays_excluded-(expected: ["2026-02-16"])
business_days["February 14, 2026","February 16, 2026","February 17, 2026","February 18, 2026","February 19, 2026","February 20, 2026","February 23, 2026","February 24, 2026","February 25, 2026","February 26, 2026","February 27, 2026","March 2, 2026","March 3, 2026","March 4, 2026","March 5, 2026","March 6, 2026"]
total_business_days16(expected: 14)
1/7 fields correct
Grok 4
25704ms100/100

All fields correct

start_date2026-02-14
end_date2026-03-06
start_is_business_dayfalse
end_is_business_daytrue
holidays_excluded["2026-02-16"]
business_days["2026-02-17","2026-02-18","2026-02-19","2026-02-20","2026-02-23","2026-02-24","2026-02-25","2026-02-26","2026-02-27","2026-03-02","2026-03-03","2026-03-04","2026-03-05","2026-03-06"]
total_business_days14
7/7 fields correct
Why this is hard: Feb 14 is Saturday — NOT a business day. Feb 16 is Presidents' Day — excluded. The first business day is Feb 17 (Tuesday). March 6 IS a business day (Friday) and is INCLUSIVE. Total must be exactly 14. Models commonly miscount by ±1 or forget to skip the holiday.
24Logic / SchemaSchema Migration with Backward Compatibility
98vs98
Input
Migrate the following V1 data to V2 schema. V2 rules: (1) 'full_name' splits into 'firstName' and 'lastName'. (2) 'age' is REMOVED — compute 'birthYear' from age assuming current year is 2026. (3) 'email' stays but add 'emailDomain'. (4) 'tags' array moves under a new 'metadata' object. (5) Add 'schemaVersion': 2. (6) For backward compatibility: keep 'full_name' as 'deprecated_fullName' and 'age' as 'deprecated_age'.

V1 Data: {"full_name": "Dr. Maria Santos-Garcia", "age": 34, "email": "maria.sg@tufts-medical.edu", "tags": ["cardiology", "research", "AI/ML"], "role": "Senior Fellow"}
Expected Output
{
  "schemaVersion": 2,
  "firstName": "Maria",
  "lastName": "Santos-Garcia",
  "email": "maria.sg@tufts-medical.edu",
  "emailDomain": "tufts-medical.edu",
  "birthYear": 1992,
  "role": "Senior Fellow",
  "metadata.tags": [
    "cardiology",
    "research",
    "AI/ML"
  ],
  "deprecated_fullName": "Dr. Maria Santos-Garcia",
  "deprecated_age": 34
}
GPT-4o Mini
1945ms98/100

All fields correct

schemaVersion2
firstNameDr. Maria
lastNameSantos-Garcia
emailmaria.sg@tufts-medical.edu
emailDomaintufts-medical.edu
birthYear1992
roleSenior Fellow
metadata.tags["cardiology","research","AI/ML"]
deprecated_fullNameDr. Maria Santos-Garcia
deprecated_age34
10/10 fields correct
Grok 4
41394ms98/100

All fields correct

schemaVersion2
firstNameDr. Maria
lastNameSantos-Garcia
emailmaria.sg@tufts-medical.edu
emailDomaintufts-medical.edu
birthYear1992
roleSenior Fellow
metadata.tags["cardiology","research","AI/ML"]
deprecated_fullNameDr. Maria Santos-Garcia
deprecated_age34
10/10 fields correct
Why this is hard: Name splitting: 'Dr.' is a title, NOT part of firstName. 'Santos-Garcia' is a hyphenated surname, NOT two last names. birthYear = 2026 - 34 = 1992. emailDomain must extract from the full email address. The 'AI/ML' tag has a slash — must be preserved as-is in the array. Deprecated fields must retain original values exactly.
25Logic / SchemaRecursive Tree Summarization
64vs97
Input
Given this org tree, compute for EACH node: (1) total_reports = count of ALL descendants (direct + indirect), (2) total_salary_below = sum of all descendant salaries, (3) max_depth = deepest level below this node (leaf = 0). Return the tree with computed fields added.

{"name": "CEO Jane", "salary": 450000, "reports": [{"name": "VP Engineering Bob", "salary": 320000, "reports": [{"name": "Dir Platform Carol", "salary": 250000, "reports": [{"name": "Senior Eng Dan", "salary": 185000, "reports": []}, {"name": "Senior Eng Eve", "salary": 180000, "reports": [{"name": "Eng Intern Frank", "salary": 65000, "reports": []}]}]}, {"name": "Dir ML Grace", "salary": 260000, "reports": [{"name": "ML Eng Hank", "salary": 195000, "reports": []}]}]}, {"name": "VP Sales Iris", "salary": 310000, "reports": [{"name": "Dir Enterprise Jack", "salary": 240000, "reports": []}]}]}
Expected Output
{
  "name": "CEO Jane",
  "salary": 450000,
  "total_reports": 9,
  "total_salary_below": 2005000,
  "max_depth": 4,
  "reports": [
    {
      "name": "VP Engineering Bob",
      "salary": 320000,
      "total_reports": 6,
      "total_salary_below": 1135000,
      "max_depth": 3,
      "reports": [
        {
          "name": "Dir Platform Carol",
          "salary": 250000,
          "total_reports": 3,
          "total_salary_below": 430000,
          "max_depth": 2,
          "reports": [
            {
              "name": "Senior Eng Dan",
              "salary": 185000,
              "total_reports": 0,
              "total_salary_below": 0,
              "max_depth": 0,
              "reports": []
            },
            {
              "name": "Senior Eng Eve",
              "salary": 180000,
              "total_reports": 1,
              "total_salary_below": 65000,
              "max_depth": 1,
              "reports": [
                {
                  "name": "Eng Intern Frank",
                  "salary": 65000,
                  "total_reports": 0,
                  "total_salary_below": 0,
                  "max_depth": 0,
                  "reports": []
                }
              ]
            }
          ]
        },
        {
          "name": "Dir ML Grace",
          "salary": 260000,
          "total_reports": 1,
          "total_salary_below": 195000,
          "max_depth": 1,
          "reports": [
            {
              "name": "ML Eng Hank",
              "salary": 195000,
              "total_reports": 0,
              "total_salary_below": 0,
              "max_depth": 0,
              "reports": []
            }
          ]
        }
      ]
    },
    {
      "name": "VP Sales Iris",
      "salary": 310000,
      "total_reports": 1,
      "total_salary_below": 240000,
      "max_depth": 1,
      "reports": [
        {
          "name": "Dir Enterprise Jack",
          "salary": 240000,
          "total_reports": 0,
          "total_salary_below": 0,
          "max_depth": 0,
          "reports": []
        }
      ]
    }
  ]
}
GPT-4o Mini
11428ms64/100

Incorrect/missing fields: total_reports, total_salary_below

nameCEO Jane
salary450000
total_reports10(expected: 9)
total_salary_below1670000(expected: 2005000)
max_depth4
reports[{"name":"VP Engineering Bob","salary":320000,"total_reports":6,"total_salary_below":1115000,"max_depth":3,"reports":[{"name":"Dir Platform Carol","salary":250000,"total_reports":4,"total_salary_below":365000,"max_depth":2,"reports":[{"name":"Senior Eng Dan","salary":185000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]},{"name":"Senior Eng Eve","salary":180000,"total_reports":1,"total_salary_below":65000,"max_depth":1,"reports":[{"name":"Eng Intern Frank","salary":65000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"Dir ML Grace","salary":260000,"total_reports":1,"total_salary_below":195000,"max_depth":1,"reports":[{"name":"ML Eng Hank","salary":195000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"VP Sales Iris","salary":310000,"total_reports":1,"total_salary_below":240000,"max_depth":1,"reports":[{"name":"Dir Enterprise Jack","salary":240000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]
4/6 fields correct
Grok 4
50520ms97/100

All fields correct

nameCEO Jane
salary450000
total_reports9
total_salary_below2005000
max_depth4
reports[{"name":"VP Engineering Bob","salary":320000,"total_reports":6,"total_salary_below":1135000,"max_depth":3,"reports":[{"name":"Dir Platform Carol","salary":250000,"total_reports":3,"total_salary_below":430000,"max_depth":2,"reports":[{"name":"Senior Eng Dan","salary":185000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]},{"name":"Senior Eng Eve","salary":180000,"total_reports":1,"total_salary_below":65000,"max_depth":1,"reports":[{"name":"Eng Intern Frank","salary":65000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"Dir ML Grace","salary":260000,"total_reports":1,"total_salary_below":195000,"max_depth":1,"reports":[{"name":"ML Eng Hank","salary":195000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"VP Sales Iris","salary":310000,"total_reports":1,"total_salary_below":240000,"max_depth":1,"reports":[{"name":"Dir Enterprise Jack","salary":240000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]
6/6 fields correct
Why this is hard: CEO total_reports = 9 (all other people). total_salary_below for CEO = 320000+250000+185000+180000+65000+260000+195000+310000+240000 = 2,005,000. max_depth for CEO = 4 (Jane→Bob→Carol→Eve→Frank). Carol has 3 total_reports (Dan+Eve+Frank). Models commonly miscount indirect reports or miscalculate recursive sums.
ROI Analysis

Should you swap?

Cost Savings
96%

GPT-4o Mini is 96% cheaper than Grok 4

GPT-4o Mini$0.26/1k
Grok 4$6.00/1k
Accuracy Gap
85.9%

as accurate (13.1pt gap)

GPT-4o Mini79.5%
Grok 492.6%
Recommendation
Test First

Grok 4 outperforms by 13.1pts. Run on your data before switching.

Average Latency
GPT-4o Mini
900ms
Grok 4
2,000ms
Accuracy by Domain

25 tasks across 5 domains

GPT-4o Mini
Grok 4
E-commerce5 tasks
96.8
98.0
Legal5 tasks
52.2
88.6
Medical5 tasks
83.6
80.4
Finance5 tasks
93.6
96.8
Logic / Schema5 tasks
71.4
99.0
Overall Average
GPT-4o Mini: 79.5Grok 4: 92.6
Failure Deep-Dive

Where models disagree

Tasks with the largest score gap between models - showing the actual outputs and expected values side by side.

LegalForce Majeure Scope Extraction

GPT-4o Mini scored 0/100 vs Grok 4's 95/100

Input Text
Section 15 — FORCE MAJEURE. 15.1 Neither party shall be liable for any failure or delay in performing its obligations under this Agreement (other than payment obligations, which shall not be excused) where such failure or delay results from Force Majeure Events including, but not limited to: acts of God, fire, flood, earthquake, epidemic, pandemic, war, terrorism, civil unrest, government sanctions, embargoes, strikes or labor disputes (excluding those involving a party's own employees), power grid failures, or internet backbone outages. 15.2 The affected party must provide written notice within five (5) business days of the Force Majeure Event's commencement, including a reasonable estimate of the expected duration. The affected party shall use commercially reasonable efforts to mitigate the impact. 15.3 If a Force Majeure Event continues for more than one hundred and twenty (120) consecutive calendar days, either party may terminate this Agreement upon written notice without penalty.
GPT-4o Mini0/100

Incorrect/missing fields: payment_obligations_excused, notice_period_business_days, notice_requirements, mitigation_standard, termination_threshold_days, termination_penalty, excluded_events, included_events

Grok 495/100

All fields correct

Field-by-Field Comparison
FieldExpectedGPT-4o MiniGrok 4
payment_obligations_excusedfalse-false
notice_period_business_days5-5
notice_requirements["Written notice","Reasonable duration estimate"]-["written","reasonable estimate of expected duration"]
mitigation_standardCommercially reasonable efforts-commercially reasonable efforts
termination_threshold_days120-120
termination_penaltyfalse-false
excluded_events["Strikes involving own employees"]-["strikes or labor disputes involving a party's own employees"]
included_events["Acts of God","Fire","Flood","Earthquake","Epidemic","Pandemic","War","Terrorism","Civil unrest","Government sanctions","Embargoes","Strikes/labor disputes","Power grid failures","Internet backbone outages"]-["acts of God","fire","flood","earthquake","epidemic","pandemic","war","terrorism","civil unrest","government sanctions","embargoes","strikes or labor disputes (excluding those involving a party's own employees)","power grid failures","internet backbone outages"]
Why this task is hard:

Critical: payment_obligations_excused must be FALSE. The key exclusion (own-employee strikes) is often missed. notice_period must be 5 BUSINESS days (not calendar). termination_threshold is 120 CALENDAR days.

Logic / SchemaMulti-step Date Reasoning

GPT-4o Mini scored 12/100 vs Grok 4's 100/100

Input Text
Calculate the number of BUSINESS DAYS between February 14, 2026 (Saturday) and March 6, 2026 (Friday), INCLUSIVE of both dates if they fall on business days. Exclude weekends (Saturday, Sunday) and the following US holidays: Presidents' Day (February 16, 2026 — Monday). Show your work by listing each business day.
GPT-4o Mini12/100

Incorrect/missing fields: start_date, end_date, start_is_business_day, end_is_business_day, holidays_excluded, total_business_days

Grok 4100/100

All fields correct

Field-by-Field Comparison
FieldExpectedGPT-4o MiniGrok 4
start_date2026-02-14-2026-02-14
end_date2026-03-06-2026-03-06
start_is_business_dayfalse-false
end_is_business_daytrue-true
holidays_excluded["2026-02-16"]-["2026-02-16"]
business_days["2026-02-17","2026-02-18","2026-02-19","2026-02-20","2026-02-23","2026-02-24","2026-02-25","2026-02-26","2026-02-27","2026-03-02","2026-03-03","2026-03-04","2026-03-05","2026-03-06"]["February 14, 2026","February 16, 2026","February 17, 2026","February 18, 2026","February 19, 2026","February 20, 2026","February 23, 2026","February 24, 2026","February 25, 2026","February 26, 2026","February 27, 2026","March 2, 2026","March 3, 2026","March 4, 2026","March 5, 2026","March 6, 2026"]["2026-02-17","2026-02-18","2026-02-19","2026-02-20","2026-02-23","2026-02-24","2026-02-25","2026-02-26","2026-02-27","2026-03-02","2026-03-03","2026-03-04","2026-03-05","2026-03-06"]
total_business_days141614
Why this task is hard:

Feb 14 is Saturday — NOT a business day. Feb 16 is Presidents' Day — excluded. The first business day is Feb 17 (Tuesday). March 6 IS a business day (Friday) and is INCLUSIVE. Total must be exactly 14. Models commonly miscount by ±1 or forget to skip the holiday.

LegalIndemnification Cap Extraction

GPT-4o Mini scored 0/100 vs Grok 4's 81/100

Input Text
MASTER SERVICES AGREEMENT dated January 15, 2026. Section 8.2 (Limitation of Liability): Except for Vendor's indemnification obligations under Section 9.1 and breaches of Section 12 (Confidentiality), in no event shall either party's aggregate liability under this Agreement exceed the greater of (a) the total fees paid or payable by Client in the twelve (12) month period immediately preceding the event giving rise to the claim, or (b) Five Hundred Thousand Dollars ($500,000). Notwithstanding the foregoing, Vendor's aggregate liability for indemnification claims under Section 9.1 shall not exceed Two Million Dollars ($2,000,000). Section 8.3: IN NO EVENT SHALL EITHER PARTY BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, REGARDLESS OF THE CAUSE OF ACTION OR THEORY OF LIABILITY, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. The foregoing limitation shall not apply to breaches of Section 12 (Confidentiality) or willful misconduct.
GPT-4o Mini0/100

Incorrect/missing fields: general_liability_cap, general_liability_basis, indemnification_cap, indemnification_section, consequential_damages_excluded, consequential_damages_exceptions, liability_cap_exceptions

Grok 481/100

Incorrect/missing fields: general_liability_cap, general_liability_basis

Field-by-Field Comparison
FieldExpectedGPT-4o MiniGrok 4
general_liability_cap$500,000-the greater of (a) the total fees paid or payable by Client in the twelve (12) month period immediately preceding the event giving rise to the claim, or (b) Five Hundred Thousand Dollars ($500,000)
general_liability_basisGreater of 12-month fees or $500,000-aggregate
indemnification_cap$2,000,000-Two Million Dollars ($2,000,000)
indemnification_section9.1-9.1
consequential_damages_excludedtrue-true
consequential_damages_exceptions["Confidentiality breaches","Willful misconduct"]-["breaches of Section 12 (Confidentiality)","willful misconduct"]
liability_cap_exceptions["Indemnification under Section 9.1","Confidentiality under Section 12"]-["Vendor's indemnification obligations under Section 9.1","breaches of Section 12 (Confidentiality)"]
Why this task is hard:

Must correctly distinguish the GENERAL liability cap ($500,000) from the INDEMNIFICATION cap ($2,000,000). Must identify both exceptions to the consequential damages waiver. Models often conflate the two caps or miss the 'notwithstanding' override.

MedicalLab Results with Reference Ranges

Grok 4 scored 60/100 vs GPT-4o Mini's 97/100

Input Text
COMPREHENSIVE METABOLIC PANEL — Collected: 02/15/2026 07:30. Glucose: 187 mg/dL (ref: 70-100, FLAG: HIGH). BUN: 42 mg/dL (ref: 7-20, FLAG: HIGH). Creatinine: 2.1 mg/dL (ref: 0.7-1.3, FLAG: HIGH). eGFR: 28 mL/min/1.73m² (ref: >60, FLAG: LOW — Stage 4 CKD). Sodium: 138 mEq/L (ref: 136-145). Potassium: 5.6 mEq/L (ref: 3.5-5.0, FLAG: HIGH — CRITICAL). Chloride: 102 mEq/L (ref: 98-106). CO2: 19 mEq/L (ref: 23-29, FLAG: LOW). Calcium: 8.2 mg/dL (ref: 8.5-10.5, FLAG: LOW). Total Protein: 6.8 g/dL (ref: 6.0-8.3). Albumin: 3.1 g/dL (ref: 3.5-5.5, FLAG: LOW). Bilirubin, Total: 0.9 mg/dL (ref: 0.1-1.2). ALT: 24 U/L (ref: 7-56). AST: 31 U/L (ref: 10-40). Alk Phos: 98 U/L (ref: 44-147).
GPT-4o Mini97/100

All fields correct

Grok 460/100

Incorrect/missing fields: abnormal_count, normal_count, critical_values

Field-by-Field Comparison
FieldExpectedGPT-4o MiniGrok 4
panel_typeComprehensive Metabolic PanelCOMPREHENSIVE METABOLIC PANELCOMPREHENSIVE METABOLIC PANEL
collected2026-02-15T07:3002/15/2026 07:3002/15/2026 07:30
results[{"test":"Glucose","value":187,"unit":"mg/dL","ref_low":70,"ref_high":100,"flag":"HIGH"},{"test":"BUN","value":42,"unit":"mg/dL","ref_low":7,"ref_high":20,"flag":"HIGH"},{"test":"Creatinine","value":2.1,"unit":"mg/dL","ref_low":0.7,"ref_high":1.3,"flag":"HIGH"},{"test":"eGFR","value":28,"unit":"mL/min/1.73m²","ref_low":60,"ref_high":null,"flag":"LOW","note":"Stage 4 CKD"},{"test":"Sodium","value":138,"unit":"mEq/L","ref_low":136,"ref_high":145,"flag":null},{"test":"Potassium","value":5.6,"unit":"mEq/L","ref_low":3.5,"ref_high":5,"flag":"HIGH","critical":true},{"test":"Chloride","value":102,"unit":"mEq/L","ref_low":98,"ref_high":106,"flag":null},{"test":"CO2","value":19,"unit":"mEq/L","ref_low":23,"ref_high":29,"flag":"LOW"},{"test":"Calcium","value":8.2,"unit":"mg/dL","ref_low":8.5,"ref_high":10.5,"flag":"LOW"},{"test":"Total Protein","value":6.8,"unit":"g/dL","ref_low":6,"ref_high":8.3,"flag":null},{"test":"Albumin","value":3.1,"unit":"g/dL","ref_low":3.5,"ref_high":5.5,"flag":"LOW"},{"test":"Bilirubin Total","value":0.9,"unit":"mg/dL","ref_low":0.1,"ref_high":1.2,"flag":null},{"test":"ALT","value":24,"unit":"U/L","ref_low":7,"ref_high":56,"flag":null},{"test":"AST","value":31,"unit":"U/L","ref_low":10,"ref_high":40,"flag":null},{"test":"Alk Phos","value":98,"unit":"U/L","ref_low":44,"ref_high":147,"flag":null}][{"test":"Glucose","value":187,"unit":"mg/dL","ref_low":70,"ref_high":100,"flag":"HIGH"},{"test":"BUN","value":42,"unit":"mg/dL","ref_low":7,"ref_high":20,"flag":"HIGH"},{"test":"Creatinine","value":2.1,"unit":"mg/dL","ref_low":0.7,"ref_high":1.3,"flag":"HIGH"},{"test":"eGFR","value":28,"unit":"mL/min/1.73m²","ref_low":60,"ref_high":100,"flag":"LOW - Stage 4 CKD"},{"test":"Sodium","value":138,"unit":"mEq/L","ref_low":136,"ref_high":145,"flag":""},{"test":"Potassium","value":5.6,"unit":"mEq/L","ref_low":3.5,"ref_high":5,"flag":"HIGH - CRITICAL"},{"test":"Chloride","value":102,"unit":"mEq/L","ref_low":98,"ref_high":106,"flag":""},{"test":"CO2","value":19,"unit":"mEq/L","ref_low":23,"ref_high":29,"flag":"LOW"},{"test":"Calcium","value":8.2,"unit":"mg/dL","ref_low":8.5,"ref_high":10.5,"flag":"LOW"},{"test":"Total Protein","value":6.8,"unit":"g/dL","ref_low":6,"ref_high":8.3,"flag":""},{"test":"Albumin","value":3.1,"unit":"g/dL","ref_low":3.5,"ref_high":5.5,"flag":"LOW"},{"test":"Bilirubin, Total","value":0.9,"unit":"mg/dL","ref_low":0.1,"ref_high":1.2,"flag":""},{"test":"ALT","value":24,"unit":"U/L","ref_low":7,"ref_high":56,"flag":""},{"test":"AST","value":31,"unit":"U/L","ref_low":10,"ref_high":40,"flag":""},{"test":"Alk Phos","value":98,"unit":"U/L","ref_low":44,"ref_high":147,"flag":""}][{"test":"Glucose","value":187,"unit":"mg/dL","ref_low":70,"ref_high":100,"flag":"HIGH"},{"test":"BUN","value":42,"unit":"mg/dL","ref_low":7,"ref_high":20,"flag":"HIGH"},{"test":"Creatinine","value":2.1,"unit":"mg/dL","ref_low":0.7,"ref_high":1.3,"flag":"HIGH"},{"test":"eGFR","value":28,"unit":"mL/min/1.73m²","ref_low":60,"ref_high":999,"flag":"LOW - Stage 4 CKD"},{"test":"Sodium","value":138,"unit":"mEq/L","ref_low":136,"ref_high":145,"flag":""},{"test":"Potassium","value":5.6,"unit":"mEq/L","ref_low":3.5,"ref_high":5,"flag":"HIGH - CRITICAL"},{"test":"Chloride","value":102,"unit":"mEq/L","ref_low":98,"ref_high":106,"flag":""},{"test":"CO2","value":19,"unit":"mEq/L","ref_low":23,"ref_high":29,"flag":"LOW"},{"test":"Calcium","value":8.2,"unit":"mg/dL","ref_low":8.5,"ref_high":10.5,"flag":"LOW"},{"test":"Total Protein","value":6.8,"unit":"g/dL","ref_low":6,"ref_high":8.3,"flag":""},{"test":"Albumin","value":3.1,"unit":"g/dL","ref_low":3.5,"ref_high":5.5,"flag":"LOW"},{"test":"Bilirubin, Total","value":0.9,"unit":"mg/dL","ref_low":0.1,"ref_high":1.2,"flag":""},{"test":"ALT","value":24,"unit":"U/L","ref_low":7,"ref_high":56,"flag":""},{"test":"AST","value":31,"unit":"U/L","ref_low":10,"ref_high":40,"flag":""},{"test":"Alk Phos","value":98,"unit":"U/L","ref_low":44,"ref_high":147,"flag":""}]
critical_values["Potassium 5.6 mEq/L"]["Potassium: 5.6 mEq/L"]["Potassium"]
abnormal_count778
normal_count887
Why this task is hard:

All 15 lab tests must be extracted. Potassium must be flagged as CRITICAL (not just HIGH). eGFR has a one-sided reference range (>60) — ref_high should be null. Numeric values must be numbers, not strings. Count of abnormal (7) and normal (8) must sum to 15.

Logic / SchemaRecursive Tree Summarization

GPT-4o Mini scored 64/100 vs Grok 4's 97/100

Input Text
Given this org tree, compute for EACH node: (1) total_reports = count of ALL descendants (direct + indirect), (2) total_salary_below = sum of all descendant salaries, (3) max_depth = deepest level below this node (leaf = 0). Return the tree with computed fields added.

{"name": "CEO Jane", "salary": 450000, "reports": [{"name": "VP Engineering Bob", "salary": 320000, "reports": [{"name": "Dir Platform Carol", "salary": 250000, "reports": [{"name": "Senior Eng Dan", "salary": 185000, "reports": []}, {"name": "Senior Eng Eve", "salary": 180000, "reports": [{"name": "Eng Intern Frank", "salary": 65000, "reports": []}]}]}, {"name": "Dir ML Grace", "salary": 260000, "reports": [{"name": "ML Eng Hank", "salary": 195000, "reports": []}]}]}, {"name": "VP Sales Iris", "salary": 310000, "reports": [{"name": "Dir Enterprise Jack", "salary": 240000, "reports": []}]}]}
GPT-4o Mini64/100

Incorrect/missing fields: total_reports, total_salary_below

Grok 497/100

All fields correct

Field-by-Field Comparison
FieldExpectedGPT-4o MiniGrok 4
nameCEO JaneCEO JaneCEO Jane
salary450000450000450000
total_reports9109
total_salary_below200500016700002005000
max_depth444
reports[{"name":"VP Engineering Bob","salary":320000,"total_reports":6,"total_salary_below":1135000,"max_depth":3,"reports":[{"name":"Dir Platform Carol","salary":250000,"total_reports":3,"total_salary_below":430000,"max_depth":2,"reports":[{"name":"Senior Eng Dan","salary":185000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]},{"name":"Senior Eng Eve","salary":180000,"total_reports":1,"total_salary_below":65000,"max_depth":1,"reports":[{"name":"Eng Intern Frank","salary":65000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"Dir ML Grace","salary":260000,"total_reports":1,"total_salary_below":195000,"max_depth":1,"reports":[{"name":"ML Eng Hank","salary":195000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"VP Sales Iris","salary":310000,"total_reports":1,"total_salary_below":240000,"max_depth":1,"reports":[{"name":"Dir Enterprise Jack","salary":240000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}][{"name":"VP Engineering Bob","salary":320000,"total_reports":6,"total_salary_below":1115000,"max_depth":3,"reports":[{"name":"Dir Platform Carol","salary":250000,"total_reports":4,"total_salary_below":365000,"max_depth":2,"reports":[{"name":"Senior Eng Dan","salary":185000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]},{"name":"Senior Eng Eve","salary":180000,"total_reports":1,"total_salary_below":65000,"max_depth":1,"reports":[{"name":"Eng Intern Frank","salary":65000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"Dir ML Grace","salary":260000,"total_reports":1,"total_salary_below":195000,"max_depth":1,"reports":[{"name":"ML Eng Hank","salary":195000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"VP Sales Iris","salary":310000,"total_reports":1,"total_salary_below":240000,"max_depth":1,"reports":[{"name":"Dir Enterprise Jack","salary":240000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}][{"name":"VP Engineering Bob","salary":320000,"total_reports":6,"total_salary_below":1135000,"max_depth":3,"reports":[{"name":"Dir Platform Carol","salary":250000,"total_reports":3,"total_salary_below":430000,"max_depth":2,"reports":[{"name":"Senior Eng Dan","salary":185000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]},{"name":"Senior Eng Eve","salary":180000,"total_reports":1,"total_salary_below":65000,"max_depth":1,"reports":[{"name":"Eng Intern Frank","salary":65000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"Dir ML Grace","salary":260000,"total_reports":1,"total_salary_below":195000,"max_depth":1,"reports":[{"name":"ML Eng Hank","salary":195000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]},{"name":"VP Sales Iris","salary":310000,"total_reports":1,"total_salary_below":240000,"max_depth":1,"reports":[{"name":"Dir Enterprise Jack","salary":240000,"total_reports":0,"total_salary_below":0,"max_depth":0,"reports":[]}]}]
Why this task is hard:

CEO total_reports = 9 (all other people). total_salary_below for CEO = 320000+250000+185000+180000+65000+260000+195000+310000+240000 = 2,005,000. max_depth for CEO = 4 (Jane→Bob→Carol→Eve→Frank). Carol has 3 total_reports (Dan+Eve+Frank). Models commonly miscount indirect reports or miscalculate recursive sums.

Run this comparison on your data.

These benchmarks use generic tasks. Your use case is unique. Upload your own dataset and compare any of 50+ models with field-level accuracy scoring.

Start Free Trial

Compare different models

Switch to any head-to-head matchup, or browse the full leaderboard.

Other Comparisons