Luma Payroll Gym
← Heatmap / MiMo V2.6 Pro · Task 55
MiMo V2.6 Pro · Tool use · Task 55 (Calculation, middle bracket) Mean 100.0%
Field Expected Rollout #1 (100%) Rollout #2 (100%) Rollout #3 (100%)
decision calculate calculate calculate calculate
currency LCR LCR LCR LCR
gross pay 3092.77 3092.77 3092.77 3092.77
employee contribution 216.49 216.49 216.49 216.49
allowed deduction 0.00 0.00 0.00 0.00
taxable pay 2876.28 2876.28 2876.28 2876.28
income tax 187.63 187.63 187.63 187.63
net pay 2688.65 2688.65 2688.65 2688.65
clauses R1 R2 R3 R4 R5 R6 R1 R2 R3 R4 R5 R6 R1 R2 R3 R4 R5 R6 R1 R2 R3 R4 R5 R6
Prompt
Process this monthly payroll record under the supplied rulebook. Return the R6 or R7 JSON answer.
Retrieve the case inputs with list_documents and read_document. Reference rows are available only through lookup_reference. Use calculate for exact decimal arithmetic.
Rollouts
Rollout #1 100.0% passed · 5 tool calls · 17.0s · $0.0013
ComponentScoreClauses
decision 100.0% R1 R2 R3 R4 R5 R6
exact 100.0% R1 R2 R3 R4 R5 R6
field accuracy 100.0% R1 R2 R3 R4 R5 R6
citations 100.0% R1 R2 R3 R4 R5 R6
Assistant
list_documents()
Reasoning
Let me list documents first.
Tool
[
  {"id": "2dabbb0836821c10-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="2dabbb0836821c10-payroll")
Reasoning
Read the payroll document.
Tool
{
  "kind": "payroll",
  "record": {"gross_pay": "3092.77", "payroll_month": "2026-06"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")
Reasoning
Payroll month 2026-06 → second-half? Actually "first-half" and "second-half" reference rows. Which applies to June? Need to look up both and see effective months. Let me look up both.

Probably first-half covers Jan-Jun, second-half covers Jul-Dec. Let me check.
Tool
{
  "reference": "first-half",
  "months": ["2026-01", "2026-06"],
  "rate": "0.07",
  "cap": "3500.00",
  "deduction": "400.00",
  "free": "1000.00",
  "upper": "3000.00",
  "middle_rate": "0.10",
  "upper_rate": "0.18"
}
Tool
{
  "reference": "second-half",
  "months": ["2026-07", "2026-12"],
  "rate": "0.08",
  "cap": "4500.00",
  "deduction": "400.00",
  "free": "1100.00",
  "upper": "3600.00",
  "middle_rate": "0.12",
  "upper_rate": "0.18"
}
Assistant
calculate(program="contribution = round(min(3092.77, 3500.00) * 0.07, 2)\nallowed_deduction = 0.00\ntaxable_pay = 3092.77 - contribution - allowed_deduction\nmiddle_portion = max(0.00, min(taxable_pay, 3000.00) - 1000.00)\nupper_portion = max(0.00, taxable_pay - 3000.00)\nincome_tax = round(middle_portion * 0.10 + upper_portion * 0.18, 2)\nnet_pay = 3092.77 - contribution - allowed_deduction - income_tax")
Reasoning
Month 2026-06 falls in first-half row (2026-01 through 2026-06).

Rate 0.07, cap 3500.00, gross 3092.77 → contribution = 3092.77 * 0.07 = 216.4939 → round 216.49.

Allowed deduction: omitted → 0.00.

Taxable pay = 3092.77 - 216.49 - 0 = 2876.28.

Tax: free 1000, upper 3000. Taxable 2876.28 is between 1000 and 3000 → middle portion = 1876.28 * 0.10 = 187.628 → tax total = 187.628 → round 187.63.

Net pay = 3092.77 - 216.49 - 0 - 187.63 = 2688.65.

Let me verify with calculate.
Tool
{
  "results": {"contribution": "216.49", "allowed_deduction": "0.00", "taxable_pay": "2876.28", "middle_portion": "1876.28", "upper_portion": "0.00", "income_tax": "187.63", "net_pay": "2688.65"}
}
Assistant
{
  "decision": "calculate",
  "currency": "LCR",
  "gross_pay": "3092.77",
  "employee_contribution": "216.49",
  "allowed_deduction": "0.00",
  "taxable_pay": "2876.28",
  "income_tax": "187.63",
  "net_pay": "2688.65",
  "clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All values match. Return JSON.
Rollout #2 100.0% passed · 5 tool calls · 19.9s · $0.0014
ComponentScoreClauses
decision 100.0% R1 R2 R3 R4 R5 R6
exact 100.0% R1 R2 R3 R4 R5 R6
field accuracy 100.0% R1 R2 R3 R4 R5 R6
citations 100.0% R1 R2 R3 R4 R5 R6
Assistant
list_documents()
Reasoning
Let me start by listing documents.
Tool
[
  {"id": "2dabbb0836821c10-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="2dabbb0836821c10-payroll")
Reasoning
Read it.
Tool
{
  "kind": "payroll",
  "record": {"gross_pay": "3092.77", "payroll_month": "2026-06"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")
Reasoning
June 2026 → first-half? The rules say first-half and second-half rows selected by payroll month. 2026-06 is first half of the year (Jan–Jun). Let me lookup.
Tool
{
  "reference": "first-half",
  "months": ["2026-01", "2026-06"],
  "rate": "0.07",
  "cap": "3500.00",
  "deduction": "400.00",
  "free": "1000.00",
  "upper": "3000.00",
  "middle_rate": "0.10",
  "upper_rate": "0.18"
}
Tool
{
  "reference": "second-half",
  "months": ["2026-07", "2026-12"],
  "rate": "0.08",
  "cap": "4500.00",
  "deduction": "400.00",
  "free": "1100.00",
  "upper": "3600.00",
  "middle_rate": "0.12",
  "upper_rate": "0.18"
}
Assistant
calculate(program="contribution = round(min(3092.77, 3500.00) * 0.07, 2)\ntaxable = 3092.77 - contribution - 0.00\nmiddle_part = min(max(taxable - 1000.00, 0.00), 3000.00 - 1000.00)\nupper_part = max(taxable - 3000.00, 0.00)\ntax_raw = middle_part * 0.10 + upper_part * 0.18\nincome_tax = round(tax_raw, 2)\nnet = 3092.77 - contribution - 0.00 - income_tax")
Reasoning
2026-06 is in first-half row. gross_pay = 3092.77, no allowed_deduction → 0.00.

Contribution = round(min(3092.77, 3500) * 0.07, 2) = round(216.4939, 2) = 216.49.

Taxable = 3092.77 - 216.49 - 0 = 2876.28.

Tax: free 1000; up to 3000 middle0.10; portion of taxable above 1000 up to 3000 = 1876.28 * 0.10 = 187.628. Above 3000: 0. Total = round(187.628,2) = 187.63.

Net = 3092.77 - 216.49 - 0 - 187.63 = 2688.65.

Let me run calculate for exactness.
Tool
{
  "results": {"contribution": "216.49", "taxable": "2876.28", "middle_part": "1876.28", "upper_part": "0.00", "tax_raw": "187.6280", "income_tax": "187.63", "net": "2688.65"}
}
Assistant
{
  "decision": "calculate",
  "currency": "LCR",
  "gross_pay": "3092.77",
  "employee_contribution": "216.49",
  "allowed_deduction": "0.00",
  "taxable_pay": "2876.28",
  "income_tax": "187.63",
  "net_pay": "2688.65",
  "clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All matches. Output JSON.
Rollout #3 100.0% passed · 4 tool calls · 18.7s · $0.0012
ComponentScoreClauses
decision 100.0% R1 R2 R3 R4 R5 R6
exact 100.0% R1 R2 R3 R4 R5 R6
field accuracy 100.0% R1 R2 R3 R4 R5 R6
citations 100.0% R1 R2 R3 R4 R5 R6
Assistant
list_documents()
Reasoning
Let me start by listing documents.
Tool
[
  {"id": "2dabbb0836821c10-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="2dabbb0836821c10-payroll")
Reasoning
Read the payroll document.
Tool
{
  "kind": "payroll",
  "record": {"gross_pay": "3092.77", "payroll_month": "2026-06"}
}
Assistant
lookup_reference(reference="first-half")
Reasoning
Payroll month 2026-06 → first-half reference. Lookup first-half.
Tool
{
  "reference": "first-half",
  "months": ["2026-01", "2026-06"],
  "rate": "0.07",
  "cap": "3500.00",
  "deduction": "400.00",
  "free": "1000.00",
  "upper": "3000.00",
  "middle_rate": "0.10",
  "upper_rate": "0.18"
}
Assistant
calculate(program="contribution_base = min(3092.77, 3500.00)\nemployee_contribution = round(contribution_base * 0.07, 2)\nallowed_deduction = 0.00\ntaxable_pay = 3092.77 - employee_contribution - allowed_deduction\nmiddle_portion = min(max(taxable_pay - 1000.00, 0.00), 3000.00 - 1000.00)\nupper_portion = max(taxable_pay - 3000.00, 0.00)\nincome_tax = round(middle_portion * 0.10 + upper_portion * 0.18, 2)\nnet_pay = 3092.77 - employee_contribution - allowed_deduction - income_tax")
Reasoning
Gross pay 3092.77, no allowed deduction specified → 0.00. Employee contribution = 0.07 * min(3092.77, 3500) = 0.07 * 3092.77 = 216.4939 → round 216.49. Taxable pay = 3092.77 - 216.49 - 0 = 2876.28. Tax: free 1000, upper 3000. Taxable 2876.28: portion up to 1000 untaxed; portion 1000→2876.28 = 1876.28 at 0.10 = 18.7628. Total tax = 18.7628 → 18.76. Net = 3092.77 - 216.49 - 0 - 18.76 = 2857.52.

Check bracket: is taxable above upper 3000? No. Use calculate to confirm.
Tool
{
  "results": {"contribution_base": "3092.77", "employee_contribution": "216.49", "allowed_deduction": "0.00", "taxable_pay": "2876.28", "middle_portion": "1876.28", "upper_portion": "0.00", "income_tax": "187.63", "net_pay": "2688.65"}
}
Assistant
{
  "decision": "calculate",
  "currency": "LCR",
  "gross_pay": "3092.77",
  "employee_contribution": "216.49",
  "allowed_deduction": "0.00",
  "taxable_pay": "2876.28",
  "income_tax": "187.63",
  "net_pay": "2688.65",
  "clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
Wait, I mis-multiplied: 1876.28 * 0.10 = 187.628 → 187.63. Right. Net = 3092.77 - 216.49 - 187.63 = 2688.65.