← Heatmap / GLM 5.3 Flash · Task 3
GLM 5.3 Flash · Single-turn · Task 3 (Calculation, at the wage cap)
Mean 50.0%
| Field | Expected | Rollout #1 (100%) | Rollout #2 (-50%) | Rollout #3 (100%) |
|---|---|---|---|---|
| decision | calculate | calculate | (malformed) | calculate |
| currency | LCR | LCR | (malformed) | LCR |
| gross pay | 5000.02 | 5000.02 | (malformed) | 5000.02 |
| employee contribution | 300.00 | 300.00 | (malformed) | 300.00 |
| allowed deduction | 0.00 | 0.00 | (malformed) | 0.00 |
| taxable pay | 4700.02 | 4700.02 | (malformed) | 4700.02 |
| income tax | 472.00 | 472.00 | (malformed) | 472.00 |
| net pay | 4228.02 | 4228.02 | (malformed) | 4228.02 |
| clauses | R1 R2 R3 R4 R5 R6 | R1 R2 R3 R4 R5 R6 | (malformed) | 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: {"713704016144c9f9-payroll": {"kind": "payroll", "record": {"gross_pay": "5000.02", "payroll_month": "2026-05", "allowed_deduction": "0.00"}}}
Authoritative case reference schedule: {"first-half": {"rate": "0.06", "cap": "5000.00", "deduction": "400.00", "free": "1100.00", "upper": "3300.00", "middle_rate": "0.10", "upper_rate": "0.18"}, "second-half": {"rate": "0.07", "cap": "4000.00", "deduction": "400.00", "free": "1100.00", "upper": "3600.00", "middle_rate": "0.12", "upper_rate": "0.22"}}
Rollouts
Rollout #1 100.0% passed · 4.6s · $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": "5000.02",
"employee_contribution": "300.00",
"allowed_deduction": "0.00",
"taxable_pay": "4700.02",
"income_tax": "472.00",
"net_pay": "4228.02",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-05 selects the case schedule's first-half row (rate 0.06, cap 5000.00, deduction cap 400.00, free 1100.00, upper boundary 3300.00, middle 0.10, upper 0.18). Employee contribution: 0.06 x min(5000.02, 5000.00) = 300.00. Allowed deduction 0.00 is within the cap and available pay. Taxable pay: 5000.02 - 300.00 - 0.00 = 4700.02. Income tax (marginal, summed before rounding): 0 x 1100.00 + 0.10 x 2200.00 + 0.18 x 1400.02 = 472.0036 -> 472.00. Net pay: 5000.02 - 300.00 - 0.00 - 472.00 = 4228.02."
}
Reasoning
Let me work through this. Payroll month: 2026-05 → first-half row of the case schedule (since 2026-01 through 2026-06 is first-half). Case schedule first-half: rate 0.06, cap 5000.00, deduction 400.00, free 1100.00, upper 3300.00, middle_rate 0.10, upper_rate 0.18. Gross pay: 5000.02. Allowed deduction: 0.00 (given). Employee contribution: rate 0.06 × min(gross, cap) = 0.06 × min(5000.02, 5000.00) = 0.06 × 5000.00 = 300.00. Allowed deduction check: must not exceed deduction cap (400.00) and gross minus contribution (5000.02 − 300.00 = 4700.02). 0.00 is fine. Taxable pay: 5000.02 − 300.00 − 0.00 = 4700.02. Income tax: - Free: 1100.00 → tax 0. - Middle portion: from 1100.00 to 3300.00 → 2200.00 × 0.10 = 220.00. - Upper portion: 4700.02 − 3300.00 = 1400.02 × 0.18 = 252.0036 → round to 252.00? Wait — do not round intermediate bracket products separately before summing income tax (R2 and R5). So sum: 220.00 + 252.0036 = 472.0036 → round half up to two decimals = 472.00. Net pay: gross − contribution − deduction − tax = 5000.02 − 300.00 − 0.00 − 472.00 = 4228.02. Check: 5000.02 − 300.00 = 4700.02; 4700.02 − 472.00 = 4228.02. Yes. Clues to cite: R1 (row selection, schedule), R2 (rounding), R3 (contribution), R4 (deduction and taxable pay), R5 (tax), R6 (net pay/answer). No amendment needed, so not R9. Monetary fields as two-decimal strings: - gross_pay: "5000.02" - employee_contribution: "300.00" - allowed_deduction: "0.00" - taxable_pay: "4700.02" - income_tax: "472.00" - net_pay: "4228.02" Decision: calculate, currency LCR. Return one JSON object without markdown fences.
Rollout #2 -50.0% malformed · 5.1s · $0.0006
| Component | Score | Clauses |
|---|---|---|
| decision | 0.0% | R1 R2 R3 R4 R5 R6 |
| exact | 0.0% | R1 R2 R3 R4 R5 R6 |
| field accuracy | 0.0% | R1 R2 R3 R4 R5 R6 |
| citations | 0.0% | R1 R2 R3 R4 R5 R6 |
Assistant
```json
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "5000.02",
"employee_contribution": "300.00",
"allowed_deduction": "0.00",
"taxable_pay": "4700.02",
"income_tax": "472.00",
"net_pay": "4228.02",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-05 selects the first-half row; the authoritative case schedule replaces the defaults (rate 0.06, wage cap 5000.00, deduction cap 400.00, tax-free 1100.00, upper bracket 3300.00, middle 0.10, upper 0.18). Contribution = 0.06 × min(5000.02, 5000.00) = 300.00. Taxable pay = 5000.02 − 300.00 − 0.00 = 4700.02. Tax = 1100.00 × 0.00 + 2200.00 × 0.10 + 1400.02 × 0.18 = 472.0036 → 472.00. Net pay = 5000.02 − 300.00 − 0.00 − 472.00 = 4228.02."
}
```
Reasoning
We need to process a payroll record. Record: gross_pay = "5000.02", payroll_month = "2026-05", allowed_deduction = "0.00". Authoritative case reference schedule supplied: first-half: rate 0.06, cap 5000.00, deduction 400.00, free 1100.00, upper 3300.00, middle_rate 0.10, upper_rate 0.18. second-half: rate 0.07, cap 4000.00, deduction 400.00, free 1100.00, upper 3600.00, middle_rate 0.12, upper_rate 0.22. Payroll month 2026-05 is in first half (2026-01 through 2026-06). So use first-half row per the schedule. Per R1: When a case schedule is supplied, its numeric values replace defaults. So use first-half row values. Employee contribution (R3): rate 0.06 × min(gross 5000.02, cap 5000.00) = 0.06 × 5000.00 = 300.00. Allowed deduction: 0.00. Check: not exceeding deduction cap (400.00), and not exceeding gross pay minus contribution: 5000.02 − 300.00 = 4700.02. 0.00 ≤ both. Fine. Taxable pay: gross − contribution − deduction = 5000.02 − 300.00 − 0.00 = 4700.02. Income tax (R5): taxable 4700.02. - Tax-free amount: 1100.00 → untaxed portion 1100.00. - Middle bracket: from 1100.00 up to upper 3300.00 → amount = 3300.00 − 1100.00 = 2200.00 at 0.10 = 220.00. - Upper bracket: above 3300.00 → 4700.02 − 3300.00 = 1400.02 at 0.18 = 252.0036. Total = 220.00 + 252.0036 = 472.0036 → round half-up to 472.00. Net pay: gross − contribution − deduction − tax = 5000.02 − 300.00 − 0.00 − 472.00 = 4228.02. Check rounding: taxable pay 4700.02 exactly two decimals. Contribution 300.00. Tax 472.00. Net 4228.02. Let me double check the multiplication: 1400.02 × 0.18 = 252.00... 1400.02 × 0.18 = 252.0036. Yes. Also 2200 × 0.10 = 220. Yes. Round total: 472.0036 → 472.00. Net: 5000.02 − 300.00 = 4700.02; − 0 = 4700.02; − 472.00 = 4228.02. Answer fields: decision: calculate, currency: LCR, gross_pay "5000.02", employee_contribution "300.00", allowed_deduction "0.00", taxable_pay "4700.02", income_tax "472.00", net_pay "4228.02". Clauses: Calculated answers cite R1 through R6. Also R9 only when amendment needed — no amendment here. So cite R1, R2, R3, R4, R5, R6. Explanation optional — I can include a brief one. Include the note that the case schedule replaces defaults and 2026-05 is first half. Should I include explanation? Optional. I'll include a short one.
Rollout #3 100.0% passed · 4.1s · $0.0004
| 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": "5000.02",
"employee_contribution": "300.00",
"allowed_deduction": "0.00",
"taxable_pay": "4700.02",
"income_tax": "472.00",
"net_pay": "4228.02",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-05 selects the first-half row; the authoritative case schedule (rate 0.06, cap 5000.00, deduction cap 400.00, free 1100.00, upper 3300.00, middle 0.10, upper rate 0.18) replaces the defaults. Contribution = 0.06 x min(5000.02, 5000.00) = 300.00. Allowed deduction 0.00 is within the 400.00 cap and available pay. Taxable pay = 5000.02 - 300.00 - 0.00 = 4700.02. Tax = 1100.00 free + 2200.00 x 0.10 + 1400.02 x 0.18 = 472.0036, rounded to 472.00. Net pay = 5000.02 - 300.00 - 0.00 - 472.00 = 4228.02."
}
Reasoning
We need to process a payroll record for 2026-05 with an authoritative case reference schedule. Payroll month: 2026-05 → first-half row per R1 period boundaries. The case schedule gives first-half: rate 0.06, cap 5000.00, deduction cap 400.00, free 1100.00, upper 3300.00, middle_rate 0.10, upper_rate 0.18. Gross pay: 5000.02. Employee contribution: rate × min(gross, cap) = 0.06 × min(5000.02, 5000.00) = 0.06 × 5000.00 = 300.00. Allowed deduction: 0.00, within cap 400.00 and ≤ gross − contribution = 5000.02 − 300.00 = 4700.02. OK. Taxable pay: 5000.02 − 300.00 − 0.00 = 4700.02. Income tax: progressive marginal. - Free amount: 1100.00 untaxed. - Portion above free up to upper boundary (3300.00): 3300.00 − 1100.00 = 2200.00 at 0.10 = 220.00. - Portion above 3300.00: 4700.02 − 3300.00 = 1400.02 at 0.18 = 252.0036 → but don't round intermediate products separately before summing; sum raw: 220.00 + 252.0036 = 472.0036 → round half up to 472.00. Net pay: 5000.02 − 300.00 − 0.00 − 472.00 = 4228.02. Check: gross 5000.02, contribution 300.00, deduction 0.00, tax 472.00 → net 4228.02. All fields as two-decimal strings. Currency LCR. Clauses: R1 (row selection, schedule), R2 (rounding), R3 (contribution), R4 (deduction/taxable), R5 (tax), R6 (net/pay fields). No amendment needed. Output JSON without markdown fences.