← Heatmap / Gemini 3.1 Flash Lite · Task 19
Gemini 3.1 Flash Lite · Tool use · Task 19 (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 | 4326.01 | 4326.01 | 4326.01 | 4326.01 |
| employee contribution | 302.82 | 302.82 | 302.82 | 302.82 |
| allowed deduction | 386.64 | 386.64 | 386.64 | 386.64 |
| taxable pay | 3636.55 | 3636.55 | 3636.55 | 3636.55 |
| income tax | 198.58 | 198.58 | 198.58 | 198.58 |
| net pay | 3437.97 | 3437.97 | 3437.97 | 3437.97 |
| 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 · 5.2s · $0.0033
| 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()Tool
[
{"id": "f8d9f5fe0eb33c57-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="f8d9f5fe0eb33c57-payroll")Tool
{
"kind": "payroll",
"record": {"gross_pay": "4326.01", "payroll_month": "2026-03", "allowed_deduction": "386.64"}
}
Assistant
lookup_reference(reference="first-half")Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1200.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.18"
}
Assistant
calculate(program="contribution = round(min(4326.01, 4500.00) * 0.07, 2)\ntaxable_pay = 4326.01 - contribution - 386.64\ntax_bracket1 = min(max(taxable_pay - 1200.00, 0), 3600.00 - 1200.00)\ntax_bracket2 = max(taxable_pay - 3600.00, 0)\nincome_tax = round(tax_bracket1 * 0.08 + tax_bracket2 * 0.18, 2)\nnet_pay = 4326.01 - contribution - 386.64 - income_tax")Tool
{
"results": {"contribution": "302.82", "taxable_pay": "3636.55", "tax_bracket1": "2400.00", "tax_bracket2": "36.55", "income_tax": "198.58", "net_pay": "3437.97"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4326.01",
"employee_contribution": "302.82",
"allowed_deduction": "386.64",
"taxable_pay": "3636.55",
"income_tax": "198.58",
"net_pay": "3437.97",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Rollout #2 100.0% passed · 4 tool calls · 5.1s · $0.0032
| 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()Tool
[
{"id": "f8d9f5fe0eb33c57-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="f8d9f5fe0eb33c57-payroll")Tool
{
"kind": "payroll",
"record": {"gross_pay": "4326.01", "payroll_month": "2026-03", "allowed_deduction": "386.64"}
}
Assistant
lookup_reference(reference="first-half")Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1200.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.18"
}
Assistant
calculate(program="employee_contribution = round(min(4326.01, 4500.00) * 0.07, 2)\ntaxable_pay = 4326.01 - employee_contribution - 386.64\nincome_tax = round(max(0, min(taxable_pay - 1200.00, 3600.00 - 1200.00)) * 0.08 + max(0, taxable_pay - 3600.00) * 0.18, 2)\nnet_pay = 4326.01 - employee_contribution - 386.64 - income_tax")Tool
{
"results": {"employee_contribution": "302.82", "taxable_pay": "3636.55", "income_tax": "198.58", "net_pay": "3437.97"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4326.01",
"employee_contribution": "302.82",
"allowed_deduction": "386.64",
"taxable_pay": "3636.55",
"income_tax": "198.58",
"net_pay": "3437.97",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}
Rollout #3 100.0% passed · 4 tool calls · 4.9s · $0.0032
| 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()Tool
[
{"id": "f8d9f5fe0eb33c57-payroll", "kind": "payroll"}
]
Assistant
read_document(document_id="f8d9f5fe0eb33c57-payroll")Tool
{
"kind": "payroll",
"record": {"gross_pay": "4326.01", "payroll_month": "2026-03", "allowed_deduction": "386.64"}
}
Assistant
lookup_reference(reference="first-half")Tool
{
"reference": "first-half",
"months": ["2026-01", "2026-06"],
"rate": "0.07",
"cap": "4500.00",
"deduction": "400.00",
"free": "1200.00",
"upper": "3600.00",
"middle_rate": "0.08",
"upper_rate": "0.18"
}
Assistant
calculate(program="employee_contribution = round(min(4326.01, 4500.00) * 0.07, 2)\ntaxable_pay = 4326.01 - employee_contribution - 386.64\nincome_tax = round(max(0, min(taxable_pay, 3600.00) - 1200.00) * 0.08 + max(0, taxable_pay - 3600.00) * 0.18, 2)\nnet_pay = 4326.01 - employee_contribution - 386.64 - income_tax")Tool
{
"results": {"employee_contribution": "302.82", "taxable_pay": "3636.55", "income_tax": "198.58", "net_pay": "3437.97"}
}
Assistant
{
"decision": "calculate",
"currency": "LCR",
"gross_pay": "4326.01",
"employee_contribution": "302.82",
"allowed_deduction": "386.64",
"taxable_pay": "3636.55",
"income_tax": "198.58",
"net_pay": "3437.97",
"clauses": ["R1", "R2", "R3", "R4", "R5", "R6"]
}