Radioactive Bit Checking
HTML + JavaScript, 210 bytes

&lt;script&gt;[d,b]=location.search.match(/[\d]([\d]*)?/g);1/b/d&amp;&amp;document.write([i=b^d][i--&amp;i]+'&lt;!-'+'-')&lt;/script&gt;&lt;/script&gt;0&lt;script&gt;[d,b]=location.search.match(/\d+/g);document.body.innerHTML=[i=b^d][i&amp;i-1]&lt;/script&gt;


Open page with search parameters index.html?a=1&amp;b=2. 

Validation (Python + Selenium + Firefox)

# -*- coding: utf-8 -*-
from selenium import webdriver
import os
source = "&lt;script&gt;[d,b]=location.search.match(/[\d]([\d]*)?/g);1/b/d&amp;&amp;document.write([i=b^d][i--&amp;i]+'&lt;!-'+'-')&lt;/script&gt;&lt;/script&gt;0&lt;script&gt;[d,b]=location.search.match(/\d+/g);document.body.innerHTML=[i=b^d][i&amp;i-1]&lt;/script&gt;"
filename = os.path.abspath("temp1.html")

browser = webdriver.Firefox()

def test(html, input_values, expected):
    with open(filename, "w", encoding="latin-1") as html_file:
        html_file.write(html)
    [a, b] = input_values
    browser.get("file:///" + filename + "?a=" + str(a) + "&amp;b=" + str(b))
    text = browser.find_element_by_tag_name("body").text
    if text == "true" and expected == True: return True
    if text == "false" and expected == False: return True
    if text == "undefined" and expected == False: return True
    try:
        if int(text) != 0 and expected == True: return True
        if int(text) == 0 and expected == False: return True
    except: pass
    print(html, input_values, expected, text)

testcases = [
    [[1, 1], False],
    [[1, 2], False],
    [[1, 3], True],
]

fullTestcases = [
    [[0, 1], True],
    [[1, 0], True],
    [[152, 24], True],
    [[10, 10], False],
    [[10, 11], True],
    [[11, 12], False],
    [[255, 0], False],
]

def runAllTestcases(html, testcases):
    for testcase in testcases:
        test(html, *testcase)

runAllTestcases(source, fullTestcases)

for pos in range(len(source)):
    for flip in range(8):
        flip_char = chr(ord(source[pos]) ^ (2 ** flip))
        flip_source = source[0:pos] + flip_char + source[pos+1:]
        runAllTestcases(flip_source, testcases)
    print(pos, "/", len(source))

browser.quit()


Usage:


make sure you have python3 and firefox installed.
save this python code to your locale.
pip install selenium
download firefox web driver and put it in the same folder of this python source.
execute this validator and wait it finish.


How

If the modification is on the first time of script. The script will throw some errors (syntax error, undefined variable, etc.). And the second time of script will run correctly and overwrite the output.

If the modification is not on the first time of script. The script output 

Learn some (useless) HTML knowledge


document.write insert HTML to current position. You should not output unbalanced HTML in usual. When unbalanced HTML is printed. It inserted as is. And following HTML are re-parsed. You may even insert something like &lt;!-- to open a comment.
When trying to parse &lt;head>, if HTML parser got anything should not be existed here, the &lt;head> tag is closed immediately and a &lt;body> is created.
When the  tag is created, document.body is accessible.
&lt;script> tag is closed by &lt;/script>. Anything between them are script. Script may not be valid, and that doesn't matter (doesn't break HTML).
Exception in previous &lt;script> tag does not prevent the following 's execution.