← Heatmap / MiMo V2.6 Pro · Task 7
MiMo V2.6 Pro · Tool use · Task 7 (Calculation, wage cap binds)
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 | 8370.45 | 8370.45 | 8370.45 | 8370.45 |
| employee contribution | 200.00 | 200.00 | 200.00 | 200.00 |
| allowed deduction | 370.62 | 370.62 | 370.62 | 370.62 |
| taxable pay | 7799.83 | 7799.83 | 7799.83 | 7799.83 |
| income tax | 1267.96 | 1267.96 | 1267.96 | 1267.96 |
| net pay | 6531.87 | 6531.87 | 6531.87 | 6531.87 |
| 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 · 27.5s · $0.0015
| 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 the documents.
Tool
[
{"id": "9869ba945ef7380b-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9869ba945ef7380b-payroll")Reasoning
Read the payroll document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "8370.45", "payroll_month": "2026-05", "allowed_deduction": "370.62"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")Reasoning
No contract_gross_pay, no amendment. Payroll month 2026-05 → first-half (January–June presumably). Let me look up first-half reference.
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.04",
"cap": "5000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.10",
"upper_rate": "0.24"
}
Tool
{
"reference": "second-half",
"months": ["2026-07", "2026-12"],
"rate": "0.04",
"cap": "4000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.12",
"upper_rate": "0.22"
}
Assistant
calculate(program="contribution_base = min(8370.45, 5000.00)\nemployee_contribution = round(contribution_base * 0.04, 2)\nallowed_deduction = min(370.62, 400.00, 8370.45 - employee_contribution)\ntaxable_pay = 8370.45 - employee_contribution - allowed_deduction\nbracket_middle = min(taxable_pay, 3600.00) - 1000.00\nbracket_upper = max(taxable_pay - 3600.00, 0)\nincome_tax = round(bracket_middle * 0.10 + bracket_upper * 0.24, 2)\nnet_pay = round(8370.45 - employee_contribution - allowed_deduction - income_tax, 2)")Reasoning
Payroll month 2026-05 falls in first-half (2026-01 to 2026-06). Row: rate 0.04, cap 5000.00, deduction cap 400.00, free 1000.00, upper 3600.00, middle_rate 0.10, upper_rate 0.24. Gross: 8370.45. Allowed deduction: 370.62 ≤ 400.00 cap. Also must not exceed gross - contribution = 8370.45 -334.82 = 8035.63. OK. Contribution = 0.04 * min(8370.45, 5000.00) = 0.04 * 5000 = 200.00. Taxable = 8370.45 - 200.00 - 370.62 = 7799.83. Tax: free 1000 untaxed. 1000 to 3600 → 2600 * 0.10 = 260.00. Above 3600: 7799.83 - 3600 = 4199.83 * 0.24 = 1007.9592. Total = 260 + 1007.9592 = 1267.9592 → 1267.96. Net = 8370.45 - 200.00 - 370.62 - 1267.96 = 6531.87. Let me verify with calculate.
Tool
{
"results": {"contribution_base": "5000.00", "employee_contribution": "200.00", "allowed_deduction": "370.62", "taxable_pay": "7799.83", "bracket_middle": "2600.00", "bracket_upper": "4199.83", "income_tax": "1267.96", "net_pay": "6531.87"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "8370.45",
"employee_contribution": "200.00",
"allowed_deduction": "370.62",
"taxable_pay": "7799.83",
"income_tax": "1267.96",
"net_pay": "6531.87",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All values check out. Return R6 JSON with clauses R1-R6.
Rollout #2 100.0% passed · 5 tool calls · 25.6s · $0.0017
| 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": "9869ba945ef7380b-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9869ba945ef7380b-payroll")Reasoning
Read the payroll document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "8370.45", "payroll_month": "2026-05", "allowed_deduction": "370.62"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")Reasoning
Payroll month 2026-05 → first-half reference. Lookup.
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.04",
"cap": "5000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.10",
"upper_rate": "0.24"
}
Tool
{
"reference": "second-half",
"months": ["2026-07", "2026-12"],
"rate": "0.04",
"cap": "4000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.12",
"upper_rate": "0.22"
}
Assistant
calculate(program="contribution = round(min(8370.45, 5000.00) * 0.04, 2)\ndeduction = min(370.62, 400.00, 8370.45 - contribution)\ntaxable = 8370.45 - contribution - deduction\ntax_mid = max(0.00, min(taxable, 3600.00) - 1000.00) * 0.10\ntax_upper = max(0.00, taxable - 3600.00) * 0.24\nincome_tax = round(tax_mid + tax_upper, 2)\nnet_pay = 8370.45 - contribution - deduction - income_tax")Reasoning
2026-05 falls in first-half (2026-01 through 2026-06). Wait, months listed ["2026-01","2026-06"] — likely a range from 2026-01 to 2026-06. First-half applies. Values: rate 0.04, cap 5000.00, deduction cap 400.00, free 1000.00, upper 3600.00, middle_rate 0.10, upper_rate 0.24. gross_pay = 8370.45, allowed_deduction = 370.62 (≤ 400.00 and ≤ gross - contribution). Contribution = round(min(8370.45, 5000.00) * 0.04, 2) = 5000 * 0.04 = 200.00. Taxable = 8370.45 - 200.00 - 370.62 = 7799.83. Tax: free 1000 → 0. 1000→3600: 2600 * 0.10 = 260.00. Above 3600: 7799.83 - 3600 = 4199.83 * 0.24 = 1007.9592 → but don't round intermediate products separately before summing. Total = 260 + 1007.9592 = 1267.9592 → round = 1267.96. Net = 8370.45 - 200.00 - 370.62 - 1267.96 = 6531.87. Check: 8370.45 - 200 = 8170.45; -370.62 = 7799.83; -1267.96 = 6531.87. Yes. Use calculate for exactness.
Tool
{
"results": {"contribution": "200.00", "deduction": "370.62", "taxable": "7799.83", "tax_mid": "260.0000", "tax_upper": "1007.9592", "income_tax": "1267.96", "net_pay": "6531.87"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "8370.45",
"employee_contribution": "200.00",
"allowed_deduction": "370.62",
"taxable_pay": "7799.83",
"income_tax": "1267.96",
"net_pay": "6531.87",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
All values confirmed. Return JSON.
Rollout #3 100.0% passed · 5 tool calls · 27.3s · $0.0018
| 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": "9869ba945ef7380b-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="9869ba945ef7380b-payroll")Reasoning
Read the payroll document.
Tool
{
"kind": "payroll",
"record": {"gross_pay": "8370.45", "payroll_month": "2026-05", "allowed_deduction": "370.62"}
}
Assistant
lookup_reference(reference="first-half")lookup_reference(reference="second-half")Reasoning
No contract_gross_pay, no amendment. Payroll month 2026-05 → second-half? Wait, need to check which reference covers 2026-05. First-half vs second-half. 2026-05 is May, likely first-half (Jan-Jun). But lookup both to be careful? The reference lookup returns effective months. Let me lookup first-half. Actually, I should check both to determine which covers May. Let me lookup first-half and second-half.
Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.04",
"cap": "5000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.10",
"upper_rate": "0.24"
}
Tool
{
"reference": "second-half",
"months": ["2026-07", "2026-12"],
"rate": "0.04",
"cap": "4000.00",
"deduction": "400.00",
"free": "1000.00",
"upper": "3600.00",
"middle_rate": "0.12",
"upper_rate": "0.22"
}
Assistant
calculate(program="employee_contribution = round(min(8370.45, 5000.00) * 0.04, 2)\nallowed_deduction = 370.62\ntaxable_pay = 8370.45 - employee_contribution - allowed_deduction\ntax_middle = (min(taxable_pay, 3600.00) - 1000.00) * 0.10\ntax_upper = max(taxable_pay - 3600.00, 0) * 0.24\nincome_tax = round(tax_middle + tax_upper, 2)\nnet_pay = 8370.45 - employee_contribution - allowed_deduction - income_tax")Reasoning
2026-05 falls in first-half row (2026-01 through 2026-06). Rate 0.04, cap 5000.00, deduction cap 400.00, free 1000.00, upper 3600.00, middle_rate 0.10, upper_rate 0.24. gross_pay = 8370.45 employee_contribution = round(min(8370.45, 5000.00) * 0.04, 2) = 5000 * 0.04 = 200.00 allowed_deduction = 370.62 ≤ min(400.00, 8370.45 - 200.00 = 8170.45) ✓ taxable_pay = 8370.45 - 200.00 - 370.62 = 7799.83 income tax: up to 1000 untaxed; 1000 to 3600: 2600 * 0.10 = 260.00; above 3600: 7799.83 - 3600 = 4199.83 * 0.24 = 1007.9592. Sum = 260 + 1007.9592 = 1267.9592 → round 1267.96. net_pay = 8370.45 - 200.00 - 370.62 - 1267.96 = 6431.87. Let me verify with calculate.
Tool
{
"results": {"employee_contribution": "200.00", "allowed_deduction": "370.62", "taxable_pay": "7799.83", "tax_middle": "260.0000", "tax_upper": "1007.9592", "income_tax": "1267.96", "net_pay": "6531.87"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "8370.45",
"employee_contribution": "200.00",
"allowed_deduction": "370.62",
"taxable_pay": "7799.83",
"income_tax": "1267.96",
"net_pay": "6531.87",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Reasoning
Net pay = 6531.87. Let me verify: 8370.45 - 200.00 = 8170.45; - 370.62 = 7799.83; - 1267.96 = 6531.87. Yes,7799.83 - 1267.96 = 6531.87. Correct.