if (pointer->address != PTR_NULL)
{
  if (pointer->address + offset < pointer->max_address)                        /*  "the expression is too complex" */
  {
    pointer->address += offset;
  }
  else
  {
    raise_access_error (...);
  }
}
else
{
  raise_access_error (...);
}

