← Heatmap / GLM 5.3 Flash · Task 31
GLM 5.3 Flash · Single-turn · Task 31 (Calculation, upper 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 | 3941.14 | 3941.14 | 3941.14 | 3941.14 |
| employee contribution | 197.06 | 197.06 | 197.06 | 197.06 |
| allowed deduction | 197.94 | 197.94 | 197.94 | 197.94 |
| taxable pay | 3546.14 | 3546.14 | 3546.14 | 3546.14 |
| income tax | 390.15 | 390.15 | 390.15 | 390.15 |
| net pay | 3155.99 | 3155.99 | 3155.99 | 3155.99 |
| 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: {"c0b4647b43710bd2-payroll": {"kind": "payroll", "record": {"gross_pay": "3941.14", "payroll_month": "2026-03", "allowed_deduction": "197.94"}}, "c0b4647b43710bd2-contract": {"kind": "contract", "gross_pay": "3941.14"}}
Authoritative case reference schedule: {"first-half": {"rate": "0.05", "cap": "5000.00", "deduction": "400.00", "free": "900.00", "upper": "3300.00", "middle_rate": "0.14", "upper_rate": "0.22"}, "second-half": {"rate": "0.07", "cap": "4500.00", "deduction": "400.00", "free": "1100.00", "upper": "3600.00", "middle_rate": "0.14", "upper_rate": "0.20"}}
Rollouts
Rollout #1 100.0% passed · 13.3s · $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": "3941.14",
"employee_contribution": "197.06",
"allowed_deduction": "197.94",
"taxable_pay": "3546.14",
"income_tax": "390.15",
"net_pay": "3155.99",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-03 selects the first-half row of the authoritative case schedule (R1), giving rate 0.05, cap 5000.00, deduction cap 400.00, free 900.00, upper 3300.00, middle 0.14, upper_rate 0.22. Contribution: 0.05 x min(3941.14, 5000.00) = 197.057 -> 197.06 (R3). Deduction 197.94 is within the 400.00 cap and below gross minus contribution (3744.08), so it is allowed (R4). Taxable pay: 3941.14 - 197.06 - 197.94 = 3546.14 (R4). Tax: first 900.00 untaxed; (3300.00 - 900.00) x 0.14 = 336.00; (3546.14 - 3300.00) x 0.22 = 54.1508; total 390.1508 -> 390.15 (R5, R2). Net pay: 3941.14 - 197.06 - 197.94 - 390.15 = 3155.99 (R6). Contract gross pay matches the payroll record, so no amendment is needed."
}
Reasoning
Let me work through this payroll record. Input: - gross_pay: "3941.14" - payroll_month: "2026-03" - allowed_deduction: "197.94" - contract gross_pay: "3941.14" (matches, no conflict) - Case reference schedule supplied (authoritative): first-half: rate 0.05, cap 5000.00, deduction 400.00, free 900.00, upper 3300.00, middle_rate 0.14, upper_rate 0.22; second-half: rate 0.07, cap 4500.00, deduction 400.00, free 1100.00, upper 3600.00, middle_rate 0.14, upper_rate 0.20. Payroll month 2026-03 → first-half row. Per R1, when a case schedule is supplied, its numeric values replace the defaults. So use first-half schedule values: - contribution rate: 0.05 - wage cap: 5000.00 - deduction cap: 400.00 - tax-free amount: 900.00 - upper bracket begins: 3300.00 - middle rate: 0.14 - upper rate: 0.22 Step 1: Employee contribution (R3): rate × min(gross, cap) = 0.05 × min(3941.14, 5000.00) = 0.05 × 3941.14 = 197.057. Round half-up to 197.06. Step 2: Allowed deduction check (R4): allowed_deduction = 197.94. Must not exceed deduction cap (400.00) or gross pay minus rounded contribution = 3941.14 − 197.06 = 3744.08. 197.94 ≤ 400.00 and ≤ 3744.08. OK. Step 3: Taxable pay (R4): gross − contribution − deduction = 3941.14 − 197.06 − 197.94 = 3546.14. Check: 3941.14 − 197.06 = 3744.08; 3744.08 − 197.94 = 3546.14. Yes. Step 4: Income tax (R5): progressive marginal. - Tax-free: 900.00 → 0 tax. - Middle band: from 900.00 to 3300.00 → width 2400.00 × 0.14 = 336.00. - Upper band: above 3300.00 → 3546.14 − 3300.00 = 246.14 × 0.22 = 54.1508. Total tax = 336.00 + 54.1508 = 390.1508 → round half-up to 390.15. Step 5: Net pay (R6): gross − contribution − deduction − tax = 3941.14 − 197.06 − 197.94 − 390.15. 3941.14 − 197.06 = 3744.08 3744.08 − 197.94 = 3546.14 3546.14 − 390.15 = 3155.99. Net pay = 3155.99. Fields: - decision: "calculate" - currency: "LCR" - gross_pay: "3941.14" - employee_contribution: "197.06" - allowed_deduction: "197.94" - taxable_pay: "3546.14" - income_tax: "390.15" - net_pay: "3155.99" - clauses: R1, R2, R3, R4, R5, R6. Contract matches gross pay so no R9 needed. The instructions say to only include clauses that directly govern the answer. Calculated answers cite R1 through R6. R9 only when amendment needed — not needed here since contract matches. Output as JSON without markdown fences.
Rollout #2 100.0% passed · 12.8s · $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": "3941.14",
"employee_contribution": "197.06",
"allowed_deduction": "197.94",
"taxable_pay": "3546.14",
"income_tax": "390.15",
"net_pay": "3155.99",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "Payroll month 2026-03 selects the first-half row of the authoritative case schedule (R1). Employee contribution = 0.05 \u00d7 min(3941.14, 5000.00) = 197.057 \u2192 197.06 (R3, R2). Allowed deduction 197.94 is within the 400.00 cap and within gross minus contribution (R4). Taxable pay = 3941.14 \u2212 197.06 \u2212 197.94 = 3546.14 (R4). Income tax: first 900.00 untaxed; (3300.00 \u2212 900.00) \u00d7 0.14 = 336.00; (3546.14 \u2212 3300.00) \u00d7 0.22 = 54.1508; total 390.1508 \u2192 390.15 (R5, R2). Net pay = 3941.14 \u2212 197.06 \u2212 197.94 \u2212 390.15 = 3155.99 (R6). Contract gross pay matches the payroll record, so no amendment is needed."
}
Reasoning
Let me process this payroll record. Inputs: - gross_pay: "3941.14" - payroll_month: "2026-03" - allowed_deduction: "197.94" - contract gross_pay: "3941.14" (matches, so no conflict) The authoritative case reference schedule is supplied. Payroll month 2026-03 is in first-half (2026-01 through 2026-06). First-half row: rate 0.05, cap 5000.00, deduction 400.00, free 900.00, upper 3300.00, middle_rate 0.14, upper_rate 0.22. Step 1: Employee contribution (R3): rate × min(gross, cap) = 0.05 × min(3941.14, 5000.00) = 0.05 × 3941.14 = 197.057. Round to two decimals: 197.057 → 197.06 (round-half-up). Step 2: Allowed deduction check (R4): allowed_deduction = 197.94. Cap is 400.00, so within cap. Also must not exceed gross pay minus rounded contribution: 3941.14 − 197.06 = 3744.08. 197.94 ≤ 3744.08, OK. Step 3: Taxable pay (R4): gross − contribution − deduction = 3941.14 − 197.06 − 197.94 = 3546.14. Let me compute: 3941.14 − 197.06 = 3744.08. 3744.08 − 197.94 = 3546.14. Step 4: Income tax (R5): - Tax-free amount: 900.00 - Upper bracket begins: 3300.00 - Taxable pay: 3546.14 Portion up to 900: untaxed = 0. Portion 900 to 3300: 3300 − 900 = 2400 × 0.14 = 336.00. Portion above 3300: 3546.14 − 3300 = 246.14 × 0.22 = 54.1508. Total tax = 336.00 + 54.1508 = 390.1508. Round to 390.15. Step 5: Net pay (R6): 3941.14 − 197.06 − 197.94 − 390.15 = ? 3941.14 − 197.06 = 3744.08. 3744.08 − 197.94 = 3546.14. 3546.14 − 390.15 = 3155.99. So net pay = 3155.99. Answer fields: - decision: "calculate" - currency: "LCR" - gross_pay: "3941.14" - employee_contribution: "197.06" - allowed_deduction: "197.94" - taxable_pay: "3546.14" - income_tax: "390.15" - net_pay: "3155.99" - clauses: R1, R2, R3, R4, R5, R6 The schedule exists and covers the month, so I use it (R1 says schedule values replace defaults). Since the schedule is authoritative and used, cite R1 through R6. No amendment needed since contract matches gross pay. Let me double check the rounding of 197.057: round-half-up to two decimals → 197.06. Yes. Tax: 246.14 × 0.22 = 54.1508. Sum: 336 + 54.1508 = 390.1508 → 390.15. Yes. Net: 3546.14 − 390.15 = 3155.99. Yes.
Rollout #3 100.0% passed · 9.1s · $0.0003
| 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": "3941.14",
"employee_contribution": "197.06",
"allowed_deduction": "197.94",
"taxable_pay": "3546.14",
"income_tax": "390.15",
"net_pay": "3155.99",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"],
"explanation": "2026-03 selects the first-half case schedule row (rate 0.05, cap 5000.00, deduction cap 400.00, free 900.00, upper 3300.00, middle 0.14, upper 0.22). Contribution: 0.05 \u00d7 min(3941.14, 5000.00) = 197.057 \u2192 197.06 (R3). Allowed deduction 197.94 is within the 400.00 cap and within gross minus contribution (3744.08) (R4). Taxable pay: 3941.14 \u2212 197.06 \u2212 197.94 = 3546.14 (R4). Tax: first 900.00 untaxed; 2400.00 \u00d7 0.14 = 336.00; 246.14 \u00d7 0.22 = 54.1508; total 390.1508 \u2192 390.15 (R5). Net pay: 3941.14 \u2212 197.06 \u2212 197.94 \u2212 390.15 = 3155.99 (R6)."
}
Reasoning
Let me work through this payroll record. Payroll month: 2026-03 → first-half row of the authoritative case schedule: - rate: 0.05 - cap: 5000.00 - deduction cap: 400.00 - tax-free: 900.00 - upper bracket begins: 3300.00 - middle rate: 0.14 - upper rate: 0.22 Gross pay: 3941.14 Contract gross pay: 3941.14 — matches, no conflict. Employee contribution (R3): rate × min(gross, cap) = 0.05 × min(3941.14, 5000.00) = 0.05 × 3941.14 = 197.057 → round half up to 197.06. Allowed deduction (R4): 197.94. Check: must not exceed deduction cap 400.00 — OK. Must not exceed gross pay minus rounded contribution = 3941.14 − 197.06 = 3744.08 — OK. So allowed_deduction = 197.94. Taxable pay (R4): gross − contribution − deduction = 3941.14 − 197.06 − 197.94 = 3546.14. Income tax (R5): progressive marginal: - Portion up to free amount 900.00: untaxed → 0. - Portion above 900.00 up to upper boundary 3300.00: 3300.00 − 900.00 = 2400.00 × 0.14 = 336.00. - Portion above 3300.00: 3546.14 − 3300.00 = 246.14 × 0.22 = 54.1508. Total tax = 336.00 + 54.1508 = 390.1508 → round half up → 390.15. Net pay (R6): gross − contribution − deduction − tax = 3941.14 − 197.06 − 197.94 − 390.15 = 3155.99. Let me verify: 3941.14 − 197.06 = 3744.08. 3744.08 − 197.94 = 3546.14. 3546.14 − 390.15 = 3155.99. Answer JSON with decision calculate, currency LCR, all fields as two-decimal strings, clauses citing R1–R6.