I think that's not the point here. Consider this:
b = f(a)
c = g(b)
d = h(a, c)
Let's assume c results in -2 with a certain b.
Even if c=-2 and c=3 are interchangeable mathematically, h might not work as expected as the pair (a, c) belong together.
So, it could be the case that h(a, -2) != h(a, 3) for the very same a. This must be avoided at any cost.
That IS the case, as h == verify, verify WORKS (validates) on "3" (and it SHOULD work on "3") and doesn't work on "-2",