|0100
    ;data1a hash emit/long #0a18 DEO
    ;data1b hash emit/long #0a18 DEOk DEO

    ;data2a hash emit/long #0a18 DEO
    ;data2b hash emit/long #0a18 DEOk DEO

    ;data3a hash emit/long #0a18 DEO
    ;data3b hash emit/long #0a18 DEOk DEO

    ;data4a hash emit/long #0a18 DEO
    ;data4b hash emit/long #0a18 DEOk DEO

    #010f DEO BRK

( hash function: run two 16-bit LCGs in parallel )
( )
( upper fn: x1=x0*9283+cc ; a is #2443 x0 is #1234 )
( lower fn: y1=y0*4493+cc ; b is #118d y1 is #abcd )
@hash ( s* -> x* y* )
    STH2  LIT2  2443 LIT2  1234 ( a* x0* [s*] )
    STH2r LIT2r 118d LIT2r abcd ( a* x0* s* [b* y0*] )
    &loop                       ( a* x* s* [b* y*] )
        LDAk DUP ?&ok           ( a* x* s* c^ [b* y*] )
        POP POP2 NIP2           ( x* [b* y*] )
        STH2r POP2r JMP2r       ( x* y* )
    &ok                         ( a* x* s* c^ [b* y*] )
        DUP STH2 STH2           ( a* x* [b* y* cc* s*] )
        OVR2 MUL2 OVR2r         ( a* ax* [b* y* cc* s* cc*] )
        STH2r ADD2 STH2r STH2r  ( a* ax+cc* s* cc* [b* y*] )
        OVR2r MUL2r STH2 ADD2r  ( a* ax+cc* s* [b* by+cc*] )
        INC2 !&loop             ( a* ax+cc s+1* [b* by+cc*] )

@emit ( n* -> )
    &long SWP2 emit/short
    &short SWP emit/byte
    &byte DUP #04 SFT emit/char
    &char #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r

@data1a "abc 00
@data1b "ebc 00

@data2a "wigjewigjewigjewigjewigjewigjcncmnbegejgiwejgieg 00
@data2b "wigjewigjewigjewigjewigjewigjcmcmnbegejgiwejgieg 00

@data3a "zzjiewgew 00
@data3b "zzjiewge 00

@data4a "this 20 "is 20 "a 20 "test 00
@data4b "this 20 "is 20 "a 20 "test. 00