← 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
| Component | Score | Clauses |
|---|---|---|
| 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
| Component | Score | Clauses |
|---|---|---|
| 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
| Component | Score | Clauses |
|---|---|---|
| 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.