FAILURE MAP

Understand the failure.
Verify the repair.

Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.

Explore the cases ↓How results are verified ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

WHAT THE ARCHIVE CONTAINS

100840 executable cases. 20168 are open.

Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.

The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗

A RECORD OF WHAT WENT WRONG

Browse the archive / 100840

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-89601

Operand-size prefix treated as address-size · case 01

Immediates after a 0x66 prefix are decoded as 4 bytes.

Instruction set emulation● Open access↗
FA-89602

Operand-size prefix treated as address-size · case 02

Immediates after a 0x66 prefix are decoded as 4 bytes.

Instruction set emulation◈ Members↗
FA-89603

Operand-size prefix treated as address-size · case 03

Immediates after a 0x66 prefix are decoded as 4 bytes.

Instruction set emulation◈ Members↗
FA-89604

Operand-size prefix treated as address-size · case 04

Immediates after a 0x66 prefix are decoded as 4 bytes.

Instruction set emulation◈ Members↗
FA-89605

Operand-size prefix treated as address-size · case 05

Immediates after a 0x66 prefix are decoded as 4 bytes.

Instruction set emulation◈ Members↗
FA-89606

Sign-extended imm8 form decoded with a full immediate · case 01

Opcode 0x83 swallows three extra bytes.

Instruction set emulation● Open access↗
FA-89607

Sign-extended imm8 form decoded with a full immediate · case 02

Opcode 0x83 swallows three extra bytes.

Instruction set emulation◈ Members↗
FA-89608

Sign-extended imm8 form decoded with a full immediate · case 03

Opcode 0x83 swallows three extra bytes.

Instruction set emulation◈ Members↗
FA-89609

Sign-extended imm8 form decoded with a full immediate · case 04

Opcode 0x83 swallows three extra bytes.

Instruction set emulation◈ Members↗
FA-89610

Sign-extended imm8 form decoded with a full immediate · case 05

Opcode 0x83 swallows three extra bytes.

Instruction set emulation◈ Members↗
FA-89611

16-bit addressing decoded with 32-bit rules · case 01

ModRM operands under the 0x67 prefix get SIB and disp32 lengths.

Instruction set emulation● Open access↗
FA-89612

16-bit addressing decoded with 32-bit rules · case 02

ModRM operands under the 0x67 prefix get SIB and disp32 lengths.

Instruction set emulation◈ Members↗
FA-89613

16-bit addressing decoded with 32-bit rules · case 03

ModRM operands under the 0x67 prefix get SIB and disp32 lengths.

Instruction set emulation◈ Members↗
FA-89614

16-bit addressing decoded with 32-bit rules · case 04

ModRM operands under the 0x67 prefix get SIB and disp32 lengths.

Instruction set emulation◈ Members↗
FA-89615

16-bit addressing decoded with 32-bit rules · case 05

ModRM operands under the 0x67 prefix get SIB and disp32 lengths.

Instruction set emulation◈ Members↗
FA-89616

Second opcode byte not consumed · case 01

Two-byte opcodes are one byte short and the second opcode byte is read as ModRM.

Instruction set emulation● Open access↗
FA-89617

Second opcode byte not consumed · case 02

Two-byte opcodes are one byte short and the second opcode byte is read as ModRM.

Instruction set emulation◈ Members↗
FA-89618

Second opcode byte not consumed · case 03

Two-byte opcodes are one byte short and the second opcode byte is read as ModRM.

Instruction set emulation◈ Members↗
FA-89619

Second opcode byte not consumed · case 04

Two-byte opcodes are one byte short and the second opcode byte is read as ModRM.

Instruction set emulation◈ Members↗
FA-89620

Second opcode byte not consumed · case 05

Two-byte opcodes are one byte short and the second opcode byte is read as ModRM.

Instruction set emulation◈ Members↗
FA-89621

Auxiliary carry ignores the carry-in · case 01

A low digit sum that only exceeds 15 because of the carry-in is not adjusted.

Instruction set emulation● Open access↗
FA-89622

Auxiliary carry ignores the carry-in · case 02

A low digit sum that only exceeds 15 because of the carry-in is not adjusted.

Instruction set emulation◈ Members↗
FA-89623

Auxiliary carry ignores the carry-in · case 03

A low digit sum that only exceeds 15 because of the carry-in is not adjusted.

Instruction set emulation◈ Members↗
FA-89624

Auxiliary carry ignores the carry-in · case 04

A low digit sum that only exceeds 15 because of the carry-in is not adjusted.

Instruction set emulation◈ Members↗
FA-89625

Auxiliary carry ignores the carry-in · case 05

A low digit sum that only exceeds 15 because of the carry-in is not adjusted.

Instruction set emulation◈ Members↗
FA-89626

High-digit adjust tests the already adjusted value · case 01

A low-digit adjust that pushes the byte past 0x99 triggers a spurious +0x60.

Instruction set emulation● Open access↗
FA-89627

High-digit adjust tests the already adjusted value · case 02

A low-digit adjust that pushes the byte past 0x99 triggers a spurious +0x60.

Instruction set emulation◈ Members↗
FA-89628

High-digit adjust tests the already adjusted value · case 03

A low-digit adjust that pushes the byte past 0x99 triggers a spurious +0x60.

Instruction set emulation◈ Members↗
FA-89629

High-digit adjust tests the already adjusted value · case 04

A low-digit adjust that pushes the byte past 0x99 triggers a spurious +0x60.

Instruction set emulation◈ Members↗
FA-89630

High-digit adjust tests the already adjusted value · case 05

A low-digit adjust that pushes the byte past 0x99 triggers a spurious +0x60.

Instruction set emulation◈ Members↗
FA-89631

Decimal carry derived from 8-bit overflow of the adjust · case 01

A high-digit adjust that stays below 0x100 loses the decimal carry.

Instruction set emulation● Open access↗
FA-89632

Decimal carry derived from 8-bit overflow of the adjust · case 02

A high-digit adjust that stays below 0x100 loses the decimal carry.

Instruction set emulation◈ Members↗
FA-89633

Decimal carry derived from 8-bit overflow of the adjust · case 03

A high-digit adjust that stays below 0x100 loses the decimal carry.

Instruction set emulation◈ Members↗
FA-89634

Decimal carry derived from 8-bit overflow of the adjust · case 04

A high-digit adjust that stays below 0x100 loses the decimal carry.

Instruction set emulation◈ Members↗
FA-89635

Decimal carry derived from 8-bit overflow of the adjust · case 05

A high-digit adjust that stays below 0x100 loses the decimal carry.

Instruction set emulation◈ Members↗
FA-89636

Low-digit adjust ignores the auxiliary carry · case 01

0x09 + 0x09 yields 0x12 instead of 0x18.

Instruction set emulation● Open access↗
FA-89637

Low-digit adjust ignores the auxiliary carry · case 02

0x09 + 0x09 yields 0x12 instead of 0x18.

Instruction set emulation◈ Members↗
FA-89638

Low-digit adjust ignores the auxiliary carry · case 03

0x09 + 0x09 yields 0x12 instead of 0x18.

Instruction set emulation◈ Members↗
FA-89639

Low-digit adjust ignores the auxiliary carry · case 04

0x09 + 0x09 yields 0x12 instead of 0x18.

Instruction set emulation◈ Members↗
FA-89640

Low-digit adjust ignores the auxiliary carry · case 05

0x09 + 0x09 yields 0x12 instead of 0x18.

Instruction set emulation◈ Members↗
FA-89641

Decimal carry not propagated between bytes · case 01

Multi-byte BCD sums lose the carry from each lower byte.

Instruction set emulation● Open access↗
FA-89642

Decimal carry not propagated between bytes · case 02

Multi-byte BCD sums lose the carry from each lower byte.

Instruction set emulation◈ Members↗
FA-89643

Decimal carry not propagated between bytes · case 03

Multi-byte BCD sums lose the carry from each lower byte.

Instruction set emulation◈ Members↗
FA-89644

Decimal carry not propagated between bytes · case 04

Multi-byte BCD sums lose the carry from each lower byte.

Instruction set emulation◈ Members↗
FA-89645

Decimal carry not propagated between bytes · case 05

Multi-byte BCD sums lose the carry from each lower byte.

Instruction set emulation◈ Members↗
FA-89646

INC half carry tested on the result nibble · case 01

Incrementing 0x0F leaves H clear and incrementing 0x0E sets it.

Instruction set emulation● Open access↗
FA-89647

INC half carry tested on the result nibble · case 02

Incrementing 0x0F leaves H clear and incrementing 0x0E sets it.

Instruction set emulation◈ Members↗
FA-89648

INC half carry tested on the result nibble · case 03

Incrementing 0x0F leaves H clear and incrementing 0x0E sets it.

Instruction set emulation◈ Members↗
FA-89649

INC half carry tested on the result nibble · case 04

Incrementing 0x0F leaves H clear and incrementing 0x0E sets it.

Instruction set emulation◈ Members↗
FA-89650

INC half carry tested on the result nibble · case 05

Incrementing 0x0F leaves H clear and incrementing 0x0E sets it.

Instruction set emulation◈ Members↗
FA-89651

INC updates the carry flag · case 01

Incrementing 0xFF sets carry, clobbering a carry from an earlier add.

Instruction set emulation● Open access↗
FA-89652

INC updates the carry flag · case 02

Incrementing 0xFF sets carry, clobbering a carry from an earlier add.

Instruction set emulation◈ Members↗
FA-89653

INC updates the carry flag · case 03

Incrementing 0xFF sets carry, clobbering a carry from an earlier add.

Instruction set emulation◈ Members↗
FA-89654

INC updates the carry flag · case 04

Incrementing 0xFF sets carry, clobbering a carry from an earlier add.

Instruction set emulation◈ Members↗
FA-89655

INC updates the carry flag · case 05

Incrementing 0xFF sets carry, clobbering a carry from an earlier add.

Instruction set emulation◈ Members↗
FA-89656

DEC half borrow uses the increment rule · case 01

Decrementing 0x10 leaves H clear.

Instruction set emulation● Open access↗
FA-89657

DEC half borrow uses the increment rule · case 02

Decrementing 0x10 leaves H clear.

Instruction set emulation◈ Members↗
FA-89658

DEC half borrow uses the increment rule · case 03

Decrementing 0x10 leaves H clear.

Instruction set emulation◈ Members↗
FA-89659

DEC half borrow uses the increment rule · case 04

Decrementing 0x10 leaves H clear.

Instruction set emulation◈ Members↗
FA-89660

DEC half borrow uses the increment rule · case 05

Decrementing 0x10 leaves H clear.

Instruction set emulation◈ Members↗
FA-89661

SUB half borrow set on equal nibbles · case 01

Subtracting a value with the same low nibble sets H.

Instruction set emulation● Open access↗
FA-89662

SUB half borrow set on equal nibbles · case 02

Subtracting a value with the same low nibble sets H.

Instruction set emulation◈ Members↗
FA-89663

SUB half borrow set on equal nibbles · case 03

Subtracting a value with the same low nibble sets H.

Instruction set emulation◈ Members↗
FA-89664

SUB half borrow set on equal nibbles · case 04

Subtracting a value with the same low nibble sets H.

Instruction set emulation◈ Members↗
FA-89665

SUB half borrow set on equal nibbles · case 05

Subtracting a value with the same low nibble sets H.

Instruction set emulation◈ Members↗
FA-89666

DEC overflow flagged one step late · case 01

PV is set when decrementing 0x81 to 0x80 instead of 0x80 to 0x7F.

Instruction set emulation● Open access↗
FA-89667

DEC overflow flagged one step late · case 02

PV is set when decrementing 0x81 to 0x80 instead of 0x80 to 0x7F.

Instruction set emulation◈ Members↗
FA-89668

DEC overflow flagged one step late · case 03

PV is set when decrementing 0x81 to 0x80 instead of 0x80 to 0x7F.

Instruction set emulation◈ Members↗
FA-89669

DEC overflow flagged one step late · case 04

PV is set when decrementing 0x81 to 0x80 instead of 0x80 to 0x7F.

Instruction set emulation◈ Members↗
FA-89670

DEC overflow flagged one step late · case 05

PV is set when decrementing 0x81 to 0x80 instead of 0x80 to 0x7F.

Instruction set emulation◈ Members↗
FA-89671

SUB overflow computed with the ADD formula · case 01

Subtracting a negative from a positive that overflows is not flagged, and harmless subtractions are.

Instruction set emulation● Open access↗
FA-89672

SUB overflow computed with the ADD formula · case 02

Subtracting a negative from a positive that overflows is not flagged, and harmless subtractions are.

Instruction set emulation◈ Members↗
FA-89673

SUB overflow computed with the ADD formula · case 03

Subtracting a negative from a positive that overflows is not flagged, and harmless subtractions are.

Instruction set emulation◈ Members↗
FA-89674

SUB overflow computed with the ADD formula · case 04

Subtracting a negative from a positive that overflows is not flagged, and harmless subtractions are.

Instruction set emulation◈ Members↗
FA-89675

SUB overflow computed with the ADD formula · case 05

Subtracting a negative from a positive that overflows is not flagged, and harmless subtractions are.

Instruction set emulation◈ Members↗
FA-89676

Page table index taken from the wrong bits · case 01

Translations use a PTE selected partly by page-offset bits.

Instruction set emulation● Open access↗
FA-89677

Page table index taken from the wrong bits · case 02

Translations use a PTE selected partly by page-offset bits.

Instruction set emulation◈ Members↗
FA-89678

Page table index taken from the wrong bits · case 03

Translations use a PTE selected partly by page-offset bits.

Instruction set emulation◈ Members↗
FA-89679

Page table index taken from the wrong bits · case 04

Translations use a PTE selected partly by page-offset bits.

Instruction set emulation◈ Members↗
FA-89680

Page table index taken from the wrong bits · case 05

Translations use a PTE selected partly by page-offset bits.

Instruction set emulation◈ Members↗
FA-89681

Directory permissions ignored · case 01

A user or write access succeeds through a supervisor-only or read-only directory entry.

Instruction set emulation● Open access↗
FA-89682

Directory permissions ignored · case 02

A user or write access succeeds through a supervisor-only or read-only directory entry.

Instruction set emulation◈ Members↗
FA-89683

Directory permissions ignored · case 03

A user or write access succeeds through a supervisor-only or read-only directory entry.

Instruction set emulation◈ Members↗
FA-89684

Directory permissions ignored · case 04

A user or write access succeeds through a supervisor-only or read-only directory entry.

Instruction set emulation◈ Members↗
FA-89685

Directory permissions ignored · case 05

A user or write access succeeds through a supervisor-only or read-only directory entry.

Instruction set emulation◈ Members↗
FA-89686

Protection fault reported as not-present · case 01

A permission violation on a present page has the present bit clear in its error code.

Instruction set emulation● Open access↗
FA-89687

Protection fault reported as not-present · case 02

A permission violation on a present page has the present bit clear in its error code.

Instruction set emulation◈ Members↗
FA-89688

Protection fault reported as not-present · case 03

A permission violation on a present page has the present bit clear in its error code.

Instruction set emulation◈ Members↗
FA-89689

Protection fault reported as not-present · case 04

A permission violation on a present page has the present bit clear in its error code.

Instruction set emulation◈ Members↗
FA-89690

Protection fault reported as not-present · case 05

A permission violation on a present page has the present bit clear in its error code.

Instruction set emulation◈ Members↗
FA-89691

Dirty bit set on reads · case 01

Reading a page marks it dirty.

Instruction set emulation● Open access↗
FA-89692

Dirty bit set on reads · case 02

Reading a page marks it dirty.

Instruction set emulation◈ Members↗
FA-89693

Dirty bit set on reads · case 03

Reading a page marks it dirty.

Instruction set emulation◈ Members↗
FA-89694

Dirty bit set on reads · case 04

Reading a page marks it dirty.

Instruction set emulation◈ Members↗
FA-89695

Dirty bit set on reads · case 05

Reading a page marks it dirty.

Instruction set emulation◈ Members↗
FA-89696

Directory accessed bit not set · case 01

After a walk the directory entry still reads as unaccessed.

Instruction set emulation● Open access↗
FA-89697

Directory accessed bit not set · case 02

After a walk the directory entry still reads as unaccessed.

Instruction set emulation◈ Members↗
FA-89698

Directory accessed bit not set · case 03

After a walk the directory entry still reads as unaccessed.

Instruction set emulation◈ Members↗
FA-89699

Directory accessed bit not set · case 04

After a walk the directory entry still reads as unaccessed.

Instruction set emulation◈ Members↗
FA-89700

Directory accessed bit not set · case 05

After a walk the directory entry still reads as unaccessed.

Instruction set emulation◈ Members↗

INSPECTABLE BY DESIGN

Every result has a runnable source.

Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.

Read the methodology ↗