← Heatmap / MiMo V2.6 Pro · Task 75
MiMo V2.6 Pro · Tool use · Task 75 (Calculation, half-cent rounding tie)
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 | 2107.50 | 2107.50 | 2107.50 | 2107.50 |
| employee contribution | 147.53 | 147.53 | 147.53 | 147.53 |
| allowed deduction | 273.91 | 273.91 | 273.91 | 273.91 |
| taxable pay | 1686.06 | 1686.06 | 1686.06 | 1686.06 |
| income tax | 54.88 | 54.88 | 54.88 | 54.88 |
| net pay | 1631.18 | 1631.18 | 1631.18 | 1631.18 |
| 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 · 4 tool calls · 15.8s · $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": "9c34fc341666103e-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9c34fc341666103e-payroll")Reasoning
Read the payroll document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "2107.50", "payroll_month": "2026-04", "allowed_deduction": "273.91"}
}
Assistant
lookup_reference(reference="first-half")Reasoning
Payroll month 2026-04 → first-half reference (Jan-Jun). Lookup first-half.
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.24"
}
Assistant
calculate(program="contribution = round(min(2107.50, 4500.00) * 0.07, 2)\nallowed = min(273.91, 400.00, 2107.50 - contribution)\ntaxable = 2107.50 - contribution - allowed\nmiddle_portion = min(max(taxable - 1000.00, 0.00), 3600.00 - 1000.00)\nupper_portion = max(taxable - 3600.00, 0.00)\nincome_tax = round(middle_portion * 0.08 + upper_portion * 0.24, 2)\nnet_pay = 2107.50 - contribution - allowed - income_tax")Reasoning
Compute: - gross = 2107.50 - contribution = round(min(2107.50, 4500) * 0.07, 2) = round(147.525, 2) = 147.53 (half up) - allowed deduction 273.91 ≤ 400 cap, and ≤ gross - contribution = 2107.50 - 147.53 = 1959.97. OK. - taxable = 2107.50 - 147.53 - 273.91 = 1686.06 - tax: free 1000, upper 3600. taxable 1686.06: first 1000 untaxed; 686.06 at 0.08 = 54.8848. Total tax = round(54.8848, 2) = 54.88 (half up: 54.8848 → 54.88). - net = 2107.50 - 147.53 - 273.91 - 54.88 = 1631.18 Check net: 2107.50 - 147.53 = 1959.97; -273.91 = 1686.06; -54.88 = 1631.18. Good. Clauses: R1-R6. No amendment. Answer fields per R6.
Tool
{
"results": {"contribution": "147.53", "allowed": "273.91", "taxable": "1686.06", "middle_portion": "686.06", "upper_portion": "0.00", "income_tax": "54.88", "net_pay": "1631.18"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "2107.50",
"employee_contribution": "147.53",
"allowed_deduction": "273.91",
"taxable_pay": "1686.06",
"income_tax": "54.88",
"net_pay": "1631.18",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
Return the JSON.
Rollout #2 100.0% passed · 4 tool calls · 15.6s · $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 list documents first.
Tool
[
{"id": "9c34fc341666103e-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9c34fc341666103e-payroll")Reasoning
Read the payroll document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "2107.50", "payroll_month": "2026-04", "allowed_deduction": "273.91"}
}
Assistant
lookup_reference(reference="first-half")Reasoning
Payroll month 2026-04 → first-half (assume first-half covers months 01-06, second-half 07-12). Let me lookup reference first-half.
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.24"
}
Assistant
calculate(program="contribution = round(min(2107.50, 4500.00) * 0.07, 2)\ntaxable = 2107.50 - contribution - 273.91\ntax = round(max(0.00, min(taxable, 3600.00) - 1000.00) * 0.08 + max(0.00, taxable - 3600.00) * 0.24, 2)\nnet = 2107.50 - contribution - 273.91 - tax")Reasoning
gross_pay = 2107.50, month 2026-04 → first-half row applies. rate 0.07, cap 4500.00, deduction cap 400.00, free 1000.00, upper 3600.00, middle 0.08, upper_rate 0.24. employee_contribution = round(min(2107.50, 4500.00) * 0.07, 2) = round(147.525, 2) = 147.53 (half up). allowed_deduction 273.91 ≤ 400.00 cap; check ≤ gross - contribution = 2107.50 - 147.53 = 1959.97. OK. taxable_pay = 2107.50 - 147.53 - 273.91 = 1686.06. income tax: 1686.06 ≤ 3600, above free 1000:686.06 * 0.08 = 54.8848 → round 54.88? Round total: 54.8848 → 54.88. net_pay = 2107.50 - 147.53 - 273.91 - 54.88 = 1631.18. Calculate to verify.
Tool
{
"results": {"contribution": "147.53", "taxable": "1686.06", "tax": "54.88", "net": "1631.18"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "2107.50",
"employee_contribution": "147.53",
"allowed_deduction": "273.91",
"taxable_pay": "1686.06",
"income_tax": "54.88",
"net_pay": "1631.18",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All values confirmed. Clauses: R1 (row selection), R2 (rounding), R3 (contribution), R4 (deduction/taxable), R5 (tax), R6 (answer format). No amendment needed.
Rollout #3 100.0% passed · 5 tool calls · 16.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 list documents first.
Tool
[
{"id": "9c34fc341666103e-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9c34fc341666103e-payroll")Reasoning
Read the document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "2107.50", "payroll_month": "2026-04", "allowed_deduction": "273.91"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")Reasoning
Payroll month 2026-04 → second-half? Wait, first-half vs second-half likely means first half of year (Jan-Jun) vs second half (Jul-Dec). 2026-04 is first half. Let me look up reference "first-half".
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.24"
}
Tool
{
"reference": "second-half",
"months": ["2026-07", "2026-12"],
"rate": "0.04",
"cap": "5000.00",
"deduction": "400.00",
"free": "1100.00",
"upper": "3600.00",
"middle_rate": "0.10",
"upper_rate": "0.22"
}
Assistant
calculate(program="contribution = round(min(2107.50, 4500.00) * 0.07, 2)\ntaxable = 2107.50 - contribution - 273.91\nmiddle_portion = max(0.00, min(taxable, 3600.00) - 1000.00)\nupper_portion = max(0.00, taxable - 3600.00)\nincome_tax = round(middle_portion * 0.08 + upper_portion * 0.24, 2)\nnet_pay = 2107.50 - contribution - 273.91 - income_tax")Reasoning
2026-04 falls in first-half. Rate 0.07, cap 4500, deduction cap 400, free 1000, upper 3600, middle 0.08, upper rate 0.24. Gross 2107.50. Contribution = round(min(2107.50, 4500)*0.07, 2) = round(147.525, 2) = 147.53 (half up). Allowed deduction 273.91 ≤ 400 and ≤ 2107.50 - 147.53 = 1959.97. OK. Taxable = 2107.50 - 147.53 - 273.91 = 1686.06. Tax: free 1000 untaxed. Middle portion = 1686.06 - 1000 = 686.06 up to 3600. Tax = 686.06*0.08 = 54.8848 → 54.88? Round half up to cent: 54.8848 → 54.88. Total tax = 54.88. Net = 2107.50 - 147.53 - 273.91 - 54.88 = 1631.18. Let me verify with calculate.
Tool
{
"results": {"contribution": "147.53", "taxable": "1686.06", "middle_portion": "686.06", "upper_portion": "0.00", "income_tax": "54.88", "net_pay": "1631.18"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "2107.50",
"employee_contribution": "147.53",
"allowed_deduction": "273.91",
"taxable_pay": "1686.06",
"income_tax": "54.88",
"net_pay": "1631.18",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All good. Return JSON.