Last updated: January 6, 2007
Evolve 4.0 - Evolved KFORTH Programs
VOLVE    4.0

Evolved KFORTH Programs

main:
{
      -1  0  2dup  1  call  9  call  4  9  call  8  9  ?loop
      9  call  8  2*  17  2+  call  -41 
}

row1:
{
      GROW  ROTATE  EAT  EAT  2-  EAT 
}

row2:
{
      20  20  WHERE  WHERE  and 
}

row3:
{
     
}

row4:
{
      swap  swap 
}

row5:
{
      ?loop  pop  pop  99  R5  R5  -46  -46  2*  1-  ENERGY  <>
      2swap  CMOVE  -74  -74  9  9 
}

row6:
{
     
}

row7:
{
      MOOD  92  -10  13  CMOVE  -74  MOOD  pack2 
}

row8:
{
     
}

row9:
{
      -88  ENERGY  4  /  R0!  -1  0  R0  MAKE-SPORE  -1  0  R0
      MAKE-SPORE  OMOVE  1  34  4  OMOVE  2dup  EAT  pop  OMOVE
      negate  71  EAT  EAT  2-  OMOVE  EAT 
}

row10:
{
      ENERGY  5  /  R0!  1  1  R0  MAKE-SPORE  3  2  R0  MAKE-SPORE
      pop  31  -3  OMOVE  EAT  -5  EAT  -5  OMOVE  -3  OMOVE
      -3  EAT  pop  EAT  pop  OMOVE  pop 
}

row11:
{
      -19  <  2over  CMOVE 
}

row12:
{
      <>  1  32 
}

row13:
{
      MOOD!  -99  R1  -97  -73  -87  or  57  -20 
}

row14:
{
      R7!  59  < 
}

row15:
{
      -64  -  Rn!  -83  -64  -  82  Rn! 
}

row16:
{
      R0 
}



main:
{
      36  25  CB  9  call  9  call  1  call  9  call  CB  9  2
      call  9  call  call  -61  >=  call  R4!  if  64  -75  9
      call  4  9  call  82  6  CMOVE  -rot  pick  OMOVE 
}

row1:
{
      5  35  2dup  EAT  EAT  OMOVE  78  2dup 
}

row2:
{
      18  18  18  18  49  18  18  49 
}

row3:
{
     
}

row4:
{
      ENERGY  0  RECV  >  0  4  -3  0  R0  MAKE-SPORE  2dup  pop
      OMOVE  -1  -1  2dup  ROTATE  NUM-CELLS  R0! 
}

row5:
{
     
}

row6:
{
      EAT  SEND  R7  -86  SEND  SEND  EAT  SEND  EAT  SEND  SEND
      R7  -86  R0!  R5! 
}

row7:
{
      75  unpack4 
}

row8:
{
     
}

row9:
{
      ENERGY  4  /  R0!  -1  0  R0  MAKE-SPORE  EAT  -1  0  R0
      MAKE-SPORE  <  -1  <  2dup  2negate  GROW  EAT  <=  -1
      -1  2dup  EAT 
}

row10:
{
     
}

row11:
{
      80  13 
}

row12:
{
      EAT  OMOVE  74 
}

row13:
{
     
}

row14:
{
      2*  EAT 
}

row15:
{
      ?exit  5  ?dup  11  EAT  pop  2swap  SEND  EAT  15  NEAREST 
}

row16:
{
     
}

row17:
{
      -98  -61  >=  2swap 
}

row18:
{
      -98  -61  >=  2swap 
}

row19:
{
     
}

row20:
{
     
}

row21:
{
     
}

row22:
{
     
}

row23:
{
     
}

row24:
{
     
}

row25:
{
      ?exit  5  ?dup  11  EAT  pop  2swap  SEND  EAT  15  NEAREST 
}

row26:
{
      ?exit  5  ?dup  11  EAT  pop  2swap  SEND  EAT  15  NEAREST 
}

row27:
{
     
}

row28:
{
     
}

row29:
{
      ?exit  5  ?dup  11  EAT  pop  2swap  HAS-NEIGHBOR  -81 
}

row30:
{
      ?exit  5  ?dup  11  EAT  pop  2swap  HAS-NEIGHBOR  -81 
}

row31:
{
      66  -98  -74  11  -77  R4  pack2  R3  -74  11  -77 
}

row32:
{
      -98  -74  11  -77  66  -98  -74  11  -77  R4  pack2  R3
      -74  11  -77 
}

row33:
{
      66  -96  -78  15  -96  -78  15  -77  -77  R4  pack2 
}

row34:
{
      66  -96  -78  15  -96  -78  15  -77  -77  R4  pack2 
}

row35:
{
      HAS-NEIGHBOR  =  R4  = 
}

row36:
{
      min  -38  R5!  -40 
}

row37:
{
      min 
}

row38:
{
     
}

row39:
{
     
}

row40:
{
     
}

row41:
{
     
}

row42:
{
      36  25  CB  9  call  9  call  1  call  9  call  2  call
      9  call  call  9  3  call  R4!  if  64  -75  9  call  4
      9  call  82  6  CMOVE  -rot  pick  OMOVE 
}

row43:
{
      36  25  CB  9  call  9  call  1  call  9  call  2  call
      9  call  call  9  3  call  R4!  if  64  -75  9  call  4
      9  call  82  6  CMOVE  -rot  pick  OMOVE 
}

row44:
{
      11  57  -83  xor 
}

row45:
{
     
}

row46:
{
      80  13 
}

row47:
{
      80  13 
}


main:
{
      9  call  1  call  call  swap  call  R0!  -75  78  ENERGY
      >  ?loop 
}

row1:
{
      EAT  EAT  -87  -65  EAT  4  -88  EAT  91  3  13  EAT  EAT
      EAT 
}

row2:
{
     
}

row3:
{
     
}

row4:
{
     
}

row5:
{
     
}

row6:
{
     
}

row7:
{
      <=  22 
}

row8:
{
      35  24  EAT  2+  -48  -46  2dup  72  EAT  OMOVE  EAT  OMOVE 
}

row9:
{
      ENERGY  4  /  R0!  -1  0  8  -1  GROW  0  R0  MAKE-SPORE
      -1  0  R0  MAKE-SPORE  -54  xor  EAT  pack4  1-  -1  OMOVE
      -1  dup  2dup  OMOVE  pop  EAT  OMOVE  3  54  61  74  OMOVE
      -50  EAT  +  12 
}

row10:
{
      0 
}

row11:
{
     
}

row12:
{
      R8  -27 
}

row13:
{
     
}

row14:
{
      95  39  1+ 
}

row15:
{
      -94  -38  46 
}

row16:
{
     
}

row17:
{
      -59 
}

row18:
{
      83  R4!  -53  R3! 
}

row19:
{
      ?dup 
}

row20:
{
      R5!  <>  or 
}

row21:
{
     
}

row22:
{
      -99  R3  -99  R3 
}

row23:
{
      EAT  82  -76  EAT  82  -80  -43  R5  -38  LOOK2  HAS-NEIGHBOR
      R0!  if 
}

row24:
{
     
}