public static Stella_Object evaluateAtomicTree(Stella_Object tree, Object [] MV_returnarray) {
    { Object old$Evaluationparenttree$000 = Stella.$EVALUATIONPARENTTREE$.get();
      Object old$Evaluationtree$000 = Stella.$EVALUATIONTREE$.get();

      try {
        Native.setSpecial(Stella.$EVALUATIONPARENTTREE$, ((Stella_Object)(Stella.$EVALUATIONTREE$.get())));
        Native.setSpecial(Stella.$EVALUATIONTREE$, tree);
        { Surrogate testValue000 = Stella_Object.safePrimaryType(tree);

          if (Surrogate.subtypeOfSymbolP(testValue000)) {
            { Symbol tree000 = ((Symbol)(tree));

              if (tree000 == Stella.SYM_STELLA_NULL) {
                { Stella_Object _return_temp = tree000;

                  MV_returnarray[0] = Stella.SGT_STELLA_UNKNOWN;
                  return (_return_temp);
                }
              }
              else if (tree000 == Stella.SYM_STELLA_NIL) {
                { Stella_Object _return_temp = Stella.NIL;

                  MV_returnarray[0] = Stella.SGT_STELLA_CONS;
                  return (_return_temp);
                }
              }
              else if (tree000 == Stella.SYM_STELLA_TRUE) {
                { Stella_Object _return_temp = Stella.TRUE_WRAPPER;

                  MV_returnarray[0] = Stella.SGT_STELLA_BOOLEAN;
                  return (_return_temp);
                }
              }
              else if (tree000 == Stella.SYM_STELLA_FALSE) {
                { Stella_Object _return_temp = Stella.FALSE_WRAPPER;

                  MV_returnarray[0] = Stella.SGT_STELLA_BOOLEAN;
                  return (_return_temp);
                }
              }
              else {
                { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                  stream000.nativeStream.print("While evaluating '" + ((Stella_Object)(Stella.$EVALUATIONTREE$.get())));
                  if (((Stella_Object)(Stella.$EVALUATIONPARENTTREE$.get())) != null) {
                    {
                      stream000.nativeStream.println();
                      stream000.nativeStream.print("' inside '" + ((Stella_Object)(Stella.$EVALUATIONPARENTTREE$.get())));
                    }
;
                  }
                  stream000.nativeStream.println("':");
                  stream000.nativeStream.print("Variable evaluation not yet implemented");
                  throw ((EvaluationException)(EvaluationException.newEvaluationException(stream000.theStringReader()).fillInStackTrace()));
                }
              }
            }
          }
          else if (Surrogate.subtypeOfSurrogateP(testValue000)) {
            { Surrogate tree000 = ((Surrogate)(tree));

              { Stella_Object _return_temp = tree000;

                MV_returnarray[0] = Stella.SGT_STELLA_SURROGATE;
                return (_return_temp);
              }
            }
          }
          else if (Surrogate.subtypeOfKeywordP(testValue000)) {
            { Keyword tree000 = ((Keyword)(tree));

              { Stella_Object _return_temp = tree000;

                MV_returnarray[0] = Stella.SGT_STELLA_KEYWORD;
                return (_return_temp);
              }
            }
          }
          else if (Surrogate.subtypeOfWrapperP(testValue000)) {
            { Wrapper tree000 = ((Wrapper)(tree));

              { Stella_Object _return_temp = tree000;

                MV_returnarray[0] = Surrogate.wrappedTypeToType(tree000.primaryType());
                return (_return_temp);
              }
            }
          }
          else {
            { OutputStringStream stream001 = OutputStringStream.newOutputStringStream();

              stream001.nativeStream.print("While evaluating '" + ((Stella_Object)(Stella.$EVALUATIONTREE$.get())));
              if (((Stella_Object)(Stella.$EVALUATIONPARENTTREE$.get())) != null) {
                {
                  stream001.nativeStream.println();
                  stream001.nativeStream.print("' inside '" + ((Stella_Object)(Stella.$EVALUATIONPARENTTREE$.get())));
                }
;
              }
              stream001.nativeStream.println("':");
              stream001.nativeStream.print("Unknown atomic expression type: `" + tree + "'");
              throw ((EvaluationException)(EvaluationException.newEvaluationException(stream001.theStringReader()).fillInStackTrace()));
            }
          }
        }

      } finally {
        Stella.$EVALUATIONTREE$.set(old$Evaluationtree$000);
        Stella.$EVALUATIONPARENTTREE$.set(old$Evaluationparenttree$000);
      }
    }
  }