math: fix handling of "(char *)&foo->bar - (char *)&foo->baz".