Variables: This algorithm uses ''f'' as number of false tickers, ''endcount'' and ''midcount'' are integers. ''Lower'' and ''upper'' are values of offsets.
<ol start="0">
# <li> value="0">[initialize best f] Start with ''f''=0, assuming all input intervals are valid. Each time no interval is found f will be incremented until either an interval is found or ''f'' ≥ ''M''/2.</li>
#<li> [initialize] ''endcount''=0 and ''midcount''=0.</li>
#<li> [find lower endpoint] Start at beginning of the list (lowest offset) consider each tuple in order. ''endcount'' = ''endcount''−''type''. If ''endcount'' ≥ ''M''−''f'' then ''lower'' = ''offset'' and goto step 3 because the (possible) lower endpoint has been found. If the ''type'' = 0 then ''midcount'' = ''midcount''+1. Repeat with next tuple. If reach end of list then goto step 6.</li>
#<li> [tentative lower endpoint found, initialize to find upper endpoint] set ''endcount''=0. </li>
#<li> [determine number of midpoints] Start from end of list and work towards lower offsets. ''endcount'' = ''endcount''+''type''. If ''endcount'' ≥ ''M''−''f'' then ''upper'' = ''offset'', goto step 5. If ''type'' = 0 then ''midcount'' = ''midcount''+1. Repeat for next tuple. If reach end of list then goto step 6.</li>
# if ''lower'' ≤ ''upper'' and ''midcount'' ≤ ''f'' then return interval [''lowerendpoint'', ''upperendpoint''] as resulting confidence interval.
#[increment<li> number of falsetickers]if ''flower'' =≤ ''fupper''+1.Ifand ''fmidcount'' ≥≤ ''Mf''/2 then terminate and return FAILEDinterval [''lowerendpoint'', otherwise''upperendpoint''] gotoas stepresulting 1confidence interval.</li>
<li>[increment number of falsetickers] ''f'' = ''f''+1. If ''f'' ≥ ''M''/2 then terminate and return FAILED, otherwise goto step 1.</li>