https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109546
--- Comment #4 from Andrew Macleod <amacleod at redhat dot com> --- And I think the first part of this is a duplicate of another PR from GCC12 time (I dont know which one) whereby we are not making staticly initialized values available in main(). so VRP never sees that d == &b, and can do nothing with the first condition, thus leaving the call to __assert_fail.