The most common problem is misunderstanding the integer values for true and false because the book's description is written using a slightly strange idiom. (And one of the course slides is just plain wrong!)
Explicitly, when returning a value from gt, lt, eq:
true = -1 = 111..111 binary,
false = 0 = 000..000 binary.
When testing for true/false in the if-goto command:
0 = false,
all other values = true.