I may have made this comment before. My apologies if it's already on someone's to-do list.
Groff eqn, unlike the original Unix program, attempts to vary spacing according to mathematical custom. Thus it automatically adds apace around the equal sign in a=b while in the old days one had to put the space in manually a~=~b Somewhat surprisingly, groff eqn, adds space around Unknown tilde escape. = even in the presence of ~, seemingly as if ~ were treated as a letter. This is relatively unnoticeable. But it is not unnoticeable in case of unary minus. Groff eqn treats a~=~-b as if it were binary, and inserts extra space between the - and b. I have a lot of eqn that this interpretation damages. If the problem is something as simple as treating ~ as a letter, it should be easy to fix. Doug