Initializes four memory addresses, provided for storing initial 4x4 blake3
state matrix ( i.e. 16 elements each of 32 -bit ), for computing blake3 2-to-1 hash

Expected stack state:

[state_0_3_addr, state_4_7_addr, state_8_11_addr, state_12_15_addr]

Note, state_`i`_`j`_addr -> absolute address of {state[i], state[i+1], state[i+2], state[i+3]} in memory | j = i+3

Final stack state:

[...]

Initialized stack state is written back to provided memory addresses.

Functionally this routine is equivalent to https://github.com/itzmeanjan/blake3/blob/f07d32e/include/blake3.hpp#!L1709-L1713
## std::crypto::hashes::blake3 | Procedure | Description | | ----------- | ------------- | | hash_2to1 | Blake3 2-to-1 hash function, which takes 64 -bytes input and produces 32 -bytes output digest

Expected stack state:

[msg0, msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8, msg9, msg10, msg11, msg12, msg13, msg14, msg15, ...]

msg`i` -> 32 -bit message word \| i ∈ [0, 16)

Final stack state:

[dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

dig`i` -> 32 -bit digest word \| i ∈ [0, 8)
| | hash_1to1 | Blake3 1-to-1 hash function, which takes 32 -bytes input and produces 32 -bytes output digest

Expected stack state:

[msg0, msg1, msg2, msg3, msg4, msg5, msg6, msg7, ...]

msg`i` -> 32 -bit message word \| i ∈ [0, 8)

Final stack state:

[dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

dig`i` -> 32 -bit digest word \| i ∈ [0, 8)
|