Marc:
I ran "bench gambit all" in b20 and b22 (which tests r5rs semantics) and I find that, using the formula
( product of all beta 22 times / product of all beta 20 times) ^ (1/ number of tests)
I get .9577913077382927 on an otherwise unloaded 2GHz G5, so about 4% faster. Not bad. I get almost exactly the same in r6rs mode, . 9577913077382927.
Perhaps you can have gsc generate ___EXPECT_TRUE and ___EXPECT_FALSE GVM expressions for the fixnum and flonum tests when (declare (mostly- fixnum-flonum) (run-time-bindings)).
Brad