A compiler has optimization steps. Rather than going straight from human readable C to binary, it compiles to an IR and then uses some heuristics to create binary that is more efficient for the machine to execute.
I feel like you're effectively asking for an optimization step. Decompile to an IR, and then use some heuristics to get back to C that is more efficient for humans to read.
And if a compiler without an optimizer is still a compiler, then a decompiler without an "optimizer" should still be called a decompiler.
I feel like you're effectively asking for an optimization step. Decompile to an IR, and then use some heuristics to get back to C that is more efficient for humans to read.
And if a compiler without an optimizer is still a compiler, then a decompiler without an "optimizer" should still be called a decompiler.