Even with inlining the code is rather silly ;)
[x] (if x false true)
so you'd get,
(if (if test false true) then else)
Which relies a bit too much on the JVM's JIT for my taste :D
I've always wondered what the reason for the original implementation is.
Keep closer to the implementation
Interesting - there seems to be a very slight performance advantage to
your version on my machine (consistently about 25% faster for if-nots in a
tight loop).
I think the problem is actually with "not" - which isn't getting inlined
currently. If I patch not so that it is inlined, the differenc