← Heatmap / GLM 5.3 Flash · Task 90
GLM 5.3 Flash · Single-turn · Task 90 (Calculation, at the wage cap)
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 | 4999.99 | 4999.99 | 4999.99 | 4999.99 |
| employee contribution | 350.00 | 350.00 | 350.00 | 350.00 |
| allowed deduction | 355.71 | 355.71 | 355.71 | 355.71 |
| taxable pay | 4294.28 | 4294.28 | 4294.28 | 4294.28 |
| income tax | 536.74 | 536.74 | 536.74 | 536.74 |
| net pay | 3757.54 | 3757.54 | 3757.54 | 3757.54 |
| 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.
Source documents: {"9aeda9b75546629e-payroll": {"kind": "payroll", "record": {"gross_pay": "4999.99", "payroll_month": "2026-02", "allowed_deduction": "355.71"}}, "9aeda9b75546629e-contract": {"kind": "contract", "gross_pay": "4999.99"}}
Authoritative case reference schedule: {"first-half": {"rate": "0.07", "cap": "5000.00", "deduction": "400.00", "free": "900.00", "upper": "3000.00", "middle_rate": "0.12", "upper_rate": "0.22"}, "second-half": {"rate": "0.06", "cap": "5000.00", "deduction": "400.00", "free": "1000.00", "upper": "2800.00", "middle_rate": "0.08", "upper_rate": "0.22"}}
Rollouts
Rollout #1 100.0% passed · 7.1s · $0.0007
| 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
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4999.99",
"employee_contribution": "350.00",
"allowed_deduction": "355.71",
"taxable_pay": "4294.28",
"income_tax": "536.74",
"net_pay": "3757.54",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-02 selects the case schedule's first-half row (rate 0.07, cap 5000.00, deduction cap 400.00, free 900.00, upper 3000.00, middle 0.12, upper rate 0.22). Contribution: 0.07 x min(4999.99, 5000.00) = 349.9993 -> 350.00. Deduction 355.71 is within the 400.00 cap and below gross minus contribution (4649.99). Taxable pay: 4999.99 - 350.00 - 355.71 = 4294.28. Tax: (3000.00 - 900.00) x 0.12 = 252.00 plus (4294.28 - 3000.00) x 0.22 = 284.7416, total 536.7416 -> 536.74. Net pay: 4999.99 - 350.00 - 355.71 - 536.74 = 3757.54. Contract gross pay matches the payroll record, so no amendment is needed."
}
Reasoning
Let me work through this payroll case. Inputs: - gross_pay: "4999.99" - payroll_month: "2026-02" → first-half row - allowed_deduction: "355.71" - contract gross_pay: "4999.99" — matches gross_pay, so no conflict (R9: matching contract values require no amendment). - Authoritative case schedule supplied: first-half: rate 0.07, cap 5000.00, deduction 400.00, free 900.00, upper 3000.00, middle_rate 0.12, upper_rate 0.22. Per R1, when a case schedule is supplied, its numeric values replace defaults. Payroll month 2026-02 → first-half row. Step 1: Employee contribution (R3): rate 0.07 × min(gross 4999.99, cap 5000.00) = 0.07 × 4999.99 = 349.9993. Round half-up to two decimals: 350.00. Wait — 349.9993 rounds to 350.00? Round to two decimals: 349.9993 → third decimal is 9, so 349.99 + ... let's compute: 349.9993 → two decimal places: look at digits after second decimal: 349.99|93 → the part beyond is 0.0093... Actually 349.9993 = 349.99 + 0.0093. Rounding to two decimals: 0.0093 ≥ 0.005, so rounds up to 350.00. Yes, 350.00. Step 2: Allowed deduction check (R4): must not exceed deduction cap (400.00) or gross pay minus rounded contribution: 4999.99 − 350.00 = 4649.99. Deduction 355.71 ≤ 400.00 and ≤ 4649.99. OK. Step 3: Taxable pay (R4): gross − contribution − deduction = 4999.99 − 350.00 − 355.71 = 4294.28. Compute: 4999.99 − 350.00 = 4649.99; 4649.99 − 355.71 = 4294.28. Step 4: Income tax (R5): free = 900.00, upper boundary = 3000.00. - Portion up to 900: untaxed. - Portion 900 to 3000: 2100.00 × 0.12 = 252.00. - Portion above 3000: 4294.28 − 3000.00 = 1294.28 × 0.22 = 284.7416. Total = 252.00 + 284.7416 = 536.7416 → round half-up → 536.74. Step 5: Net pay (R6): 4999.99 − 350.00 − 355.71 − 536.74 = ? 4999.99 − 350.00 = 4649.99; − 355.71 = 4294.28; − 536.74 = 3757.54. Check: 4294.28 − 536.74 = 3757.54. Yes. Fields: - decision: "calculate" - currency: "LCR" - gross_pay: "4999.99" - employee_contribution: "350.00" - allowed_deduction: "355.71" - taxable_pay: "4294.28" - income_tax: "536.74" - net_pay: "3757.54" - clauses: R1, R2, R3, R4, R5, R6. Contract matches gross pay, so no amendment needed — no R9 citation needed. Citation requirements: calculated answers cite R1 through R6; R9 only when amendment needed. So clauses: ["R1","R2","R3","R4","R5","R6"]. Optionally include explanation. Keep it brief. JSON without markdown fences, one object.
Rollout #2 100.0% passed · 6.1s · $0.0006
| 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
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4999.99",
"employee_contribution": "350.00",
"allowed_deduction": "355.71",
"taxable_pay": "4294.28",
"income_tax": "536.74",
"net_pay": "3757.54",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-02 selects the first-half row of the case schedule (R1). Contribution: 0.07 x min(4999.99, 5000.00) = 349.9993, rounded to 350.00 (R3). Deduction 355.71 is within the 400.00 cap and within gross minus contribution (R4). Taxable pay: 4999.99 - 350.00 - 355.71 = 4294.28 (R4). Tax: first 900.00 untaxed, 2100.00 x 0.12 = 252.00, plus 1294.28 x 0.22 = 284.7416; total 536.7416 rounded to 536.74 (R5). Net pay: 4999.99 - 350.00 - 355.71 - 536.74 = 3757.54 (R6). Contract gross matches payroll gross, so no amendment is needed."
}
Reasoning
Let me work through this payroll calculation.
Input:
- gross_pay: 4999.99
- payroll_month: 2026-02
- allowed_deduction: 355.71
- contract gross_pay: 4999.99 (matches, so no conflict)
- Case reference schedule supplied: first-half: rate 0.07, cap 5000.00, deduction 400.00, free 900.00, upper 3000.00, middle_rate 0.12, upper_rate 0.22
Payroll month 2026-02 → first-half row. Use the case schedule's first-half values (per R1, case schedule replaces defaults).
Step 1: Employee contribution (R3): rate 0.07 × min(4999.99, 5000.00) = 0.07 × 4999.99 = 349.9993 → round to 350.00.
Wait: 0.07 × 4999.99 = 349.9993. Round half-up to two decimals: 350.00. Hmm, 349.9993 → 350.00. Yes.
Step 2: Allowed deduction check (R4): deduction cap = 400.00. Gross pay minus contribution = 4999.99 − 350.00 = 4649.99. Allowed deduction 355.71 ≤ 400.00 and ≤ 4649.99. Valid. Use 355.71.
Step 3: Taxable pay (R4): 4999.99 − 350.00 − 355.71 = 4294.28.
Step 4: Income tax (R5): first-half schedule: free = 900.00, upper = 3000.00, middle_rate = 0.12, upper_rate = 0.22.
Taxable pay = 4294.28.
- Portion up to 900.00: untaxed.
- Portion 900.00 to 3000.00: 2100.00 × 0.12 = 252.00.
- Portion above 3000.00: 4294.28 − 3000.00 = 1294.28 × 0.22 = 284.7416.
Total = 252.00 + 284.7416 = 536.7416 → round to 536.74.
Step 5: Net pay (R6): 4999.99 − 350.00 − 355.71 − 536.74 = ?
4999.99 − 350.00 = 4649.99
4649.99 − 355.71 = 4294.28
4294.28 − 536.74 = 3757.54.
Net pay = 3757.54.
Let me double check the contribution: 0.07 × 4999.99 = 349.9993. Round half-up: 349.9993 → third decimal is 9, so round up second decimal: 349.99 + 0.01 = 350.00. Yes, 350.00.
Taxable pay: 4294.28.
Tax: middle band: 3000.00 − 900.00 = 2100.00 × 0.12 = 252.00. Upper band: 4294.28 − 3000.00 = 1294.28 × 0.22 = 284.7416. Sum = 536.7416 → 536.74.
Net: 3757.54.
Contract gross matches payroll gross (4999.99 = 4999.99), so no amendment needed, no R9 citation.
Clauses: R1 (row selection, case schedule), R2 (rounding), R3 (contribution), R4 (deduction/taxable), R5 (tax), R6 (net pay/answer).
Output JSON:
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4999.99",
"employee_contribution": "350.00",
"allowed_deduction": "355.71",
"taxable_pay": "4294.28",
"income_tax": "536.74",
"net_pay": "3757.54",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Maybe include an explanation. Optional. I'll include a brief explanation.
Rollout #3 100.0% passed · 5.2s · $0.0005
| 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
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4999.99",
"employee_contribution": "350.00",
"allowed_deduction": "355.71",
"taxable_pay": "4294.28",
"income_tax": "536.74",
"net_pay": "3757.54",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-02 selects the first-half row of the case schedule (R1). Contribution: 0.07 \u00d7 min(4999.99, 5000.00) = 349.9993 \u2192 350.00 (R3). Allowed deduction 355.71 is within the 400.00 cap and within gross pay minus contribution (R4). Taxable pay: 4999.99 \u2212 350.00 \u2212 355.71 = 4294.28. Tax: 0 on first 900.00; 0.12 \u00d7 (3000.00 \u2212 900.00) = 252.00; 0.22 \u00d7 (4294.28 \u2212 3000.00) = 284.7416; total 536.7416 \u2192 536.74 (R5). Net pay: 4999.99 \u2212 350.00 \u2212 355.71 \u2212 536.74 = 3757.54 (R6). Contract gross pay matches the payroll record, so no amendment is needed."
}
Reasoning
Let me process this payroll record.
Inputs:
- gross_pay: "4999.99"
- payroll_month: "2026-02"
- allowed_deduction: "355.71"
- contract gross_pay: "4999.99" (matches, so no conflict)
- Case reference schedule: first-half: rate 0.07, cap 5000.00, deduction 400.00, free 900.00, upper 3000.00, middle_rate 0.12, upper_rate 0.22
Payroll month 2026-02 is in first-half. The case schedule exists, so its values replace defaults.
Steps:
1. Employee contribution = rate 0.07 × min(4999.99, 5000.00) = 0.07 × 4999.99 = 349.9993 → round to 350.00 (round-half-up at two decimals: 349.9993 → 350.00? Wait, 349.9993 rounds to 350.00? Let's compute: 349.9993, rounding to two decimals: the third decimal is 9, so 349.99 + 0.01 = 350.00. Actually 349.9993 → two decimals: look at 349.9993; the digits are 349.99|93, the part after two decimals is 0.0093 which is ≥ 0.005, so round up: 350.00. Yes, 350.00.
2. Allowed deduction check: cap 400.00; gross pay minus rounded contribution = 4999.99 − 350.00 = 4649.99. Deduction 355.71 ≤ 400.00 and ≤ 4649.99. OK.
3. Taxable pay = 4999.99 − 350.00 − 355.71 = 4294.28.
4. Income tax:
- Tax-free: 900.00
- Upper bracket begins: 3000.00
- Middle rate: 0.12 on portion from 900.00 to 3000.00 = 2100.00 × 0.12 = 252.00
- Upper rate: 0.22 on portion above 3000.00 = 4294.28 − 3000.00 = 1294.28 × 0.22 = 284.7416
- Total = 252.00 + 284.7416 = 536.7416 → round to 536.74.
5. Net pay = 4999.99 − 350.00 − 355.71 − 536.74 = 3757.54.
Check: 4999.99 − 350.00 = 4649.99; 4649.99 − 355.71 = 4294.28; 4294.28 − 536.74 = 3757.54.
Contract matches gross pay, so no amendment needed; cite R1–R6.
Output JSON:
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4999.99",
"employee_contribution": "350.00",
"allowed_deduction": "355.71",
"taxable_pay": "4294.28",
"income_tax": "536.74",
"net_pay": "3757.54",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}