# Addition Accuracy on Positive Floats (gpt-oss-120b)

> LLMs will show lower accuracy on float addition compared to integer addition, due to decimal place handling.

Date: 2026-01-18



## Test

Follow-up to the integer addition experiments ([positive](/scratchpads/simple-addition-positive-integers), [negative](/scratchpads/simple-addition-negative-integers)), both 100% accurate. Floating point introduces decimal alignment and carry propagation across the decimal point.

100 pairs of positive floats (0.01–99.99, up to 2 decimal places, seed=42), stratified into 5 buckets of 20:
- **Integer-like:** x.0 + y.0 (sanity check)
- **One decimal:** x.x + y.y
- **Two decimals, no carry:** fractional parts sum below 1.00
- **Two decimals, carry:** fractional parts sum to 1.00 or above
- **Mixed precision:** one operand with fewer decimal places than the other

- Model: gpt-oss-120b via Cerebras API (free tier)
- Temperature: 0, top_p: 1, max_completion_tokens: 1024
- Prompt: "What is {a} + {b}? Reply with only the number."
- Correctness: round(model, 2) == round(expected, 2) using Decimal arithmetic


## Result

**REJECTED**

The hypothesis is wrong — float addition accuracy matches integer addition at 100%.

| Bucket | Total | Correct | Accuracy |
|--------|:-:|:-:|:-:|
| Integer-like | 20 | 20 | 100.0% |
| One decimal | 20 | 20 | 100.0% |
| Two dec, no carry | 20 | 20 | 100.0% |
| Two dec, carry | 20 | 20 | 100.0% |
| Mixed precision | 20 | 20 | 100.0% |

Carry across the decimal point and mismatched decimal places introduced no errors. The model's chain-of-thought handles decimal alignment correctly throughout.

Combined with the four prior arithmetic experiments, gpt-oss-120b is now 500/500 on basic two-operand arithmetic with operands below 100.


## Next

1. Increase decimal places (3-4+) to find where precision breaks down
2. Test float subtraction and multiplication at the same range
3. Run the same problems on a non-reasoning model to isolate chain-of-thought effects

