#include "externs.h"

int /* was T32_halfword */ F211_newnoad ()
/*************************/
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  p = F77_getnode (4L);
  memptr = &mem[p - C2_memmin];
  memptr->_TAG._TAG3.hh._TAG._TAG2.b0 = 16;
  memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = 0;
  (memptr+1)->_TAG._TAG3.hh= (memptr+2)->_TAG._TAG3.hh= (memptr+3)->_TAG._TAG3.hh=emptyfield;
  return(p);
}

int /* was T32_halfword */ F212_newstyle (s)
/***************************/
T29_smallnumber s;
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  p = F77_getnode (3L);
  memptr = &mem[p - C2_memmin];
  memptr->_TAG._TAG3.hh._TAG._TAG2.b0 = 14;
  memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = s;
  (memptr+1)->_TAG._TAG1._int = (memptr+2)->_TAG._TAG1._int = 0;
  return(p);
}

int /* was T32_halfword */ F213_newchoice ()
/***************************/
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  p = F77_getnode (3L);
  memptr = &mem[p - C2_memmin];
  memptr->_TAG._TAG3.hh._TAG._TAG2.b0 = 15;
  memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = 0;
  (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh = (memptr+2)->_TAG._TAG3.hh._TAG._TAG1.lh = (int)(-32768);
  (memptr+1)->_TAG._TAG3.hh.rh = (memptr+2)->_TAG._TAG3.hh.rh = (int)(-32768);
  return(p);
}

int /* was T32_halfword */ F214_fractionrule (t)
/*******************************/
long int   t;
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  p = F81_newrule ();
  memptr = &mem[p +3 - C2_memmin];
  memptr->_TAG._TAG1._int = t;
  (memptr-1)->_TAG._TAG1._int = 0;
  return(p);
}

int /* was T32_halfword */ F215_overbar (b, k, t)
/******************************/
int /* was T32_halfword */ b;
long int   k;
long int   t;
{
  register int /* was T32_halfword */ p;
  register int /* was T32_halfword */ q;

  p = F89_newkern (k);
  mem[p - C2_memmin]._TAG._TAG3.hh.rh = b;
  q = F214_fractionrule (t);
  mem[q - C2_memmin]._TAG._TAG3.hh.rh = p;
  p = F89_newkern (t);
  mem[p - C2_memmin]._TAG._TAG3.hh.rh = q;
  return(F209_vpackage (p, 0L, 1, 1073741823));
}

int /* was T32_halfword */ F216_charbox (f, c)
/****************************/
#ifdef VAX
register int f;
#else
register T43_internalfontnumber f;
#endif
T31_quarterword c;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register int /* was T32_halfword */ b;
#ifdef VAX
register int hd;
#else
  register T22_eightbits hd;
#endif
  register int /* was T32_halfword */ p;
  register T36_fourquarters q;

  q=fontinfo[charbase[f] + c]._TAG._TAG4.qqqq;
  hd = q.b1 + 128;
  b = F80_newnullbox ();
  memptr = &mem[b + 1 - C2_memmin];
  memptr->_TAG._TAG1._int = fontinfo[widthbase[f] + q.b0]._TAG._TAG1._int + fontinfo[italicbase[f] + ((q.b2 + 128) >> 2)]._TAG._TAG1._int;
  (memptr+2)->_TAG._TAG1._int = fontinfo[heightbase[f] + (hd >> 4)]._TAG._TAG1._int;
  (memptr+1)->_TAG._TAG1._int = fontinfo[depthbase[f] + (hd & 15)]._TAG._TAG1._int;
  p = F75_getavail ();
  memptr1 = &mem[p - C2_memmin];
  memptr1->_TAG._TAG3.hh._TAG._TAG2.b1 = c;
  memptr1->_TAG._TAG3.hh._TAG._TAG2.b0 = f;
  (memptr+4)->_TAG._TAG3.hh.rh = p;
  return (b);
}

void F217_stackintobox (b, f, c)
/**********************/
register int /* was T32_halfword */ b;
T43_internalfontnumber f;
T31_quarterword c;
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif

  p = F216_charbox (f, c);
  memptr = &mem[p - C2_memmin];
  memptr1 = &mem[b + 5 - C2_memmin];
  memptr->_TAG._TAG3.hh.rh = memptr1->_TAG._TAG3.hh.rh;
  memptr1->_TAG._TAG3.hh.rh = p;
  (memptr1-2)->_TAG._TAG1._int = (memptr+3)->_TAG._TAG1._int;
}

long int   F218_heightplusdepth (f, c)
/***************************/
#ifdef VAX
register int f;
#else
register T43_internalfontnumber f;
#endif
T31_quarterword c;
{
  register T22_eightbits hd;
  register T36_fourquarters q;

  q=fontinfo[charbase[f] + c]._TAG._TAG4.qqqq;
  hd = q.b1 + 128;
  return(fontinfo[heightbase[f] + (hd >> 4)]._TAG._TAG1._int + fontinfo[depthbase[f] + (hd & 15)]._TAG._TAG1._int);
}

int /* was T32_halfword */ F219_vardelimiter (d, s, v)
/***********************************/
register int /* was T32_halfword */ d;
T29_smallnumber s;
long int   v;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register int /* was T32_halfword */ b;
#ifdef VAX
register int c;
#else
  register T31_quarterword c;
#endif
#ifdef VAX
register int f;
#else
  register T43_internalfontnumber f;
#endif
#ifdef VAX
register int g;
#else
  register T43_internalfontnumber g;
#endif
  register T22_eightbits hd;
  register BOOLEAN largeattempt;
  register long int   m;
  register long int   n;
  register T36_fourquarters q;
  register T36_fourquarters r;
  register long int   u;
  register long int   w;
  register T31_quarterword x;
  register T31_quarterword y;
  register T29_smallnumber z;

  f = 0;
  w = 0;
  largeattempt = FALSE;
  memptr = &mem[d - C2_memmin];
  z = memptr->_TAG._TAG4.qqqq.b0;
  x = memptr->_TAG._TAG4.qqqq.b1;
  while (TRUE)
  {
    if ((z != 0) || (x != (-128)))
    {
      z += s + 16;
      do
      {
	z -= 16;
	g = eqtb[4579 + z]._TAG._TAG3.hh.rh;
	if (g != 0)
	{
	  y = x;
      _22: 
	  if (((y + 128) >= fontbc[g]) && ((y + 128) <= fontec[g]))
	  {
	    q=fontinfo[charbase[g] + y]._TAG._TAG4.qqqq;
	    if (q.b0 > (-128))
	    {
	      if (((q.b2 + 128) & 3) == 3)
	      {
		f = g;
		c = y;
		goto _40;
	      }
	      hd = q.b1 + 128;
	      u = fontinfo[heightbase[g] + (hd >> 4)]._TAG._TAG1._int + fontinfo[depthbase[g] + (hd & 15)]._TAG._TAG1._int;
	      if (u > w)
	      {
		f = g;
		c = y;
		w = u;
		if (u >= v)
		  goto _40;
	      }
	      if (((q.b2 + 128) & 3) == 2)
	      {
		y = q.b3;
		goto _22;
	      }
	    }
	  }
	}
      }
      while (z >= 16);
    }
    if (largeattempt)
      goto _40;
    largeattempt = TRUE;
    z = memptr->_TAG._TAG4.qqqq.b2;
    x = memptr->_TAG._TAG4.qqqq.b3;
  }
_40: 
  if (f != 0)
    if (((q.b2 + 128) & 3) == 3)
    {
      b = F80_newnullbox ();
      memptr = &mem[b - C2_memmin];
      memptr->_TAG._TAG3.hh._TAG._TAG2.b0 = 1;
      r=fontinfo[extenbase[f] + q.b3]._TAG._TAG4.qqqq;
      c = r.b3;
      u = F218_heightplusdepth (f, c);
      w = 0;
      q=fontinfo[charbase[f] + c]._TAG._TAG4.qqqq;
      (memptr+1)->_TAG._TAG1._int = fontinfo[widthbase[f] + q.b0]._TAG._TAG1._int + fontinfo[italicbase[f] + ((q.b2 + 128) >> 2)]._TAG._TAG1._int;
      c = r.b2;
      if (c != (-128))
	w += F218_heightplusdepth (f, c);
      c = r.b1;
      if (c != (-128))
	w += F218_heightplusdepth (f, c);
      c = r.b0;
      if (c != (-128))
	w += F218_heightplusdepth (f, c);
      n = 0;
      if (u > 0)
	while (w < v)
	{
	  w += u;
	  n++;
	  if (r.b1 != (-128))
	    w += u;
	}
      c = r.b2;
      if (c != (-128))
	F217_stackintobox (b, f, c);
      c = r.b3;
      for (m = 1; m <= n; m++)
	F217_stackintobox (b, f, c);
      c = r.b1;
      if (c != (-128))
      {
	F217_stackintobox (b, f, c);
	c = r.b3;
	for (m = 1; m <= n; m++)
	  F217_stackintobox (b, f, c);
      }
      c = r.b0;
      if (c != (-128))
	F217_stackintobox (b, f, c);
      (memptr+2)->_TAG._TAG1._int = w - (memptr+3)->_TAG._TAG1._int;
    }
    else
      b = F216_charbox (f, c);
  else
  {
    b = F80_newnullbox ();
    mem[b + 1 - C2_memmin]._TAG._TAG1._int = eqtb[5712]._TAG._TAG1._int;
  }
  memptr = &mem[b + 2 - C2_memmin];
#ifdef NOSHIFT
  (memptr+2)->_TAG._TAG1._int = F65_half((memptr+1)->_TAG._TAG1._int - memptr->_TAG._TAG1._int) - fontinfo[22 + parambase[eqtb[4581 + s]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
#else
  (memptr+2)->_TAG._TAG1._int = (((memptr+1)->_TAG._TAG1._int - memptr->_TAG._TAG1._int + 1)>> 1) - fontinfo[22 + parambase[eqtb[4581 + s]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
#endif
  return(b);
}

int /* was T32_halfword */ F220_rebox (b, w)
/**************************/
register int /* was T32_halfword */ b;
register long int   w;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
#ifdef VAX
register int f;
#else
  register T43_internalfontnumber f;
#endif
  register int /* was T32_halfword */ p;
  register long int   v;

  memptr = &mem[b - C2_memmin];
  if (((memptr+1)->_TAG._TAG1._int != w) && ((memptr+5)->_TAG._TAG3.hh.rh != ((int)(-32768))))
  {
    if (memptr->_TAG._TAG3.hh._TAG._TAG2.b0 == 1)
      b = F208_hpack (b, 0L, 1);
    p = mem[b + 5 - C2_memmin]._TAG._TAG3.hh.rh;
    if ((p >= himemmin) && (mem[p - C2_memmin]._TAG._TAG3.hh.rh == ((int)(-32768))))
    {
      long help;
      memptr = &mem[p - C2_memmin];
      f = memptr->_TAG._TAG3.hh._TAG._TAG2.b0;
      v = fontinfo[widthbase[f] + fontinfo[charbase[f] + memptr->_TAG._TAG3.hh._TAG._TAG2.b1]._TAG._TAG4.qqqq.b0]._TAG._TAG1._int;
      help = mem[b + 1 - C2_memmin]._TAG._TAG1._int;
      if (v != help)
	memptr->_TAG._TAG3.hh.rh = F89_newkern (help - v);
    }
    F78_freenode (b, 7);
#ifdef TRIPTEX
    b = F87_newglue (13);
#else
    b = F87_newglue (-29988);
#endif
    mem[b - C2_memmin]._TAG._TAG3.hh.rh = p;
    {
      register int shelp;
      while ((shelp=mem[p - C2_memmin]._TAG._TAG3.hh.rh) != ((int)(-32768)))
	p = shelp;
    }
#ifdef TRIPTEX
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = F87_newglue (13);
#else
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = F87_newglue (-29988);
#endif
    return(F208_hpack (b, w, 0));
  }
  else
  {
    mem[b + 1 - C2_memmin]._TAG._TAG1._int = w;
    return(b);
  }
}

int /* was T32_halfword */ F221_mathglue (g, m)
/*****************************/
register int /* was T32_halfword */ g;
long int   m;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   f;
  register long int   n;
  register int /* was T32_halfword */ p;

  n = m >> 16;
  f = m & 65535L;
  p = F77_getnode (4L);
  memptr = &mem[p - C2_memmin];
  memptr1 = &mem[g - C2_memmin];
  (memptr+1)->_TAG._TAG1._int = F68_nxplusy (n, (memptr1+1)->_TAG._TAG1._int, F70_xnoverd ((memptr1+1)->_TAG._TAG1._int, f, 65536L));
  memptr->_TAG._TAG3.hh._TAG._TAG2.b0 = memptr1->_TAG._TAG3.hh._TAG._TAG2.b0;
  if (memptr->_TAG._TAG3.hh._TAG._TAG2.b0 == 0)
    (memptr+2)->_TAG._TAG1._int = F68_nxplusy (n, (memptr1+2)->_TAG._TAG1._int, F70_xnoverd ((memptr1+2)->_TAG._TAG1._int, f, 65536L));
  else
    (memptr+2)->_TAG._TAG1._int = (memptr1+2)->_TAG._TAG1._int;
  memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = memptr1->_TAG._TAG3.hh._TAG._TAG2.b1;
  if (memptr->_TAG._TAG3.hh._TAG._TAG2.b1 == 0)
    (memptr+3)->_TAG._TAG1._int = F68_nxplusy (n, (memptr1+3)->_TAG._TAG1._int, F70_xnoverd ((memptr1+3)->_TAG._TAG1._int, f, 65536L));
  else
    (memptr+3)->_TAG._TAG1._int = (memptr1+3)->_TAG._TAG1._int;
  return(p);
}

void F222_mathkern (p, m)
/****************/
register int /* was T32_halfword */ p;
long int   m;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register long int   f;
  register long int   n;

  if (mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 == 99)
  {
    n = m >> 16;
    f = m & 65535L; /* dangerous */
    memptr = &mem[p + 1 - C2_memmin];
    memptr->_TAG._TAG1._int = F68_nxplusy (n, memptr->_TAG._TAG1._int, F70_xnoverd (memptr->_TAG._TAG1._int, f, 65536L));
    (memptr-1)->_TAG._TAG3.hh._TAG._TAG2.b1 = 0;
  }
}

void F223_flushmath ()
/**************/
{
  F109_flushnodelist (mem[curlist.headfield - C2_memmin]._TAG._TAG3.hh.rh);
  F109_flushnodelist (curlist.auxfield);
  mem[curlist.headfield - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
  curlist.tailfield = curlist.headfield;
  curlist.auxfield = (int)(-32768);
}

int /* was T32_halfword */ F225_cleanbox (p, s)
/*****************************/
register int /* was T32_halfword */ p;
T29_smallnumber s;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register int /* was T32_halfword */ q;
  register int /* was T32_halfword */ r;
#ifdef VAX
register int savestyle;
#else
  register T29_smallnumber savestyle;
#endif
  register int /* was T32_halfword */ x;

  memptr = &mem[p - C2_memmin];
  switch (memptr->_TAG._TAG3.hh.rh)
  {
    case 1: 
      curmlist = F211_newnoad ();
      mem[curmlist + 1 - C2_memmin]= *memptr;
      break;
    case 2: 
      q = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
      goto _40;
      break;
    case 3: 
      curmlist = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
      break;
    default: 
      q = F80_newnullbox ();
      goto _40;
      break;
  }
  savestyle = curstyle;
  curstyle = s;
  mlistpenalties = FALSE;
  F224_mlisttohlist ();
  q = m29997->_TAG._TAG3.hh.rh;
  curstyle = savestyle;
  if (curstyle < 4)
    cursize = 0;
  else
    cursize = ((curstyle - 2) >> 1) << 4;
  curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18L;
_40: 
  if ((q >= himemmin) || (q == ((int)(-32768))))
    x = F208_hpack (q, 0L, 1);
  else
    if (((mem[q - C2_memmin]._TAG._TAG3.hh.rh == ((int)(-32768))) && (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 <= 1)) && (mem[q + 4 - C2_memmin]._TAG._TAG1._int == 0))
      x = q;
    else
      x = F208_hpack (q, 0L, 1);
  q = mem[x + 5 - C2_memmin]._TAG._TAG3.hh.rh;
  if (q >= himemmin)
  {
    r = mem[q - C2_memmin]._TAG._TAG3.hh.rh;
    if ((r != ((int)(-32768)))
      && (mem[r - C2_memmin]._TAG._TAG3.hh.rh == ((int)(-32768)))
	&& (r < himemmin)
	  && (mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 == 11))
	  {
	    F78_freenode (r, 2);
	    mem[q - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
	  }
  }
  return(x);
}

void F226_fetch (a)
/***********/
register int /* was T32_halfword */ a;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  memptr = &mem[a - C2_memmin];
  curc = memptr->_TAG._TAG3.hh._TAG._TAG2.b1;
  curf = eqtb[(4579 + memptr->_TAG._TAG3.hh._TAG._TAG2.b0) + cursize]._TAG._TAG3.hh.rh;
  if (curf == 0)
  {
    F19_printnl (134);
    F17_print (207);
    F26_printsize (cursize);
    F16_printchar ((char)32);
    F22_printint ((long)(memptr->_TAG._TAG3.hh._TAG._TAG2.b0));
    F17_print (737);
    F60_printascii (curc + 128);
    F16_printchar ((char)41);
    helpptr = 4;
    helpline[3] = 738;
    helpline[2] = 739;
    helpline[1] = 740;
    helpline[0] = 741;
    F39_error ();
    curi=nullcharacter;
    memptr->_TAG._TAG3.hh.rh = 0;
  }
  else
  {
    register int shelp;
    if (((shelp=curc + 128) >= fontbc[curf]) && (shelp <= fontec[curf]))
      curi=fontinfo[charbase[curf] + curc]._TAG._TAG4.qqqq;
    else
      curi=nullcharacter;
    if (curi.b0 == -128)
    {
      F193_charwarning (curf, (T22_eightbits)(shelp));
      memptr->_TAG._TAG3.hh.rh = 0;
    }
  }
}

void F227_makeover (q)
/**************/
register int /* was T32_halfword */ q;
{
  register long help;
  register T37_memoryword memhelp;
  help = fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  memhelp._TAG._TAG3.hh._TAG._TAG1.lh = F215_overbar (F225_cleanbox (q + 1, (curstyle | 1)), help + help + help, help);
  memhelp._TAG._TAG3.hh.rh = 2;
  mem[q + 1 - C2_memmin] = memhelp;
}

void F228_makeunder (q)
/***************/
register int /* was T32_halfword */ q;
{
  register long help;
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   delta;
  register int /* was T32_halfword */ p;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register T37_memoryword memhelp;

  x = F225_cleanbox (q + 1, curstyle);
  help = fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  p = F89_newkern (help + help + help);
  memptr1 = &mem[x - C2_memmin];
  memptr1->_TAG._TAG3.hh.rh = p;
  mem[p - C2_memmin]._TAG._TAG3.hh.rh = F214_fractionrule (help);
  y = F209_vpackage (x, 0L, 1, 1073741823);
  memptr = &mem[y - C2_memmin];
  delta = ((memptr+3)->_TAG._TAG1._int + (memptr+2)->_TAG._TAG1._int) + help;
  (memptr+3)->_TAG._TAG1._int = (memptr1+3)->_TAG._TAG1._int;
  (memptr+2)->_TAG._TAG1._int = delta - (memptr+3)->_TAG._TAG1._int;
  memhelp._TAG._TAG3.hh._TAG._TAG1.lh = y;
  memhelp._TAG._TAG3.hh.rh = 2;
  mem[q + 1 - C2_memmin] = memhelp;
}

void F229_makevcenter (q)
/*****************/
int /* was T32_halfword */ q;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register long int   delta;
  register int /* was T32_halfword */ v;

  v = mem[q + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh;
  memptr = &mem[v - C2_memmin];
  if (memptr->_TAG._TAG3.hh._TAG._TAG2.b0 != 1)
    F42_confusion (398);
  delta = (memptr+3)->_TAG._TAG1._int + (memptr+2)->_TAG._TAG1._int;
#ifdef NOSHIFT
  (memptr+3)->_TAG._TAG1._int = fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int + F65_half(delta);
#else
  (memptr+3)->_TAG._TAG1._int = fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int + ((delta+1)>>1);
#endif
  (memptr+2)->_TAG._TAG1._int = delta - (memptr+3)->_TAG._TAG1._int;
}

void F230_makeradical (q)
/*****************/
register int /* was T32_halfword */ q;
{
  register long help;
  register T37_memoryword memhelp;
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   clr;
  register long int   delta;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;

  x = F225_cleanbox (q + 1,curstyle | 1);
  help = fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  if (curstyle < 2)
    clr = help + (LABS (fontinfo[5 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int) >> 2);
  else
  {
    clr = help;
    if (clr>0)
      clr += clr >> 2;
    else
      clr += (-clr) >> 2;
  }
  memptr = &mem[x + 2 - C2_memmin];
  y = F219_vardelimiter (q + 4, cursize, (memptr+1)->_TAG._TAG1._int + memptr->_TAG._TAG1._int + clr + help);
  memptr1 = &mem[y + 2 - C2_memmin];
  delta = memptr1->_TAG._TAG1._int - (memptr+1)->_TAG._TAG1._int - memptr->_TAG._TAG1._int - clr;
  if (delta > 0)
  {
    clr += (delta+1)>>1;
  }
  (memptr1+2)->_TAG._TAG1._int = -((memptr+1)->_TAG._TAG1._int) - clr;
  (memptr1-2)->_TAG._TAG3.hh.rh = F215_overbar (x, clr, (memptr1+1)->_TAG._TAG1._int);
  memhelp._TAG._TAG3.hh._TAG._TAG1.lh = F208_hpack (y, 0L, 1);
  memhelp._TAG._TAG3.hh.rh = 2;
  mem[q + 1 - C2_memmin] = memhelp;
}

void F231_makemathaccent (q)
/********************/
register int /* was T32_halfword */ q;
{
  register long help;
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   a;
  register T31_quarterword c;
  register long int   delta;
  register T43_internalfontnumber f;
  register long int   h;
  register T36_fourquarters i;
  register int /* was T32_halfword */ p;
  register long int   s;
  register long int   w;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register T37_memoryword memhelp;

  F226_fetch (q + 4);
  if (curi.b0 > (-128))
  {
    i=curi;
    c = curc;
    f = curf;
    s = 0;
    memptr = &mem[q + 1 - C2_memmin];
    if (memptr->_TAG._TAG3.hh.rh == 1)
    {
      F226_fetch (q + 1);
      if (((curi.b2 + 128) & 3) == 1)
      {
	a = ligkernbase[curf] + curi.b3;
	do
	{
	  curi=fontinfo[a]._TAG._TAG4.qqqq;
	  if ((curi.b1 + 128) == skewchar[curf])
	  {
	    if (curi.b2 >= 0)
	      s = fontinfo[kernbase[curf] + curi.b3]._TAG._TAG1._int;
	    goto _31;
	  }
	  a++;
	}
	while (curi.b0 < 0);
      }
    }
_31: 
    x = F225_cleanbox (q + 1, (curstyle | 1));
    memptr1 = &mem[x + 1 - C2_memmin];
    w = memptr1->_TAG._TAG1._int;
    h = (memptr1+2)->_TAG._TAG1._int;
    while (TRUE)
    {
      if (((i.b2 + 128) & 3) != 2)
	goto _30;
      y = i.b3;
      i=fontinfo[charbase[f] + y]._TAG._TAG4.qqqq;
      if (fontinfo[widthbase[f] + i.b0]._TAG._TAG1._int > w)
	goto _30;
      c = y;
    }
_30: 
    if (h < fontinfo[5 + parambase[f]]._TAG._TAG1._int)
      delta = h;
    else
      delta = fontinfo[5 + parambase[f]]._TAG._TAG1._int;
    if (((memptr+1)->_TAG._TAG3.hh.rh != 0) || ((memptr+2)->_TAG._TAG3.hh.rh != 0))
      if (memptr->_TAG._TAG3.hh.rh == 1)
      {
	F109_flushnodelist (x);
	x = F211_newnoad ();
	memptr1 = &mem[x + 1 - C2_memmin];
	*memptr1 = *memptr;
	*(memptr1+1) = *(memptr+1);
	*(memptr1+2) = *(memptr+2);
	(memptr+1)->_TAG._TAG3.hh=(memptr+2)->_TAG._TAG3.hh=emptyfield;
	memptr->_TAG._TAG3.hh.rh = 3;
	memptr->_TAG._TAG3.hh._TAG._TAG1.lh = x;
	x = F225_cleanbox (q + 1, curstyle);
	help = mem[x + 3 - C2_memmin]._TAG._TAG1._int;
	delta += help - h;
	h = help;
      }
    y = F216_charbox (f, c);
    memptr = &mem[y - C2_memmin];
#ifdef NOSHIFT
    (memptr+4)->_TAG._TAG1._int = s + F65_half(w - (memptr+1)->_TAG._TAG1._int);
#else
    (memptr+4)->_TAG._TAG1._int = s + ((w - (memptr+1)->_TAG._TAG1._int + 1)>>1);
#endif
    (memptr+1)->_TAG._TAG1._int = 0;
    p = F89_newkern (-delta);
    memptr1 = &mem[p - C2_memmin];
    memptr1->_TAG._TAG3.hh.rh = x;
    memptr->_TAG._TAG3.hh.rh = p;
    y = F209_vpackage (y, 0L, 1, 1073741823);
    memptr = &mem[y - C2_memmin];
    (memptr+1)->_TAG._TAG1._int = mem[x + 1 - C2_memmin]._TAG._TAG1._int;
    if ((memptr+3)->_TAG._TAG1._int < h)
    {
#ifdef M_XENIX
      register int shelp;
#endif
      p = F89_newkern (h - (memptr+3)->_TAG._TAG1._int);
#ifdef M_XENIX
      /* avoid compiler error */
      shelp = (memptr+5)->_TAG._TAG3.hh.rh;
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = shelp;
#else
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = (memptr+5)->_TAG._TAG3.hh.rh;
#endif
      (memptr+5)->_TAG._TAG3.hh.rh = p;
      (memptr+3)->_TAG._TAG1._int = h;
    }
    memhelp._TAG._TAG3.hh._TAG._TAG1.lh = y;
    memhelp._TAG._TAG3.hh.rh = 2;
    mem[q + 1 - C2_memmin]=memhelp;
  }
}

void F232_makefraction (q)
/******************/
register int /* was T32_halfword */ q;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1, huge *memptr2, huge *memptr3;
#else
  register T37_memoryword *memptr,*memptr1,*memptr2,*memptr3;
#endif
  register long int   clr;
  register long int   delta;
  register long int   delta1;
  register long int   delta2;
  register int /* was T32_halfword */ p;
  register long int   shiftdown;
  register long int   shiftup;
  register int /* was T32_halfword */ v;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register int /* was T32_halfword */ z;

  memptr = &mem[q + 1 - C2_memmin];
  if (memptr->_TAG._TAG1._int == 1073741824)
    memptr->_TAG._TAG1._int = fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  x = F225_cleanbox (q + 2, (curstyle + 2) - ((curstyle / 6)<< 1));
  z = F225_cleanbox (q + 3, ((curstyle & 0xFFFE) + 3) - ((curstyle / 6)<< 1));
  if (mem[x + 1 - C2_memmin]._TAG._TAG1._int < mem[z + 1 - C2_memmin]._TAG._TAG1._int)
    x = F220_rebox (x, mem[z + 1 - C2_memmin]._TAG._TAG1._int);
  else
    z = F220_rebox (z, mem[x + 1 - C2_memmin]._TAG._TAG1._int);
  if (curstyle < 2)
  {
    register int shelp;
    shelp = parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh];
    shiftup = fontinfo[8 + shelp]._TAG._TAG1._int;
    shiftdown = fontinfo[11 + shelp]._TAG._TAG1._int;
  }
  else
  {
    register int shelp;
    shelp = parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh];
    shiftdown = fontinfo[12 + shelp]._TAG._TAG1._int;
    if (memptr->_TAG._TAG1._int != 0)
      shiftup = fontinfo[9 + shelp]._TAG._TAG1._int;
    else
      shiftup = fontinfo[10 + shelp]._TAG._TAG1._int;
  }
  memptr1 = &mem[x + 1 - C2_memmin];
  memptr2 = &mem[z + 1 - C2_memmin];
  if (memptr->_TAG._TAG1._int == 0)
  {
    if (curstyle < 2)
      clr = 7 * fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
    else
      clr = 3 * fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
#ifdef NOSHIFT
    delta = F65_half(clr - shiftup + (memptr1+1)->_TAG._TAG1._int + (memptr2+2)->_TAG._TAG1._int - shiftdown);
#else
    delta = ((clr - shiftup + (memptr1+1)->_TAG._TAG1._int + (memptr2+2)->_TAG._TAG1._int - shiftdown + 1)>>1);
#endif
    if (delta > 0)
    {
      shiftup += delta;
      shiftdown += delta;
    }
  }
  else
  {
#ifdef VAX
    register int help;
#else
    register long help;
#endif
    help = memptr->_TAG._TAG1._int;
    if (curstyle < 2)
      clr = help + help + help;
    else
      clr = help;
#ifdef NOSHIFT
    delta = F65_half(help);
#else
    delta = ((help+1)>>1);
#endif
    help = fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
    delta1 = clr - shiftup + (memptr1+1)->_TAG._TAG1._int + help + delta;
    delta2 = clr - help + delta + (memptr2+2)->_TAG._TAG1._int - shiftdown;
    if (delta1 > 0)
      shiftup += delta1;
    if (delta2 > 0)
      shiftdown += delta2;
  }
  v = F80_newnullbox ();
  memptr3 = &mem[v - C2_memmin];
  memptr3->_TAG._TAG3.hh._TAG._TAG2.b0 = 1;
  (memptr3+3)->_TAG._TAG1._int = shiftup + (memptr1+2)->_TAG._TAG1._int;
  (memptr3+2)->_TAG._TAG1._int = (memptr2+1)->_TAG._TAG1._int + shiftdown;
  (memptr3+1)->_TAG._TAG1._int = memptr1->_TAG._TAG1._int;
  if (memptr->_TAG._TAG1._int == 0)
  {
    p = F89_newkern (shiftup - (memptr1+1)->_TAG._TAG1._int - (memptr2+2)->_TAG._TAG1._int + shiftdown);
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
  }
  else
  {
#ifdef VAX
    register int help;
#else
    register long help;
#endif
    y = F214_fractionrule (memptr->_TAG._TAG1._int);
    help = fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
    p = F89_newkern (help - delta - (memptr2+2)->_TAG._TAG1._int + shiftdown);
    mem[y - C2_memmin]._TAG._TAG3.hh.rh = p;
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
    p = F89_newkern (shiftup - (memptr1+1)->_TAG._TAG1._int - help - delta);
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = y;
  }
  (memptr1-1)->_TAG._TAG3.hh.rh = p;
  (memptr3+5)->_TAG._TAG3.hh.rh = x;
  if (curstyle < 2)
    delta = fontinfo[20 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  else
    delta = fontinfo[21 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  x = F219_vardelimiter (q + 4, cursize, delta);
  mem[x - C2_memmin]._TAG._TAG3.hh.rh = v;
  z = F219_vardelimiter (q + 5, cursize, delta);
  memptr3->_TAG._TAG3.hh.rh = z;
  memptr->_TAG._TAG1._int = F208_hpack (x, 0L, 1);
}

long int   F233_makeop (q)
/****************/
register int /* was T32_halfword */ q;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1, huge *memptr2, huge *memptr3;
#else
  register T37_memoryword *memptr,*memptr1,*memptr2,*memptr3;
#endif
  register long int   delta;
  register int /* was T32_halfword */ p;
  register long int   shiftdown;
  register long int   shiftup;
  register int /* was T32_halfword */ v;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register int /* was T32_halfword */ z;
  register T37_memoryword memhelp;

  memptr = &mem[q - C2_memmin];
  if ((memptr->_TAG._TAG3.hh._TAG._TAG2.b1 == 0) && (curstyle < 2))
    memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = 1;
  if ((memptr+1)->_TAG._TAG3.hh.rh == 1)
  {
    F226_fetch (q + 1);
    if ((curstyle < 2) && (((curi.b2 + 128) & 3) == 2))
    {
      curc = curi.b3;
      (memptr+1)->_TAG._TAG3.hh._TAG._TAG2.b1 = curc;
      curi=fontinfo[charbase[curf] + curc]._TAG._TAG4.qqqq;
    }
    delta = fontinfo[italicbase[curf] + ((curi.b2 + 128) >> 2)]._TAG._TAG1._int;
    x = F225_cleanbox (q + 1, curstyle);
    memptr1 = &mem[x + 1 - C2_memmin];
    if (((memptr+3)->_TAG._TAG3.hh.rh != 0) && (memptr->_TAG._TAG3.hh._TAG._TAG2.b1 != 1))
      memptr1->_TAG._TAG1._int -= delta;
#ifdef NOSHIFT
    (memptr1+3)->_TAG._TAG1._int = F65_half((memptr1+2)->_TAG._TAG1._int - (memptr1+1)->_TAG._TAG1._int) - fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
#else
    (memptr1+3)->_TAG._TAG1._int = (((memptr1+2)->_TAG._TAG1._int - (memptr1+1)->_TAG._TAG1._int + 1)>>1) - fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
#endif
    (memptr+1)->_TAG._TAG3.hh.rh = 2;
    (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh = x;
  }
  else
    delta = 0;
  if (memptr->_TAG._TAG3.hh._TAG._TAG2.b1 == 1)
  {
    x = F225_cleanbox (q + 2, ((curstyle >> 1)&0xFFFE) + 4 + (curstyle & 1));
    y = F225_cleanbox (q + 1, curstyle);
    z = F225_cleanbox (q + 3, ((curstyle >> 1)&0xFFFE) + 5);
    v = F80_newnullbox ();
    memptr1 = &mem[x + 1 - C2_memmin];
    memptr2 = &mem[z + 1 - C2_memmin];
    memptr3 = &mem[v + 1 - C2_memmin];
    (memptr3-1)->_TAG._TAG3.hh._TAG._TAG2.b0 = 1;
    memptr3->_TAG._TAG1._int = mem[y + 1 - C2_memmin]._TAG._TAG1._int;
    if (memptr1->_TAG._TAG1._int > memptr3->_TAG._TAG1._int)
      memptr3->_TAG._TAG1._int = memptr1->_TAG._TAG1._int;
    if (memptr2->_TAG._TAG1._int > memptr3->_TAG._TAG1._int)
      memptr3->_TAG._TAG1._int = memptr2->_TAG._TAG1._int;
    x = F220_rebox (x, memptr3->_TAG._TAG1._int);
    memptr1 = &mem[x + 4 - C2_memmin];
    y = F220_rebox (y, memptr3->_TAG._TAG1._int);
    memptr2 = &mem[y + 2 - C2_memmin];
    z = F220_rebox (z, memptr3->_TAG._TAG1._int);
#ifdef NOSHIFT
    memptr1->_TAG._TAG1._int = F65_half(delta);
#else
    memptr1->_TAG._TAG1._int = (delta+1)>>1;
#endif
    mem[z + 4 - C2_memmin]._TAG._TAG1._int = -(memptr1->_TAG._TAG1._int);
    (memptr3+2)->_TAG._TAG1._int = (memptr2+1)->_TAG._TAG1._int;
    (memptr3+1)->_TAG._TAG1._int = memptr2->_TAG._TAG1._int;
    if ((memptr+2)->_TAG._TAG3.hh.rh == 0)
    {
      F78_freenode (x, 7);
      (memptr3+4)->_TAG._TAG3.hh.rh = y;
    }
    else
    {
      register int shelp;
      shelp = parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh];
      shiftup = fontinfo[11 + shelp]._TAG._TAG1._int - (memptr1-2)->_TAG._TAG1._int;
      if (shiftup < fontinfo[9 + shelp]._TAG._TAG1._int)
	shiftup = fontinfo[9 + shelp]._TAG._TAG1._int;
      p = F89_newkern (shiftup);
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = y;
      (memptr1-4)->_TAG._TAG3.hh.rh = p;
      p = F89_newkern (fontinfo[13 + shelp]._TAG._TAG1._int);
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = x;
      (memptr3+4)->_TAG._TAG3.hh.rh = p;
      (memptr3+2)->_TAG._TAG1._int += fontinfo[13 + shelp]._TAG._TAG1._int + (memptr1-1)->_TAG._TAG1._int + (memptr1-2)->_TAG._TAG1._int + shiftup;
    }
    if ((memptr+3)->_TAG._TAG3.hh.rh == 0)
      F78_freenode (z, 7);
    else
    {
      register int shelp;
      shelp = parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh];
      shiftdown = fontinfo[12 + shelp]._TAG._TAG1._int - mem[z + 3 - C2_memmin]._TAG._TAG1._int;
      if (shiftdown < fontinfo[10 + shelp]._TAG._TAG1._int)
	shiftdown = fontinfo[10 + shelp]._TAG._TAG1._int;
      p = F89_newkern (shiftdown);
      (memptr2-2)->_TAG._TAG3.hh.rh = p;
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
      p = F89_newkern (fontinfo[13 + shelp]._TAG._TAG1._int);
      memptr2 = &mem[z - C2_memmin];
      memptr2->_TAG._TAG3.hh.rh = p;
      (memptr3+1)->_TAG._TAG1._int += fontinfo[13 + shelp]._TAG._TAG1._int + (memptr2+3)->_TAG._TAG1._int + (memptr2+2)->_TAG._TAG1._int + shiftdown;
    }
    (memptr+1)->_TAG._TAG1._int = v;
  }
  return (delta);
}

void F234_makeord (q)
/*************/
register int /* was T32_halfword */ q;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   a;
  register int /* was T32_halfword */ p;

  memptr = &mem[q - C2_memmin];
_20: 
  if ((((memptr+3)->_TAG._TAG3.hh.rh == 0) && ((memptr+2)->_TAG._TAG3.hh.rh == 0)) && ((memptr+1)->_TAG._TAG3.hh.rh == 1))
  {
    p = memptr->_TAG._TAG3.hh.rh;
    if (p != ((int)(-32768)))
    {
      register int shelp;
      memptr1 = &mem[p - C2_memmin];
      if (((shelp=memptr1->_TAG._TAG3.hh._TAG._TAG2.b0) >= 16) && (shelp <= 22))
	if ((memptr1+1)->_TAG._TAG3.hh.rh == 1)
	  if ((memptr1+1)->_TAG._TAG3.hh._TAG._TAG2.b0 == (memptr+1)->_TAG._TAG3.hh._TAG._TAG2.b0)
	  {
	    (memptr+1)->_TAG._TAG3.hh.rh = 4;
	    F226_fetch (q + 1);
	    if (((curi.b2 + 128) & 3) == 1)
	    {
	      a = ligkernbase[curf] + curi.b3;
	      curc = (memptr1+1)->_TAG._TAG3.hh._TAG._TAG2.b1;
	      do
	      {
		curi=fontinfo[a]._TAG._TAG4.qqqq;
		if (curi.b1 == curc)
		  if (curi.b2 >= 0)
		  {
		    p = F89_newkern (fontinfo[kernbase[curf] + curi.b3]._TAG._TAG1._int);
		    mem[p - C2_memmin]._TAG._TAG3.hh.rh = memptr->_TAG._TAG3.hh.rh;
		    memptr->_TAG._TAG3.hh.rh = p;
		    return;
		  }
		  else
		  {
		    memptr->_TAG._TAG3.hh.rh = memptr1->_TAG._TAG3.hh.rh;
		    (memptr+1)->_TAG._TAG3.hh.rh = 1;
		    (memptr+1)->_TAG._TAG3.hh._TAG._TAG2.b1 = curi.b3;
		    *(memptr+3) = *(memptr1+3);
		    *(memptr+2) = *(memptr1+2);
		    F78_freenode (p, 4);
		    goto _20;
		  }
		a++;
	      }
	      while (curi.b0 < 0);
	    }
	  }
    }
  }
}

void F235_makescripts (q, delta)
/***********************/
register int /* was T32_halfword */ q;
long int   delta;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1, huge *memptr2;
#else
  register T37_memoryword *memptr,*memptr1,*memptr2;
#endif
  register long int   clr;
  register int /* was T32_halfword */ p;
  register long int   shiftdown;
  register long int   shiftup;
  register T29_smallnumber t;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register int /* was T32_halfword */ z;

  memptr = &mem[q - C2_memmin];
  p = (memptr+1)->_TAG._TAG1._int;
  if (p >= himemmin)
  {
    shiftup = 0;
    shiftdown = 0;
  }
  else
  {
    z = F208_hpack (p, 0L, 1);
    if (curstyle < 4)
      t = 16;
    else
      t = 32;
    {
      register int shelp;
      shelp = parambase[eqtb[4581 + t]._TAG._TAG3.hh.rh];
      memptr1 = &mem[z + 3 - C2_memmin];
      shiftup = memptr1->_TAG._TAG1._int - fontinfo[18 + shelp]._TAG._TAG1._int;
      shiftdown = (memptr1-1)->_TAG._TAG1._int + fontinfo[19 + shelp]._TAG._TAG1._int;
    }
    F78_freenode (z, 7);
  }
  if ((memptr+2)->_TAG._TAG3.hh.rh == 0)
  {
    x = F225_cleanbox (q + 3, ((curstyle >> 1)&0xFFFE) + 5);
    memptr1 = &mem[x + 1 - C2_memmin];
    memptr1->_TAG._TAG1._int += eqtb[5713]._TAG._TAG1._int;
    {
      register int shelp;
      shelp = parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh];
      if (shiftdown < fontinfo[16 + shelp]._TAG._TAG1._int)
	shiftdown = fontinfo[16 + shelp]._TAG._TAG1._int;
#ifdef NOSHIFT
      clr = (memptr1+2)->_TAG._TAG1._int - (LABS (fontinfo[5 + shelp]._TAG._TAG1._int * 4) / 5);
#else
      clr = (memptr1+2)->_TAG._TAG1._int - (LABS (fontinfo[5 + shelp]._TAG._TAG1._int << 2) / 5);
#endif
    }
    if (shiftdown < clr)
      shiftdown = clr;
    (memptr1+3)->_TAG._TAG1._int = shiftdown;
  }
  else
  {
    x = F225_cleanbox (q + 2, (((curstyle >> 1)&0xFFFE) + 4) + (curstyle & 1));
    memptr1 = &mem[x + 1 - C2_memmin];
    memptr1->_TAG._TAG1._int += eqtb[5713]._TAG._TAG1._int;
    {
      register int shelp;
      shelp = parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh];
      if (ODD (curstyle))
	clr = fontinfo[15 + shelp]._TAG._TAG1._int;
      else
	if (curstyle < 2)
	  clr = fontinfo[13 + shelp]._TAG._TAG1._int;
	else
	  clr = fontinfo[14 + shelp]._TAG._TAG1._int;
      if (shiftup < clr)
	shiftup = clr;
      clr = (memptr1+1)->_TAG._TAG1._int + (LABS (fontinfo[5 + shelp]._TAG._TAG1._int) >> 2);
    }
    if (shiftup < clr)
      shiftup = clr;
    if ((memptr+3)->_TAG._TAG3.hh.rh == 0)
      (memptr1+3)->_TAG._TAG1._int = -shiftup;
    else
    {
      register int shelp;
      shelp = parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh];
      y = F225_cleanbox (q + 3, ((curstyle >> 1)&0xFFFE) + 5);
      memptr2 = &mem[y + 1 - C2_memmin];
      memptr2->_TAG._TAG1._int += eqtb[5713]._TAG._TAG1._int;
      if (shiftdown < fontinfo[17 + shelp]._TAG._TAG1._int)
	shiftdown = fontinfo[17 + shelp]._TAG._TAG1._int;
#ifdef NOSHIFT
      clr = (fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int * 4) - shiftup + (memptr1+1)->_TAG._TAG1._int + (memptr2+2)->_TAG._TAG1._int - shiftdown;
#else
      clr = (fontinfo[8 + parambase[eqtb[4582 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int << 2) - shiftup + (memptr1+1)->_TAG._TAG1._int + (memptr2+2)->_TAG._TAG1._int - shiftdown;
#endif
      if (clr > 0)
      {
	shiftdown += clr;
#ifdef NOSHIFT
	clr = (LABS (fontinfo[5 + shelp]._TAG._TAG1._int * 4) / 5) - shiftup + (memptr1+1)->_TAG._TAG1._int;
#else
	clr = (LABS (fontinfo[5 + shelp]._TAG._TAG1._int << 2) / 5) - shiftup + (memptr1+1)->_TAG._TAG1._int;
#endif
	if (clr > 0)
	{
	  shiftup += clr;
	  shiftdown -= clr;
	}
      }
      (memptr1+3)->_TAG._TAG1._int = delta;
      p = F89_newkern (shiftup - (memptr1+1)->_TAG._TAG1._int - (memptr2+2)->_TAG._TAG1._int + shiftdown);
      (memptr1-1)->_TAG._TAG3.hh.rh = p;
      mem[p - C2_memmin]._TAG._TAG3.hh.rh = y;
      x = F209_vpackage (x, 0L, 1, 1073741823);
      mem[x + 4 - C2_memmin]._TAG._TAG1._int = shiftdown;
    }
  }
  if ((memptr+1)->_TAG._TAG1._int == ((int)(-32768)))
    (memptr+1)->_TAG._TAG1._int = x;
  else
  {
    register int shelp;
    p = (memptr+1)->_TAG._TAG1._int;
    while ((shelp=mem[p - C2_memmin]._TAG._TAG3.hh.rh) != ((int)(-32768)))
      p = shelp;
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = x;
  }
}

T29_smallnumber F236_makeleftright (q, style, maxd, maxh)
/***************************************************/
register int /* was T32_halfword */ q;
T29_smallnumber style;
long int   maxd;
long int   maxh;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register long int   delta;
  register long int   delta1;
  register long int   delta2;

  if (style < 4)
    cursize = 0;
  else
    cursize = ((style - 2) >> 1) << 4;
  delta2 = maxd + fontinfo[22 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int;
  delta1 = (maxh + maxd) - delta2;
  if (delta2 > delta1)
    delta1 = delta2;
  delta = (delta1 / 500) * eqtb[5285]._TAG._TAG1._int;
  delta2 = (delta1 + delta1) - eqtb[5711]._TAG._TAG1._int;
  if (delta < delta2)
    delta = delta2;
  memptr = &mem[q + 1 - C2_memmin];
  memptr->_TAG._TAG1._int = F219_vardelimiter (q + 1, cursize, delta);
  return((memptr-1)->_TAG._TAG3.hh._TAG._TAG2.b0 - 10);
}

void F224_mlisttohlist ()
/*****************/
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register long int   delta;
  register long int   maxd;
  register long int   maxh;
  register int /* was T32_halfword */ mlist;
  register int /* was T32_halfword */ p;
  register long int   pen;
  register BOOLEAN penalties;
  register int /* was T32_halfword */ q;
  register int /* was T32_halfword */ r;
  register T29_smallnumber rtype;
  register T29_smallnumber s;
  register T29_smallnumber savestyle;
  register T29_smallnumber style;
  register T29_smallnumber t;
  register int /* was T32_halfword */ x;
  register int /* was T32_halfword */ y;
  register int /* was T32_halfword */ z;

  mlist = curmlist;
  penalties = mlistpenalties;
  style = curstyle;
  q = mlist;
  r = (int)(-32768);
  rtype = 17;
  maxh = 0;
  maxd = 0;
  if (curstyle < 4)
    cursize = 0;
  else
    cursize = ((curstyle - 2) >>1)<<4;
  curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18;
  while (q != ((int)(-32768)))
  {
_21: 
    delta = 0;
    switch (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0)
    {
      case 18: 
	switch (rtype)
	{
	  case 18: 
	  case 17: 
	  case 19: 
	  case 20: 
	  case 22: 
	  case 30: 
	    mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 = 16;
	    goto _21;
	    break;
	  default: 
	    break;
	}
	break;
      case 19: 
      case 21: 
      case 22: 
      case 31: 
	if (rtype == 18)
	  mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 = 16;
	if (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 == 31)
	  goto _80;
	break;
      case 30: 
	goto _80;
	break;
      case 25: 
	F232_makefraction (q);
	goto _82;
	break;
      case 17: 
	delta = F233_makeop (q);
	if (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 == 1)
	  goto _82;
	break;
      case 16: 
	F234_makeord (q);
	break;
      case 20: 
      case 23: 
	break;
      case 24: 
	F230_makeradical (q);
	break;
      case 27: 
	F227_makeover (q);
	break;
      case 26: 
	F228_makeunder (q);
	break;
      case 28: 
	F231_makemathaccent (q);
	break;
      case 29: 
	F229_makevcenter (q);
	break;
      case 14: 
	curstyle = mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1;
	if (curstyle < 4)
	  cursize = 0;
	else
	  cursize = ((curstyle - 2) >>1)<<4;
	curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18;
	goto _81;
	break;
      case 15: 
	memptr = &mem[q + 1 - C2_memmin];
	switch (curstyle >>1)
	{
	  case 0: 
	    p = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
	    memptr->_TAG._TAG3.hh._TAG._TAG1.lh = (int)(-32768);
	    break;
	  case 1: 
	    p = memptr->_TAG._TAG3.hh.rh;
	    memptr->_TAG._TAG3.hh.rh = (int)(-32768);
	    break;
	  case 2: 
	    p = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
	    (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh = (int)(-32768);
	    break;
	  case 3: 
	    p = (memptr+1)->_TAG._TAG3.hh.rh;
	    (memptr+1)->_TAG._TAG3.hh.rh = (int)(-32768);
	    break;
	}
	F109_flushnodelist (memptr->_TAG._TAG3.hh._TAG._TAG1.lh);
	F109_flushnodelist (memptr->_TAG._TAG3.hh.rh);
	F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh);
	F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	(memptr-1)->_TAG._TAG3.hh._TAG._TAG2.b0 = 14;
	(memptr-1)->_TAG._TAG3.hh._TAG._TAG2.b1 = curstyle;
	memptr->_TAG._TAG1._int = (memptr+1)->_TAG._TAG1._int = 0;
	if (p != ((int)(-32768)))
	{
	  register int shelp;
	  z = (memptr-1)->_TAG._TAG3.hh.rh;
	  (memptr-1)->_TAG._TAG3.hh.rh = p;
	  while ((shelp=mem[p - C2_memmin]._TAG._TAG3.hh.rh) != ((int)(-32768)))
	    p = shelp;
	  mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
	}
	goto _81;
	break;
      case 3: 
      case 4: 
      case 5: 
      case 8: 
      case 12: 
      case 7: 
	goto _81;
	break;
      case 2: 
	memptr = &mem[q + 3 - C2_memmin];
	if (memptr->_TAG._TAG1._int > maxh)
	  maxh = memptr->_TAG._TAG1._int;
	if ((memptr-1)->_TAG._TAG1._int > maxd)
	  maxd = (memptr-1)->_TAG._TAG1._int;
	goto _81;
	break;
      case 10: 
	memptr = &mem[q - C2_memmin];
	if (memptr->_TAG._TAG3.hh._TAG._TAG2.b1 == 99)
	{
	  x = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
	  y = F221_mathglue (x, curmu);
	  F108_deleteglueref (x);
	  (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh = y;
	  memptr->_TAG._TAG3.hh._TAG._TAG2.b1 = 0;
	}
	else
	  if ((cursize != 0) && (memptr->_TAG._TAG3.hh._TAG._TAG2.b1 == 98))
	  {
	    p = memptr->_TAG._TAG3.hh.rh;
	    if (p != ((int)(-32768)))
	    {
	      register int shelp;
	      if (((shelp=mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0) == 10) || (shelp == 11))
	      {
		memptr1 = &mem[p - C2_memmin];
		memptr->_TAG._TAG3.hh.rh = memptr1->_TAG._TAG3.hh.rh;
		memptr1->_TAG._TAG3.hh.rh = (int)(-32768);
		F109_flushnodelist (p);
	      }
	    }
	  }
	goto _81;
	break;
      case 11: 
	F222_mathkern (q, curmu);
	goto _81;
	break;
      default: 
	F42_confusion (742);
	break;
    }
    memptr = &mem[q + 1 - C2_memmin];
    switch (memptr->_TAG._TAG3.hh.rh)
    {
      case 1: 
      case 4: 
	F226_fetch (q + 1);
	if (curi.b0 > (-128))
	{
	  delta = fontinfo[italicbase[curf] + ((curi.b2 + 128) >> 2)]._TAG._TAG1._int;
	  p = F194_newcharacter (curf, (T22_eightbits)(curc + 128));
	  if ((memptr->_TAG._TAG3.hh.rh == 4) && (fontinfo[2 + parambase[curf]]._TAG._TAG1._int != 0))
	    delta = 0;
	  if (((memptr+2)->_TAG._TAG3.hh.rh == 0) && (delta != 0))
	  {
	    mem[p - C2_memmin]._TAG._TAG3.hh.rh = F89_newkern (delta);
	    delta = 0;
	  }
	}
	else
	  p = (int)(-32768);
	break;
      case 0: 
	p = (int)(-32768);
	break;
      case 2: 
	p = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
	break;
      case 3: 
	curmlist = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
	savestyle = curstyle;
	mlistpenalties = FALSE;
	F224_mlisttohlist ();
	curstyle = savestyle;
	if (curstyle < 4)
	  cursize = 0;
	else
	  cursize = ((curstyle - 2) >> 1) << 4;
	curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18;
	p = F208_hpack (m29997->_TAG._TAG3.hh.rh, 0L, 1);
	break;
      default: 
	F42_confusion (743);
	break;
    }
    memptr->_TAG._TAG1._int = p;
    if (((memptr+2)->_TAG._TAG3.hh.rh == 0) && ((memptr+1)->_TAG._TAG3.hh.rh == 0))
      goto _82;
    F235_makescripts (q, delta);
_82: 
    z = F208_hpack ((int)mem[q + 1 - C2_memmin]._TAG._TAG1._int, 0L, 1);
    memptr = &mem[z + 3 - C2_memmin];
    if (memptr->_TAG._TAG1._int > maxh)
      maxh = memptr->_TAG._TAG1._int;
    if ((memptr-1)->_TAG._TAG1._int > maxd)
      maxd = (memptr-1)->_TAG._TAG1._int;
    F78_freenode (z, 7);
_80: 
    r = q;
    rtype = mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0;
_81: 
    q = mem[q - C2_memmin]._TAG._TAG3.hh.rh;
  }
  if (rtype == 18)
    mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 = 16;
#ifdef TRIPTEX
  p = 2997;
#else
  p = 29997;
#endif
  mem[p - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
  q = mlist;
  rtype = 0;
  curstyle = style;
  if (curstyle < 4)
    cursize = 0;
  else
    cursize = ((curstyle - 2) >> 1) << 4;
  curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18;
  while (q != ((int)(-32768)))
  {
    t = 16;
    s = 4;
    pen = 10000;
    switch (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0)
    {
      case 17: 
      case 20: 
      case 21: 
      case 22: 
      case 23: 
	t = mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0;
	break;
      case 18: 
	t = 18;
	pen = eqtb[5276]._TAG._TAG1._int;
	break;
      case 19: 
	t = 19;
	pen = eqtb[5277]._TAG._TAG1._int;
	break;
      case 16: 
      case 29: 
      case 27: 
      case 26: 
	break;
      case 24: 
	s = 5;
	break;
      case 28: 
	s = 5;
	break;
      case 25: 
	t = 23;
	s = 6;
	break;
      case 30: 
      case 31: 
	t = F236_makeleftright (q, style, maxd, maxh);
	break;
      case 14: 
	curstyle = mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1;
	s = 3;
	if (curstyle < 4)
	  cursize = 0;
	else
	  cursize = ((curstyle - 2) >> 1) << 4;
	curmu = fontinfo[6 + parambase[eqtb[4581 + cursize]._TAG._TAG3.hh.rh]]._TAG._TAG1._int / 18;
	goto _83;
	break;
      case 8: 
      case 12: 
      case 2: 
      case 7: 
      case 5: 
      case 3: 
      case 4: 
      case 10: 
      case 11: 
	mem[p - C2_memmin]._TAG._TAG3.hh.rh = q;
	p = q;
	q = mem[q - C2_memmin]._TAG._TAG3.hh.rh;
	mem[p - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
	goto _30;
	break;
      default: 
	F42_confusion (744);
	break;
    }
    if (rtype > 0)
    {
#ifdef NOSHIFT
      switch (strpool[(rtype * 8) + t + magicoffset])
#else
      switch (strpool[(rtype << 3) + t + magicoffset])
#endif
      {
	case 48: 
	  x = 0;
	  break;
	case 49: 
	  if (curstyle < 4)
	    x = 15;
	  else
	    x = 0;
	  break;
	case 50: 
	  x = 15;
	  break;
	case 51: 
	  if (curstyle < 4)
	    x = 16;
	  else
	    x = 0;
	  break;
	case 52: 
	  if (curstyle < 4)
	    x = 17;
	  else
	    x = 0;
	  break;
	default: 
	  F42_confusion (746);
	  break;
      }
      if (x != 0)
      {
	y = F221_mathglue (eqtb[3526 + x]._TAG._TAG3.hh.rh, curmu);
	z = F87_newglue (y);
	mem[y - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
	mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
	p = z;
	mem[z - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 = x + 1;
      }
    }
    if (mem[q + 1 - C2_memmin]._TAG._TAG1._int != ((int)(-32768)))
    {
      memptr = &mem[p - C2_memmin];
      memptr->_TAG._TAG3.hh.rh = mem[q + 1 - C2_memmin]._TAG._TAG1._int;
      {
	register int shelp;
	shelp = memptr->_TAG._TAG3.hh.rh;
	do
	  p = shelp;
	while ((shelp=mem[p - C2_memmin]._TAG._TAG3.hh.rh) != ((int)(-32768)));
      }
    }
    if (penalties)
    {
      register int shelp;
      if ((shelp=mem[q - C2_memmin]._TAG._TAG3.hh.rh) != ((int)(-32768)))
	if (pen < 10000L)
	{
	  rtype = mem[shelp - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0;
	  if (rtype != 12)
	    if (rtype != 19)
	    {
	      z = F90_newpenalty (pen);
	      mem[p - C2_memmin]._TAG._TAG3.hh.rh = z;
	      p = z;
	    }
	}
    }
    rtype = t;
_83: 
    r = q;
    q = mem[q - C2_memmin]._TAG._TAG3.hh.rh;
    F78_freenode (r, s);
_30: 
    ;
  }
}

void F237_pushalignment ()
/******************/
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  p = F77_getnode (5L);
  memptr = &mem[p - C2_memmin];
  memptr->_TAG._TAG3.hh.rh = alignptr;
  memptr->_TAG._TAG3.hh._TAG._TAG1.lh = curalign;
  (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh = m29992->_TAG._TAG3.hh.rh;
  (memptr+1)->_TAG._TAG3.hh.rh = curspan;
  (memptr+2)->_TAG._TAG1._int = curloop;
  (memptr+3)->_TAG._TAG1._int = alignstate;
  (memptr+4)->_TAG._TAG3.hh._TAG._TAG1.lh = curhead;
  (memptr+4)->_TAG._TAG3.hh.rh = curtail;
  alignptr = p;
  curhead = F75_getavail ();
}

void F238_popalignment ()
/*****************/
{
  register int /* was T32_halfword */ p;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  mem[curhead - C2_memmin]._TAG._TAG3.hh.rh = avail;
  avail = curhead;
# if defined(INITEX) || defined(TRIPTEX)
  dynused--;
# endif
  p = alignptr;
  memptr = &mem[p - C2_memmin];
  curtail = (memptr+4)->_TAG._TAG3.hh.rh;
  curhead = (memptr+4)->_TAG._TAG3.hh._TAG._TAG1.lh;
  alignstate = (memptr+3)->_TAG._TAG1._int;
  curloop = (memptr+2)->_TAG._TAG1._int;
  curspan = (memptr+1)->_TAG._TAG3.hh.rh;
  m29992->_TAG._TAG3.hh.rh = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
  curalign = memptr->_TAG._TAG3.hh._TAG._TAG1.lh;
  alignptr = memptr->_TAG._TAG3.hh.rh;
  F78_freenode (p, 5);
}

void F239_getpreambletoken ()
/*********************/
{
_20: 
  F29_gettoken (null);
  while ((curchr == 128) && (curcmd == 4))
  {
    F29_gettoken (null);
    if (curcmd > 99)
    {
      F156_expand ();
      F29_gettoken (null);
    }
  }
  if ((curcmd == 74) && (curchr == 3537))
  {
    F159_scanoptionalequals ();
    F173_scanglue (2);
    if (eqtb[5310]._TAG._TAG1._int > 0)
      F130_geqdefine (3537, (char)116, (int)curval);
    else
      F128_eqdefine (3537, (char)116, (int)curval);
    goto _20;
  }
}

void F242_initalign ()
/**************/
{
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif
  register int /* was T32_halfword */ p;
  register int /* was T32_halfword */ savecsptr;

  savecsptr = curcs;
  F237_pushalignment ();
  alignstate = -1000000;
  if ((curlist.modefield == 201) && ((curlist.tailfield != curlist.headfield) || (curlist.auxfield != ((int)(-32768)))))
  {
    F19_printnl (134);
    F17_print (536);
    F20_printesc (380);
    F17_print (747);
    helpptr = 3;
    helpline[2] = 748;
    helpline[1] = 749;
    helpline[0] = 750;
    F39_error ();
    F223_flushmath ();
  }
  F112_pushnest ();
  if (curlist.modefield == 201)
  {
    curlist.modefield = -1;
    curlist.auxfield = nest[nestptr - 2].auxfield;
  }
  else
    if (curlist.modefield > 0)
      curlist.modefield = -curlist.modefield;
  F207_scanspec ();
  F125_newsavelevel (6);
  m29992->_TAG._TAG3.hh.rh = (int)(-32768);
#ifdef TRIPTEX
  curalign = 2992;
#else
  curalign = 29992;
#endif
  curloop = (int)(-32768);
  scannerstatus = 4;
  warningindex = savecsptr;
  alignstate = -1000000;
  while (TRUE)
  {
    curalign = mem[curalign - C2_memmin]._TAG._TAG3.hh.rh = F86_newparamglue (11);
    if (curcmd == 5)
      goto _30;
#ifdef TRIPTEX
    p = 2996;
#else
    p = 29996;
#endif
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
    while (TRUE)
    {
      F239_getpreambletoken ();
      if (curcmd == 6)
	goto _31;
      if (((curcmd <= 5) && (curcmd >= 4)) && (alignstate == (-1000000)))
#ifdef TRIPTEX
	if (((p == 2996) && (curloop == ((int)(-32768)))) && (curcmd == 4))
#else
	if (((p == 29996) && (curloop == ((int)(-32768)))) && (curcmd == 4))
#endif
	  curloop = curalign;
	else
	{
	  F19_printnl (134);
	  F17_print (756);
	  helpptr = 3;
	  helpline[2] = 757;
	  helpline[1] = 758;
	  helpline[0] = 759;
	  F142_backerror ();
	  goto _31;
	}
      else
#ifdef TRIPTEX
	if ((curcmd != 10) || (p != 2996))
#else
	if ((curcmd != 10) || (p != 29996))
#endif
	{
	  p = mem[p - C2_memmin]._TAG._TAG3.hh.rh = F75_getavail ();
	  mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh = curtok;
	}
    }
_31: 
    curalign = mem[curalign - C2_memmin]._TAG._TAG3.hh.rh = F80_newnullbox ();
    memptr = &mem[curalign - C2_memmin];
#ifdef TRIPTEX
    memptr->_TAG._TAG3.hh._TAG._TAG1.lh = 2991;
    (memptr+1)->_TAG._TAG1._int = -1073741824;
    (memptr+3)->_TAG._TAG1._int = m29996->_TAG._TAG3.hh.rh;
    p = 2996;
#else
    memptr->_TAG._TAG3.hh._TAG._TAG1.lh = 29991;
    (memptr+1)->_TAG._TAG1._int = -1073741824;
    (memptr+3)->_TAG._TAG1._int = m29996->_TAG._TAG3.hh.rh;
    p = 29996;
#endif
    mem[p - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
    while (TRUE)
    {
  _22: 
      F239_getpreambletoken ();
      if (((curcmd <= 5) && (curcmd >= 4)) && (alignstate == (-1000000)))
	goto _32;
      if (curcmd == 6)
      {
	F19_printnl (134);
	F17_print (760);
	helpptr = 3;
	helpline[2] = 757;
	helpline[1] = 758;
	helpline[0] = 761;
	F39_error ();
	goto _22;
      }
      p = mem[p - C2_memmin]._TAG._TAG3.hh.rh = F75_getavail ();
      mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh = curtok;
    }
_32: 
    p = mem[p - C2_memmin]._TAG._TAG3.hh.rh = F75_getavail ();
    mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh = 7359;
    mem[curalign + 2 - C2_memmin]._TAG._TAG1._int = m29996->_TAG._TAG3.hh.rh;
  }
_30: 
  scannerstatus = 0;
  F125_newsavelevel (6);
  if (eqtb[4064]._TAG._TAG3.hh.rh != ((int)(-32768)))
    F140_begintokenlist (eqtb[4064]._TAG._TAG3.hh.rh, (char)13);
  F240_alignpeek ();
}

void F243_initspan (p)
/**************/
int /* was T32_halfword */ p;
{
  F112_pushnest ();
  if (curlist.modefield == (-101))
    curlist.auxfield = 1000;
  else
  {
    curlist.auxfield = -65536000;
    F241_normalparagraph ();
  }
  curspan = p;
}

void F244_initrow ()
/************/
{
  F112_pushnest ();
  curlist.modefield = (-102) - curlist.modefield;
  curlist.auxfield = 0;
  curlist.tailfield = mem[curlist.tailfield - C2_memmin]._TAG._TAG3.hh.rh = F87_newglue (mem[m29992->_TAG._TAG3.hh.rh + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
  mem[curlist.tailfield - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 = 12;
  curalign = mem[m29992->_TAG._TAG3.hh.rh - C2_memmin]._TAG._TAG3.hh.rh;
  curtail = curhead;
  F243_initspan (curalign);
}
