The idea about debugging using binary search as follow:

- For a know series of circuit block that give un-expected result - always try to determine which half the the series that cause the problem
- Repeat the iteration till faulty block found

In the diagram shown below, let x be the input, and output of each block be yn, where n is the block number, and block 15 coloured in red is the faulty block.

start: y16/x is not expected

- confirm y8/x is expected or not
- since y8/x is expected, we know the faulty block should be some where from block 9 to block 16, evaluate y12/y8
- since y12/y8 is working, faulty block should be some where from block 13 to block 16, evaluate block y14/y12
- y14/y12 is still working, faulty block should be some where from block 15 to block 16