;@ map s 5 AMPEXP CLA001 AMPEXP
;@ map d BUT002
;@ map s 5 AMPEXP CLA001 AMPEXP
;@ map d BUT002
;@ map d BUT003

;@ ins k k k
;@ outs k
opcode Mix21A, 0, kkkkkkkkk
  kLev1,kOn1, kLev2,kOn2, kExpLin, kin1,kin2, kchain, kout  xin
  kIn1 zkr kin1
  kIn2 zkr kin2
  kChain zkr kchain

  if kExpLin == 1 goto Out
    kLev1 table kLev1, 100, 1
    kLev2 table kLev2, 100, 1
  Out:
  kOut = kChain + kIn1 * kLev1 * kOn1 + kIn2 * kLev2 * kOn2
  zkw kOut, kout
endop

;@ ins a a a
;@ outs a
opcode Mix21A, 0, kkkkkkkkk
  kLev1,kOn1, kLev2,kOn2, kExpLin, kin1,kin2, kchain, kout  xin
  aIn1 zar kin1
  aIn2 zar kin2
  aChain zar kchain

  if kExpLin == 1 goto Out
    kLev1 table kLev1, 100, 1
    kLev2 table kLev2, 100, 1
  Out:
  aOut = aChain + aIn1 * kLev1 * kOn1 + aIn2 * kLev2 * kOn2
  zaw aOut, kout
endop
