10->dim(L6)
.1->offset
dim(X)->N
{N+1,N}->dim(vertex)
N+1->dim(fv)
{8,N}->dim([E])
For(L,1,N)
    X(L)->xi(L)
    (1—offset)xi(L)->X(L)
    X(L)->vertex(N+1,L)
End
prgm»FUNC
F->fv(N+1)
For(J,1,N)
    For(L,1,N)
        xi(L)->X(L)
    End
    If X(J)≠0 Then:(1+offset)X(J)->X(J)
    Else:offset->X(J)
    End
    For(L,1,N)
        X(L)->vertex(J,L)
    End
    prgm»FUNC
    F->fv(J)
End
prgm»NELDSORT
ClrHome
1->cnt
Disp "INITIAL",cnt,fv
Lbl A
0->test
For(J,2,N+1)
    0->s
    For(L,1,N)
        (vertex(J,L)—vertex(1,L))2+s->s
    End
    √((s)->s
    max(test,s)->test
End
If test≤T:Then
    For(L,1,N)
        vertex(1,L)->X(L)
    End
    Return
End
For(K,1,N)
    0->s
    For(J,1,N)
        vertex(J,K)+s->s
    End
    s/N->vavg(K)
End
For(L,1,N)
    2vavg(L)—vertex(N+1,L)->vref(L)
    vref(L)->X(L)
End
prgm»FUNC
F->fref
For(L,1,N)
    vref(L)->vk(L)
End
:fref->fk 1->how
If fref<fv(N):Then
    If fref<fv(1):Then
        For(L,1,N)
            2vref(L)—vavg(L)->vexp(L)
            vexp(L)->X(L)
        End
        prgm»FUNC
        F->fexp
        If fexp<fv(1):Then
            For(L,1,N)
                vexp(L)->vk(L)
            End
            fexp->fk
            2->how
        End
    End Else
      For(L,1,N)
          vertex(N+1,L)->vtemp(L)
      End
      fv(N+1)->ftemp
      If fref<ftemp:Then
          For(L,1,N)
             vref(L)->vtemp(L)
          End
      End
      For(L,1,N)
          .5(vtemp(L)+vavg(L))->vcon(L)
          vcon(L)->X(L)
      End
      prgm»FUNC
      F->fcon
      If fcon<fv(N):Then
          For(L,1,N)
              vcon(L)->vk(L)
          End
          :fcon->fk
          3->how
      Else
          For(J,2,N) For(L,1,N)
              (vertex(1,L)+vertex(J,L))/2->vertex(J,L)
              vertex(J,L)->X(L)
          End
          prgm»FUNC
          F->fv(J)
      End
      For(L,1,N)
          (vertex(1,L)+vertex(N+1,L))/2->vk(L)
          vk(L)->X(L)
      End
      prgm»FUNC
      F->fk
      4->how
  End
End
For(L,1,N)
  vk(L)->vertex(N+1,L)
End
fk->fv(N+1)
prgm»NELDSORT
cnt+1->cnt
If how=1
  Disp "REFLECT"
If how=2
  Disp "EXPAND"
If how=3
  Disp "CONTRACT"
If how=4
  Disp "SHRINK"
Disp cnt,fv
Disp test
Goto A
