decimal h# 5f9e42a1 constant rcon : fhilo (s a -- a' ) dup 16 >> swap h# ffff and * rcon + ; variable s_t h# 12345678 fhilo fhilo s_t ! variable s_t-1 h# 95f05723 fhilo fhilo s_t-1 ! : rand (s -- n_16 ) s_t @ fhilo s_t-1 @ xor dup s_t @ swap s_t ! s_t-1 ! ; : reverse-time (s -- ) rand drop rand drop s_t @ s_t-1 @ s_t ! s_t-1 ! ;