== 1. a program that goes out of range aborts, and says the same thing == == 2. division: by zero and MIN / -1 == == 3. +% -% *% and +| -| *| are never checked == == 4. counter-check: what stays in range behaves as it always did == == 5. counter-check: no checked operation, no cost == compiler 0: release-fast 652 octets of assembly, dev-fast 3089 compiler 1: release-fast 2836 octets of assembly, dev-fast 4805 == 6. the optimiser sees the checked arithmetic == foldable arithmetic: 7 operations before the optimiser, 0 after CHECKS PASSED: 150 CHECKS FAILED: 0