pbt@waknuk:~/corewar/bench/94nop$ rtst ../../release/KandiasKan2.red jun03 400 Y
 Kandias Kan      vs Behemot         : 245/ 63/ 92     206
 Kandias Kan      vs Return of Vanqui: 211/ 74/115     187
 Kandias Kan      vs Son of Vain     :  50/ 43/307     114
 Kandias Kan      vs Thunderstrike   :  56/ 27/317     121
 Kandias Kan      vs Pixie           :  53/ 20/327     121
 Kandias Kan      vs Jaguar          :  55/ 17/328     123
 Kandias Kan      vs Candy II        :  46/ 30/324     115
 Kandias Kan      vs Quicksilver     :  96/ 24/280     142
 Kandias Kan      vs Digitalis 2002  :  51/ 28/321     118
 Kandias Kan      vs G2              :  97/233/ 70      90
 Kandias Kan      vs Willow          : 185/162/ 53     152
 Kandias Kan      vs Recon 2         : 111/245/ 44      94
 Kandias Kan      vs pre75-z47a      : 202/119/ 79     171
 Kandias Kan      vs Silver Talon 1.2: 157/135/108     144
 Kandias Kan      vs nPaper II       :  37/ 12/351     115
 Kandias Kan      vs Revenge of the P:  37/ 20/343     113
 Kandias Kan      vs Wipe Uncle      :  35/ 17/348     113
 Kandias Kan      vs Dawn            :  32/ 20/348     111
 Kandias Kan      vs Reepicheep      :  49/ 25/326     118
 Kandias Kan      vs Numb            :  75/ 30/295     130
 Kandias Kan      vs Velvet Glove    :  50/ 19/331     120
 Kandias Kan      vs SilKing         :  41/ 20/339     115
 Kandias Kan      vs myVamp5.4       : 193/120/ 87     166
Result for Kandias Kan using [jun03] over 400 = 130.71  file=KandiasKan2.red

;redcode-94nop
;name Kandias Kan
;author Philip Thorne
;strategy QS > Paper
;kill Kandias
;assert 1

;Takes 52 cycles for QS and to complete boot/launch.
;Takes 40 cycles not counting QS

for 1
    ;469 is 8000 -m 1 -cf 500

A       EQU     (469)
B       EQU     (3779)
C       EQU     (5781)
G       EQU     (-345)
rof

bBoot:
start:  spl     1
        spl     1

pap1:   spl     @0,             {A
        mov.i   }pap1,          >pap1
        mov.i   }pap1,          >pap1
        djn.f   pap2+A+A,       <G

pap2:   spl     @0,             <B
        mov.i   }pap2,          >pap2
        mov.i   {pap2,          <pap3
pap3:   djn.f   @0,             <C

;===

    for 51+3
        dat     0,              0
    rof

        dat     1,              qA
qTab1:  dat     1,              qB
        dat     0,0
        dat     0,0
        dat     0,0

        dat     0,0
        dat     0,0

        qX      equ     6612    ;*NOT* Optimised to miss paper
        qA      equ     3762
        qB      equ     2253
        qC      equ     1965
        qD      equ     456
        qE      equ     6947
        qF      equ     1199

        qStep   equ     7       ;Weighted towards liklihood
        qTime   equ     16      ;of hitting late in warrior
        qOff    equ     32      ;body due to QS's.

qBomb   dat     {qOff           , qF

qGo     sne     qPtr+qX*qE      , qPtr+qX*qE+qE
        seq     <qTab2+1        , qPtr+qX*(qE-1)+(qE-1)
        jmp     qDec            , }qDec+2
        sne     qPtr+qX*qF      , qPtr+qX*qF+qD
        seq     <qBomb          , qPtr+qX*(qF-1)+qD
        jmp     qDec            , }qDec
        sne     qPtr+qX*qA      , qPtr+qX*qA+qD
        seq     <qTab1-1        , qPtr+qX*(qA-1)+qD
        djn.a   qDec            , {qDec
        sne     qPtr+qX*qB      , qPtr+qX*qB+qD
        seq     <qTab1          , qPtr+qX*(qB-1)+qD
        djn.a   qDec            , *0
        sne     qPtr+qX*qC      , qPtr+qX*qC+qC
        seq     <qTab2-1        , qPtr+qX*(qC-1)+(qC-1)
        jmp     qDec            , {qDec+2
        sne     qPtr+qX*qD      , qPtr+qX*qD+qD
        jmz.f   bBoot           , <qTab2

qDec    mul.b   *2,             qPtr
qSkip   sne     <qTab1,         @qPtr
        add.b   qTab2,          qPtr
qLoop   mov     qBomb,          @qPtr
qPtr    mov     qBomb,          }qX
        sub     #qStep,         @qSkip
        djn     qLoop,          #qTime
        djn.f   bBoot,          #0

        spl     1,              qC
qTab2:  spl     1,              qD
        spl     1,              qE

;--
    end qGo