public static int hashGoalArgument(Stella_Object arg, int code) {
    { Stella_Object hashedarg = arg;

      { Surrogate testValue000 = Stella_Object.safePrimaryType(arg);

        if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_SKOLEM)) {
          { Skolem arg000 = ((Skolem)(arg));

          }
        }
        else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_LOGIC_OBJECT)) {
          { LogicObject arg000 = ((LogicObject)(arg));

            if (arg000.surrogateValueInverse == null) {
              hashedarg = StringWrapper.wrapString(Native.stringify(arg000));
            }
          }
        }
        else {
        }
      }
      return ((((((code & 1) == 0) ? (code >>> 1) : (((code >> 1)) | Stella.$INTEGER_MSB_MASK$))) ^ (Stella_Object.safeEqualHashCode(hashedarg))));
    }
  }