The GNU C compiler is excellent with reasoning about Boolean values. It may be too clever. Like Microsoft Clippy-level clever ...
JASM is an assembler/disassembler for JVM bytecode. It provides a nice syntax for writing JVM classes in a bytecode-focused assembly language, and can also disassemble any Java .class file to JASM ...